还原Oracle数据库dmp文件(Win系统)

准备工做:sql

    一、核对数据字符集:  oracle

        通常Oracle在安装的时候默认是选择ZHS16GBK,若有改动,使用 select userenv('language') from dual;语句查看使用的字符集,确保两边的字符集一致。app

     不一致的状况下,在导入数据时,可能回到字段长度变长致使数据写入失败,甚至乱码等状况。ide

 

    二、建立表空间:工具

       建立表空间时,能够根据须要导入的文件大小去建立spa

     方法1:直接给到导入数据量大小的表空间(个人将近60个G)日志

     语法:create tablespace 表空间名 datafile '数据文件名' size 表空间大小cmd

     例子:create tablespace  ATMCS_01  datafile 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\ATMCS_01.bdf' size 30000m;string

     补充说明:表空间大小是有上限的,每一个文件不大于32GB(精确的值为32768M),因此当须要导入的数据大于最大表空间值时,咱们能够利用语句:it

          alter tablespace ATMCS_01 add datafile 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\ATMCS_02.bdf' size 30000m;进行追加表空间大小

          从上面语句不难发现,表空间明要求一致,文件名是不一样名的,追加的大小根据自身需求定。若是还不够,那就再加。

     方法2:自增加表空间

     语法:create tablespace 表空间名 datafile '数据文件名' size 初始大小  autoextend on next 每次扩展大小 maxsize unlimited

     例子:create tablespace ATMCS_01 datafile 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\ATMCS_02.bdf'  size 200m  autoextend on next 10m  maxsize unlimited

     补充说明:从语句上看是最大不设限,其实仍是不大于32GB, 本人以前用自增加表空间发生过表空间不足,因此后来索性开到最大。

 

    三、建立用户指定表空间:

      语法:create user 用户名  identified by 密码  default tablespace 表空间名;

      例子:create user TEST  identified by Admin123456 default tablespace ATMCS_01;

    

    4:用户受权:

       语法: grant connect,resource,dba to 用户名;

       例子:  grant connect,resource,dba to TEST  ;

开始导入:

    导入方法1:

      win+R 直接唤醒cmd 

      语法:imp  用户名/密码 @服务名  file=‘Dmp文件地址’ log=‘导入日志存放地址’ full=y ignore=y

      例子:imp TEST/Admin123456@orcl file="D:\data\oracle\2020-11-27.dmp"  log="D:\data\oracle\test.log" full =y ignore=y;

    导入方法2:

      利用plsql ,Tools(工具)>Import tables(导入表)>选择可执行文件>右下角选择导入文件>点击import(导入)

      选择可执行文件时,可执行文件就在:安装盘:\app\Administrator\product\11.2.0\dbhome_1\bin\imp.exe 中,个人

      就在D:\app\Administrator\product\11.2.0\dbhome_1\bin\imp.exe

     进入导入表时,按默认选择便可,除非有本身特殊要求,好比再也不须要约束关系,取消勾选便可

    补充说明:两种方法原理一致,plsql相对稳定一下,会去掉一些权限方面的问题,更多的状况需各位本身去尝试了。无论以上说得是否全都正确,记得回来评论,分享给本身在导入

     oracle数据时的心得或者问题。

导入结束:

    在导入过程,还会遇到各类问题,好比 IMP-00017: 因为 ORACLE 错误 2153, IMP-00017: 因为 ORACLE 错误 959...等等, 总之碰见什么问题就解决什么问题, 若是没有问

               题,恭喜你了。

 

  

                                                                 记录分析一些奇怪的知识。

相关文章
相关标签/搜索