Oracle12C Linux环境下导入导出DMP数据库
Oracle12C
#第一步:创建数据库不要勾选容器否则用户名前面要带C##
#第二步:进入SQLPLUS创建表空间,表空间名要和DBF源中的表空间名保持一致
SQL> CREATE TABLESPACE OPPO12C_0627 LOGGING DATAFILE '/var/oracle/app/oradata/shrdb/orcl/OPPO12C_0628.DBF' SIZE 2048M AUTOEXTEND ON NEXT 64M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;
#第三步:创建用户并指定表空间,用户名也要与DBF源中的用户名保持一致
SQL> Create USER SHR861DEMO identified by SHR861DEMO default tablespace OPPO12C_0627;
#第四步:给用户授权
SQL> grant connect,resource,dba to SHR861DEMO;
#第五步:创建DBF所在文件夹dpdata,注意oracle能有权限访问,供后续使用
SQL> create directory dpdata as '/var/oracle/oppodata';
#第六步:上一步的文件夹dpdata授权读写权限给用户
SQL> grant read,write on directory dpdata to SHR861DEMO;
#第七步:退出SQLPLUS,执行数据泵导入,
#remap_schema=【源文件用户名】:【现空间用户名】
#remap_schema: 当导出导入用户不一致使用,方法【remap_schema=导出用户:导入用户】
#remap_tablespace :当导出导入表空间不一致使用,方法【remap_tablespace=导出表空间:导入表空间】
impdp SHR861DEMO/SHR861DEMO@localhost:1521/orcl remap_schema=source_user_name:target_user_name remap_tablespace=source_tablespace_name:target_tablespace_name directory=dpdata dumpfile=DATA0627.DMP logfile=impdp_OPPODATA.log TRANSFORM=SEGMENT_ATTRIBUTES:N:INDEX TRANSFORM=SEGMENT_ATTRIBUTES:N:CONSTRAINT EXCLUDE=STATISTICS
##Oracle导出指定用户的数据,用exp导出的dmp文件只能用imp命令导入
exp SHR861DEMO/SHR861DEMO@localhost:1521/orcl.kingdee.gbl file=/var/oracle/8611ORA.dmp log=/var/oracle/test.log owner=SHR861DEMO
##查询已有directory_name与directory_path的关系
SQL> select * from all_directories;
##oracle11g导出数据然后导入19C之11g导出(注意带数据库版本号)
expdp SHR861DEMO/SHR861DEMO@localhost:1521/orcl directory=DMPDIRSHR dumpfile=SHR861DEMO.dmp logfile=dump120220325.log version=11.2.0.4.0 cluster=n;
##oracle11g导出数据然后导入19C之导入19C(IP可能要尝试localhost)
impdp user_name/password@127.0.0.1:1521/orcl remap_schema=source_user_name:target_user_name remap_tablespace=source_tablespace_name:target_tablespace_name directory=dpdata dumpfile=SHR861DEMO.dmp logfile=impdp_20220326.log full=y TRANSFORM=SEGMENT_ATTRIBUTES:N:INDEX TRANSFORM=SEGMENT_ATTRIBUTES:N:CONSTRAINT EXCLUDE=STATISTICS

浙公网安备 33010602011771号