oracle 导入dmp文件的正确姿势

文章目录

    • 前言
    • 导入dmp文件的正确形式
    • 出现的问题和解决方式
      • ORACLE导入遇到ORACLE错误959解决方法
      • IMP-00017: 由于 ORACLE 错误 6550解决办法
      • 关于表空间的
      • 如果我们只想导入 dmp 文件中的某张表怎么办?
      • PL/SQL developer 11.0注册码

前言

最近需要导入一个dmp文件到oracle数据库,了解到不少的技巧。

导入dmp文件的正确形式

假设要导入的数据库是一个新的库,我们要进行三步
新建表空间,新建用户,然后倒入dmp文件
以下操作,都使用了 plsql development 来操作。当然可以使用cmd通过命令来操作。

  • (1)新建表空间(如果已经有预留的表空间可以直接使用,不用新建。(最好新建一个))
    首先,进入dba 用户,我这里使用sys 这个账户,密码输入正确的即可。选为dba用户登陆,连接地址具体看实际oracle服务器地址和实例。
    oracle 导入dmp文件的正确姿势_第1张图片

    新建一个命令窗口,点 文件-》新建-》命令窗口
    oracle 导入dmp文件的正确姿势_第2张图片
    输入一下命令,来创建表空间

--创建永久表空间
create tablespace TSP_INFECT                                 --表空间名称
datafile 'D:\app\LK\oradata\orcl\TSP_INFECT.DBF'    --文件路径及文件名
size 500M                                                                     --表空间大小
AUTOEXTEND ON NEXT 50M                                    --每次自动扩展50M
;

这里注意,创建的表空间名称最好跟导入的 dmp 文件表空间一致。
否则可能会报 IMP-00003: 遇到 ORACLE 错误 959ORA-00959: 表空间 ‘XXXXXXXXXXX’ 不存在。 解决方法在下面。
复制时,记得注意改表空间名称和存储位置
如果创建完成会提示,在plsql development 中可以看到(记得刷新)
oracle 导入dmp文件的正确姿势_第3张图片

  • (2)新建用户
    找到 Users ,我们新建一个
    oracle 导入dmp文件的正确姿势_第4张图片
    在这里插入图片描述
    根据你需要的配置,名称就是连接oracle 的用户名,把默认的表空间选择为 刚才创建的表空间
    oracle 导入dmp文件的正确姿势_第5张图片
    为了让这个用户用着方便,直接把角色权限设置成 dba
    oracle 导入dmp文件的正确姿势_第6张图片
    配置好,应用即可。
    使用我们刚才创建的用户,重新登陆oracle数据库
  • (3)导入dmp 文件

在这里插入图片描述
oracle 导入dmp文件的正确姿势_第7张图片
配置下我们的导入属性
oracle 导入dmp文件的正确姿势_第8张图片
选择导入的dmp 文件,点击导入即可
在这里插入图片描述
注意: 缓存区给大点,要不然导入大的库,真的很慢
统计,选择 “无” ,就不会导入数据库统计信息。
等待cmd窗口,可以看到导入过程。

出现的问题和解决方式

ORACLE导入遇到ORACLE错误959解决方法

参考网址:https://blog.csdn.net/qq_27739989/article/details/59108259
参考网址:https://blog.csdn.net/m0_37564426/article/details/81130877
提示的内容就是
IMP-00003: 遇到 ORACLE 错误 959ORA-00959: 表空间 ‘XXXXXXXXXXX’ 不存在。
所以在新建表空间的名称,可以跟 dmp 文件中的一致。
因为这个,坑的我又导了一遍数据库。

IMP-00017: 由于 ORACLE 错误 6550解决办法

参考网址:https://blog.csdn.net/qq_42909551/article/details/81985498
就是把导入时,统计设置为 none

关于表空间的

  • 我们创建的表空间叫什么名称,存储在什么位置,你可能想跟服务器中的其他表空间设置在一个位置。
    我们可以查询一下,根据之前的表空间名称
SELECT * FROM Dba_Data_Files ddf WHERE ddf.tablespace_name = 'TablespaceName';
--以上SQL代码可以查询出表空间的所在路径和表空间的其他信息
  • 创建表空间错误了,怎么删除
    参考网址:https://www.cnblogs.com/Alanf/p/9485550.html
--删除空的表空间,但是不包含物理文件
drop tablespace tablespace_name;
--删除非空表空间,但是不包含物理文件
drop tablespace tablespace_name including contents;
--删除空表空间,包含物理文件
drop tablespace tablespace_name including datafiles;
--删除非空表空间,包含物理文件
drop tablespace tablespace_name including contents and datafiles;
--如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTS
drop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;

如果我们只想导入 dmp 文件中的某张表怎么办?

使用命令可以直接设置需要导入那张表。

imp   name/psswd@orcl file=xxx.dmp log=load.log TABLES=table_name

oracle 导入dmp文件的正确姿势_第9张图片

PL/SQL developer 11.0注册码

PL/SQL developer 11.0注册码:
product key:lhsw85g33x4p7leqk63hy8q28ffxzzvbxl
serial No:193085
password:xs374ca

你可能感兴趣的:(oracle)