准备工做: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...等等, 总之碰见什么问题就解决什么问题, 若是没有问
题,恭喜你了。
记录分析一些奇怪的知识。