准备工作:
1、核对数据字符集:
一般Oracle在安装的时候默认是选择ZHS16GBK,如有改动,使用 select userenv('language') from dual;语句查看使用的字符集,确保两边的字符集一致。
不一致的情况下,在导入数据时,可能回到字段长度变长导致数据写入失败,甚至乱码等情况。
2、创建表空间:
创建表空间时,可以根据需要导入的文件大小去创建
方法1:直接给到导入数据量大小的表空间(我的将近60个G)
语法:create tablespace 表空间名 datafile '数据文件名' size 表空间大小
例子:create tablespace ATMCS_01 datafile 'E:APPADMINISTRATORORADATAORCLATMCS_01.bdf' size 30000m;
补充说明:表空间大小是有上限的,每个文件不大于32GB(精确的值为32768M),所以当需要导入的数据大于最大表空间值时,我们可以利用语句:
alter tablespace ATMCS_01 add datafile 'E:APPADMINISTRATORORADATAORCLATMCS_02.bdf' size 30000m;进行追加表空间大小
从上面语句不难发现,表空间明要求一致,文件名是不同名的,追加的大小根据自身需求定。如果还不够,那就再加。
方法2:自增长表空间
语法:create tablespace 表空间名 datafile '数据文件名' size 初始大小 autoextend on next 每次扩展大小 maxsize unlimited
例子:create tablespace ATMCS_01 datafile 'E:APPADMINISTRATORORADATAORCLATMCS_02.bdf' size 200m autoextend on next 10m maxsize unlimited
补充说明:从语句上看是最大不设限,其实还是不大于32GB, 本人之前用自增长表空间发生过表空间不足,所以后来索性开到最大。
3、创建用户指定表空间:
语法: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:dataoracle2020-11-27.dmp" log="D:dataoracletest.log" full =y ignore=y;
导入方法2:
利用plsql ,Tools(工具)>Import tables(导入表)>选择可执行文件>右下角选择导入文件>点击import(导入)
选择可执行文件时,可执行文件就在:安装盘:appAdministratorproduct11.2.0dbhome_1binimp.exe 中,我的
就在D:appAdministratorproduct11.2.0dbhome_1binimp.exe
进入导入表时,按默认选择即可,除非有自己特殊要求,比如不再需要约束关系,取消勾选即可
补充说明:两种方法原理一致,plsql相对稳定一下,会去掉一些权限方面的问题,更多的情况需各位自己去尝试了。不管以上说得是否全都正确,记得回来评论,分享给自己在导入
oracle数据时的心得或者问题。
导入结束:
在导入过程,还会遇到各种问题,比如 IMP-00017: 由于 ORACLE 错误 2153, IMP-00017: 由于 ORACLE 错误 959...等等, 总之遇见什么问题就解决什么问题, 如果没有问
题,恭喜你了。
记录分析一些奇怪的知识。
文章来源: 博客园
- 还没有人评论,欢迎说说您的想法!