安装Oracle、Navacat连接Oracle、dmp文件导入Oracle数据库、Oracle数据库导出为CSV等文件全套教程!
(1)获得Oracle 11g、Navacat 16及其他小工具下载链接(2)解决Oracle安装过程出现的:`未找到wfmlrsvcapp.ear`(3)解决连接Oracle时出现的:`ORA-12541:TNS:无监听程序`(4)解决数据入库时出现的:`ORA-39143:转储文件“**”可能是原始的导出转储文件`、`IMP-00010:不是有效的导出文件,标头验证失败`、`ORA-01031
看完这篇文章可以解决以下几个问题:
(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.zip和win64_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_home1TNSListener和OracleServiceORCL然后手动启动,启动后再按照前面的方法在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导出

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


所有评论(0)