失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 黑窗口方式 使用命令行导入导出Oracle

黑窗口方式 使用命令行导入导出Oracle

时间:2019-04-09 17:30:16

相关推荐

黑窗口方式 使用命令行导入导出Oracle

目录

顺子导前须知Oracle数据库原理为什么导入Oracle时,会出现表空间不存在错误Oracle导入导出数据库时,黑窗口一闪而过Oracle导出报错: unknown command beginning "exp SCOTT/..." - rest of line ignored.命令行简单示例导入命令导出命令导入参数(按重要性排序)导出参数(按使用频率排序)owner参数测试第一组,测试加不加owner参数的区别。第二组,测试system用户导出的scott用户的数据,与scott用户本身导出的数据是否一致。第三组,测试owner参数使用限制测试结果full参数测试第一组,测试加不加full参数的效果。第二组,测试不同用户使用full参数,导出数据是否一致。第三组,测试full参数使用限制测试结果

顺子

Oracle的导入导出,还是有点麻烦的。

它不像MySQL,导入导出完事。

MySQL就算版本不一致,只要版本相差别太大,导入导出,就没毛病,也不存在什么用户啊,权限啊,表空间啊之类的报错。

MySQL常见的导入导出报错,是数据库性能不够用,可以瞅瞅我之前的文章,有提高性能的介绍。

导前须知

Oracle数据库原理

Oracle削弱了库的概念,增强了表的概念。

我们使用MySQL导出时,指定某个数据库导出,但是Oracle呢。

指定导出用户,而不是指定导出数据库,可以理解为一个用户,一个数据库。

在Oracle中,默认,只有一个大的数据库实例orcl,在这张大饼上,切分成了一块又一块的表空间。

为什么导入Oracle时,会出现表空间不存在错误

在别的地方的Oracle,拿到你本地导入,却导不进去,报表空间不存在。

因为别人的Oracle,建表时,指定了表空间为abc,就是说在别人的物理机上,在别人的数据库实例中,有一块区域命名为abc,a表,b表,c表存在于这个表空间中。

到你的数据库实例这里,没有abc表空间,你让这几张表放哪去,随缘。

比如本地,你将scott用户的表导进jack用户的表就不会报这个错。

因为scott用户与jack用户在同一个物理机上,共享所有的表空间。

Oracle导入导出数据库时,黑窗口一闪而过

增加环境变量就可以解决。

上图:

Oracle导出报错: unknown command beginning “exp SCOTT/…” - rest of line ignored.

/numbbe/article/details/110841172

命令行简单示例

导入命令

imp jack/jack@127.0.0.1:1521/orcl file=C:\Users\admin\Desktop\scott.dmp

导出命令

exp scott/tiger@127.0.0.1:1521/orcl file=C:\Users\admin\Desktop\scott.dmp

导入参数(按重要性排序)

file = *.dmp

导入文件路径。

ignore = y

忽略创建错误,默认为n,需指定y。

full = y

导入整个文件。

grants = y

导入权限。

log = *.log

屏幕输出的日志文件。

fromuser

从哪里人的表中来。

touser

到哪里人的表中去。

indexes = y

导入索引。

tables

表名列表。

buffer = 65536

数据缓冲区大小。

导出参数(按使用频率排序)

full = y

导出整个文件,默认为n。

owner = scott

导出数据。

grants = y

是否导出权限,默认Y。

file = *.dmp

导出文件名。

log = *.log

导出日志 。

rows = y

具体行。

compress = n

是否压缩导出的文件。

buffer = 65536

数据缓冲区大小。

tables

导出具体的表。

indexes = y

是否导出索引。

triggers=y

是否导出触发器。

owner参数测试

第一组,测试加不加owner参数的区别。

导出system用户数据(不加owner参数)

exp system/orcl996 file='C:\Users\admin\Desktop\owner01.dmp'

导出system用户数据(加owner参数)

exp system/orcl996 file='C:\Users\admin\Desktop\owner02.dmp' owner=system

第二组,测试system用户导出的scott用户的数据,与scott用户本身导出的数据是否一致。

system导出scott用户数据(加owner参数)

exp system/orcl996 file='C:\Users\admin\Desktop\owner03.dmp' owner=scott

scott用户导出scott用户数据(加owner参数)

exp scott/tiger file='C:\Users\admin\Desktop\owner04.dmp'

第三组,测试owner参数使用限制

lucy具有dba权限,可以导出。

exp lucy/lucy file='C:\Users\admin\Desktop\owner05.dmp' owner=scott

收回lucy的dba权限,命令执行失败。

exp lucy/lucy file='C:\Users\admin\Desktop\owner05.dmp' owner=scott

测试结果

不加owner参数,导出的就是登陆用户的。

加上owner参数,指定是某个用户,导出的就是某个用户的。

注意:非dba不可以导出其他用户数据。

full参数测试

第一组,测试加不加full参数的效果。

导出system用户数据(不加full参数)

exp system/orcl996 file='C:\Users\admin\Desktop\full01.dmp'

system导出全库数据(加full参数)

exp system/orcl996 file='C:\Users\admin\Desktop\full02.dmp' full=y

第二组,测试不同用户使用full参数,导出数据是否一致。

jack导出全库数据(加full参数)

exp jack/jack file='C:\Users\admin\Desktop\full03.dmp' full=y

第三组,测试full参数使用限制

scott整库导出数据库

exp scott/tiger file='C:\Users\admin\Desktop\full04.dmp' full=y

测试结果

不加full=y,system用户导出的是自己的数据。

加上full=y就是全库导出,不管是system用户还是jack用户,导出的dmp文件一模一样,都是orcl整个数据库实例。

如果觉得《黑窗口方式 使用命令行导入导出Oracle》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。