看完这篇文章可以解决以下几个问题:
(1)获得Oracle 11g、Navacat 16及其他小工具下载链接
(2)解决Oracle安装过程出现的:未找到wfmlrsvcapp.ear
(3)解决连接Oracle时出现的:ORA-12541:TNS:无监听程序
(4)解决数据入库时出现的:ORA-39143:转储文件“**”可能是原始的导出转储文件IMP-00010:不是有效的导出文件,标头验证失败ORA-01031: insufficient privileges没有DBA权限表空间不足等问题
(5)通过Window Powershell将dmp文件中的某个表导入数据库
(6)用Pycharm Professional链接Oracle数据库
(7)查看Oracle表空间使用情况

1.安装Oracle

Oracle个人是可以免费使用的,无需破解!!!

19C、21C、23ai版(下载时,可能需要注册一个Oracle账号)下载地址:
https://www.oracle.com/cn/database/technologies/oracle-database-software-downloads.html
在这里插入图片描述
Oracle Database 11g Release 2 (11.2.0.1.0) for Microsoft Windows (64-bit)
  http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_database_1of2.zip
  http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_database_2of2.zip
  http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_client.zip
  http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_grid.zip
Oracle Database 11g Release 2 (11.2.0.1.0) for Microsoft Windows (32-bit)
  http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_database_1of2.zip
  http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_database_2of2.zip
  http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_client.zip

1.1 安装教程

按照这个教程安装即可:安装教程。注意,安装完成后,得到的账号名称及密码分别如下:

(1)普通用户:scott(密码: tiger,权限太少不建议使用,会提示ORA-01031: insufficient privileges)
(2)普通管理员:system(密码: oracle11g,权限太少不建议使用,会提示ORA-01031: insufficient privileges)
(3)超级管理员:sys(密码: oracle11g,建议使用这个)

1.2 Oracle 11g安装错误:未找到wfmlrsvcapp.ear

如果安装过程中出现这个错误:Oracle 11g安装错误:未找到wfmlrsvcapp.ear,可以按照这个教程解决。简单来说就是先中止程序运行,然后把这两个文件解压win64_11gR2_database_1of2.zipwin64_11gR2_database_2of2.zip,再运行Setup.exe文件即可。
在这里插入图片描述

1.3 卸载Oracle

感觉最靠谱的是这个:https://zhuanlan.zhihu.com/p/669935707

2.Navacat连接Oracle

2.1 新建连接

在这里插入图片描述

2.2 ORA-12541:TNS:无监听程序

如果出现:ORA-12541:TNS:无监听程序,在window11中找到服务:OracleOraDb11g_home1TNSListenerOracleServiceORCL然后手动启动,启动后再按照前面的方法在Navacat中连接Oracle。
在这里插入图片描述
或者,在Windows11的任务管理器【电脑状态栏→右键→任务管理器】中找到这个服务:
在这里插入图片描述

3.数据入库

两种方法:一种是直接在Navacat中操作,但通常会报错;一种是通过Windows Powershell导入。

3.1 Navacat导入

Step1:新建一个目录用,用来指示dmp文件在本地哪个文件夹【其他→目录→新建目录】
在这里插入图片描述
在这里插入图片描述
Step2:开始导入数据
在这里插入图片描述

这种方法操作一般会有如下报错信息:

3.2 Windows Powershell导入

在windows Powershell中输入这个命令(按win+R键,输入cmd):imp system/oracle11g@orcl file= "F:\**\门架流水\WXS240106.dmp" full=y ignore=y
如果只想导入dmp文件中的某个表格,可以这样设置导入命令:imp system/oracle11g@orcl file= "F:\**\门架流水\WX240103.dmp" tables= TEMPYX_GANTRY_SFR_202403 ignore=y
在这里插入图片描述

3.3 IMP-00058: 遇到 ORACLE 错误 28009

如果出现:IMP-00058: 遇到 ORACLE 错误 28009;ORA-28009: connection as SYS should be as SYSDBA or SYSOPER用户名:,在用户名输入:sys as sysdba,口令输入:oracle11g(注意这个不会在窗口显示出来,只管输入就行),具体如下:
在这里插入图片描述

3.4 IMP-00010: 不是有效的导出文件,标头验证失败

3.4.1 用AlxcTools

AlxcTools工具安装包及Netframework3.5: https://pan.baidu.com/s/10TdD2SOGt52uVmJyMLBy7Q?pwd=rceu 提取码: rceu
复制这段内容后打开百度网盘手机App,操作更方便哦
–来自百度网盘超级会员v5的分享

打开AlxcTools工具,然后将版本号修改为“11.02.00”,因为我安装的时oracle11g,所以应该改为“11.02.00”,若是其他版本的Oracle则需要改为其他的版本号。
在这里插入图片描述

3.4.2 用DmpVersionModifier

