oracle19c不同数据库实例导出、导入的栗子

  • Post author:
  • Post category:其他


背景:oracle19c是19.3.0.0.0.0版本。远程的oracle数据导入到本地oracle19c,本地是window10—64—-专业版。远程是redhat7.6,oracle19c

废话不多说,开始。

先从远程导出dmp文件。

切换到oracle用户

su – oracle

导出命令(因为是工作开发环境,因此,笔记加密了,使用的朋友自己改名字即可)

注意:directory要提前创建这个目录,而且要注意授权,并且查询,确认创建成功

expdp 用户名/密码@远程数据库实例 directory=local_dmp dumpfile=****_rst_export_20220406.dmp logfile=expdp_****_rst_20220406.log content=all SCHEMAS=****_rst

命令运行成功,无问题。测试是一堆空表,数据也不多。但是导出还是很慢。

最终的日志输出:

****_RST.SYS_EXPORT_SCHEMA_02 的转储文件集为:

/home/oracle/local_dump/****_rst_export_20220406.dmp

通过xshell把远程的文件下载到本地

导入到本地的oracle数据库

window10 DOS窗口连接oracle数据库

命令:sqlplus 用户名/密码@//192.168.56.1:1521/orcl

查询directory

select * from dba_directories ;

quit;退出sqlplus

在dos窗口输入

创建对应的表空间和用户,和授权。略过,算了补上吧

dos窗口用system用户登录

sqlplus system/密码@//192.168.56.1:1521/数据库实例名(这里为什么精确到IP和端口号,懒得做解释,不懂的可以提问,可能我是小白,不知道有更好的解决办法吧)

创建表空间(名字自己定义,不要有中文,我没这个习惯)



create tablespace 表空间名 datafile ‘G:\*****\*****




.dbf’ size 500M autoextend on maxsize




1G




;



创建用户



create user 用户名




identified by 密码 default tablespace




上面的表空间名称




;



授权



grant connect,resource,imp_full_database,unlimited tablespace to 上面的用户名称




;



grant dba to 上面的用户名称




;



退出登录



quit;

dos窗口执行

导入命令:

impdp 用户名/密码@//192.168.56.1:1521/本地的数据库实例名称  table_exists_action=skip directory=文件名  dumpfile=需要导入的dum文件名称.dmp logfile=*****.log;

关于最后的;号问题。据说是不能有的,但是在window下执行成功了。但是确实有这个说法的,可能linux不会支持,为了规范可以去掉;

最后发现,不同的数据库实例名称是可以导入的

欢迎小伙伴更正指导,谢谢了!



版权声明:本文为weixin_44335230原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。