通过网盘分享的文件:DmpVersionModifier.exe 链接:
https://pan.baidu.com/s/1mykMm09yvcGrHHku0ryoGA?pwd=g1vz 提取码: g1vz
–来自百度网盘超级会员v5的分享

打开修改DMP版本号,然后将版本号修改为“11.02.00”
在这里插入图片描述
该软件还能提取DMP文件中包含哪些表,点“提取表名”即可:
在这里插入图片描述
此时即可导入数据了。
在这里插入图片描述

打开Navacat可以查看导入的数据表(我这是用SYSTEM账号登录,并导入的,所以在SYSTEM这里找导入的文件):
在这里插入图片描述

3.5 IMP-00013: 只有DBA才能导入由其他DBA导出的文件

在这里插入图片描述
这种情况一般是用scott账户登录了,换成system(或sys)账户即可。或在Navacat中赋予登录账号dba权限:
在这里插入图片描述

3.6 ORA-28009: connection as SYS should be as SYSDBA or SYSOPER

切换账号登录,比如system账号,换为sys账号

3.7 查看表空间占用情况

3.7.1 Navacat查看

在这里插入图片描述

3.7.2 SQL语句查看

SELECT
    a.tablespace_name,
    total,
    free,
    total - free AS used,
    substr( free / total * 100, 1, 5 ) AS "FREE%",
    substr( ( total - free ) / total * 100, 1, 5 ) AS "USED%" 
FROM
    (SELECT tablespace_name, sum( bytes ) / 1024 / 1024 AS total FROM dba_data_files GROUP BY tablespace_name) a,
    (SELECT tablespace_name, sum( bytes ) / 1024 / 1024 AS free FROM dba_free_space GROUP BY tablespace_name) b 
WHERE
    a.tablespace_name = b.tablespace_name 
ORDER BY
    a.tablespace_name;

在Navacat中运行代码(查询→新建查询→运行):
在这里插入图片描述

在Pycharm中运行代码:
在这里插入图片描述
在SQL Plus中运行代码(在Oracle安装目录中找到SQL Plus,然后按照提示登录账号):
在这里插入图片描述
在这里插入图片描述

3.8 解决表空间不足的问题

Oracle默认的表空间大小为32GB,如果导入的dmp文件大于这个值,可能会出现导入失败的问题,此时可以在Navacat中查看表空间的使用情况(这个地方可以设置表空间是否自动增长等),一般会出现“% 已使用”过大,若想解决表空间不足的问题可以有两种方法:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.8.1 仅导入dmp文件中的某个表

第一种方法:仅导入dmp文件中的某个表,可以通过Emeditor打开dmp文件,看看里面有哪些表。然后通过这个命令单独导入表:imp system/oracle11g@orcl file= "F:\河南\门架流水\WX240103.dmp" tables= TEMPYX_GANTRY_SFR_202403 ignore=y

3.8.2 新建一个默认的表空间

第二种方法:新建一个默认的表空间。然后将文件导入到新建的默认表空间中:切换默认表空间:alter user scott default tablespace GANTRYS03,然后再导入数据:imp system/oracle11g@orcl file= "F:\河南\门架流水\WX240103.dmp" tables= TEMPYX_GANTRY_SFR_202403 ignore=y

3.8.3 新建超大表空间

第三种方法:新建一个超大的表空间。由于表空间的DB_block_size是固定的8k,最大是32GB,如果导入的数据很大就需要重新创建一个表空间,并将DB_block_size设置大一些。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果提示这个错误:ORA-29339:表空间块大小16384与配置的块大小不匹配,则需要先点击“新建查询”,然后运行这个代码:

alter system set db_16k_cache_size = 16m;

在这里插入图片描述
设置好之后,再点之前的那个保存,应该就可以看到创建好的表空间了!需要注意的是,创建的表空间名称不是你设置的名称,你可以挨个双击表空间,看看是不是你创建的那个
在这里插入图片描述
创建表空间之后,需要将用户的默认表空间设置为刚刚创建的表空间,才能在导入数据的时候,将数据导入到刚刚创建的表空间。
在这里插入图片描述

4. Pycharm Professional连接Oracle

注意:我用的是Pycharm Professional 2024.3.4,其他版本在操作上可能会有所不同。此外,这里不涉及数据入库的操作,数据入库请参考【3. 数据入库】

4.1 找到“数据库”选项

试图→工具窗口→数据库
在这里插入图片描述
点击之后,将数据源选为Oracle
在这里插入图片描述

4.2 设置“常规”和“架构”两个选项

system账号登录,如果按照本教程的安装步骤,密码应该是oracle11g
在这里插入图片描述
在这里插入图片描述
在这里可以选择导入导出数据

4.3 找到导入的数据表,进行查看

在这里插入图片描述

4. DMP导出为CSV

4.1 Navacat导出

找到导入的文件,右键选择导出的格式:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后,根据上图的Export to找到导出的文件。

4.2 Pycharm导出

在这里插入图片描述

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