expdp 只导出dblink

前端之家收集整理的这篇文章主要介绍了expdp 只导出dblink前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

最近生产数据库修改生产用户的密码,由于用户密码修改,各个库之间创建的dblink就失效了,需要重建。上生产一看dblink还真不少,而且谁建的都有,改起来比较费劲。于是想到可以使用expdp的方式导出所有的dblink,即可获取dblink的创建语句,然后修改原密码再在库上创建就可以了。

生产环境中的库有两个版本10.2.0.4和11.2.0.3下面分别在10g和11g上做测试

测试10g:

  1. sql>select*fromv$version;
  2.  
  3. BANNER
  4. ----------------------------------------------------------------
  5. OracleDatabase10gEnterpriseEditionRelease10.2.0.4.0-64bi
  6. PL/sqlRelease10.2.0.4.0-Production
  7. CORE 10.2.0.4.0 Production
  8. TNSforLinux:Version10.2.0.4.0-Production
  9. NLSRTLVersion10.2.0.4.0-Production

创建dblink到11g数据库

  1. sql>createpublicdatabaselinklink_11g
  2. connecttosystemidentifiedby"123456"
  3. using'(DESCRIPTION=
  4. (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.2)(PORT=1521))
  5. (CONNECT_DATA=
  6. (SERVER=DEDICATED)
  7. (SERVICE_NAME=orcl)
  8. )
  9. )';
  10.  
  11. Databaselinkcreated.
  12. sql>select*fromdual@link_11g;
  13.  
  14. D
  15. -
  16. X
  17.  
  18. colownerfora30
  19. colusernamefora30
  20. coldb_linkfora30
  21. colhostfora50
  22. setlinesize200
  23. setpagesize999
  24. selectOWNER,DB_LINK,USERNAME,HOSTfromdba_db_links;
  25. OWNER DB_LINK USERNAME HOST
  26. --------------------------------------------------------------------------------------------------------------------------------------------
  27. PUBLIC LINK_11G SYSTEM (DESCRIPTION=
  28. (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.
  29. 2)(PORT=1521))
  30. (CONNECT_DATA=
  31. (SERVER=DEDICATED)
  32. (SERVICE_NAME=orcl)
  33. )
  34. )

使用expdp导出dblink

  1. [oracle@rhel5~]$expdpsystem/123456directory=dumpdumpfile=dblink.dmpfull=yinclude=db_link
  2. Export:Release10.2.0.4.0-64bitProductiononThursday,10November,201615:26:02
  3. Copyright(c)2003,2007,Oracle.Allrightsreserved.
  4. Connectedto:OracleDatabase10gEnterpriseEditionRelease10.2.0.4.0-64bitProduction
  5. WiththePartitioning,OLAP,DataMiningandRealApplicationTestingoptions
  6. FLASHBACKautomaticallyenabledtopreservedatabaseintegrity.
  7. Starting"SYSTEM"."SYS_EXPORT_FULL_01":system/********directory=dumpdumpfile=dblink.dmpfull=yinclude=db_link
  8. EstimateinprogressusingBLOCKSmethod...
  9. ProcessingobjecttypeDATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
  10. TotalestimationusingBLOCKSmethod:0KB
  11. ProcessingobjecttypeDATABASE_EXPORT/SCHEMA/DB_LINK
  12. Mastertable"SYSTEM"."SYS_EXPORT_FULL_01"successfullyloaded/unloaded
  13. ******************************************************************************
  14. DumpfilesetforSYSTEM.SYS_EXPORT_FULL_01is:
  15. /home/oracle/dblink.dmp
  16. Job"SYSTEM"."SYS_EXPORT_FULL_01"successfullycompletedat15:26:13

使用impdp查看导出的dblink的创建语句

  1. [oracle@rhel5~]$impdpsystem/123456directory=dumpdumpfile=dblink.dmpsqlfile=dblink.sql
  2.  
  3. Import:Release10.2.0.4.0-64bitProductiononThursday,201615:28:31
  4.  
  5. Copyright(c)2003,Oracle.Allrightsreserved.
  6.  
  7. Connectedto:OracleDatabase10gEnterpriseEditionRelease10.2.0.4.0-64bitProduction
  8. WiththePartitioning,DataMiningandRealApplicationTestingoptions
  9. Mastertable"SYSTEM"."SYS_sql_FILE_FULL_01"successfullyloaded/unloaded
  10. Starting"SYSTEM"."SYS_sql_FILE_FULL_01":system/********directory=dumpdumpfile=dblink.dmpsqlfile=dblink.sql
  11. ProcessingobjecttypeDATABASE_EXPORT/SCHEMA/DB_LINK
  12. Job"SYSTEM"."SYS_sql_FILE_FULL_01"successfullycompletedat15:28:33
  13.  
  14. [oracle@rhel5~]$cat/home/oracle/dblink.sql
  15. --CONNECTSYSTEM
  16. --newobjecttypepathis:DATABASE_EXPORT/SCHEMA/DB_LINK
  17. CREATEPUBLICDATABASELINK"LINK_11G"
  18. CONNECTTO"SYSTEM"IDENTIFIEDBYVALUES'0588B5151FD4089DC7B87F64727E740D26'
  19. USING'(DESCRIPTION=
  20. (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.2)(PORT=1521))
  21. (CONNECT_DATA=
  22. (SERVER=DEDICATED)
  23. (SERVICE_NAME=orcl)
  24. )
  25. )';

测试11g

  1. sys@ORCL>select*fromv$version;
  2.  
  3. BANNER
  4. --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  5. OracleDatabase11gEnterpriseEditionRelease11.2.0.4.0-64bitProduction
  6. PL/sqlRelease11.2.0.4.0-Production
  7. CORE 11.2.0.4.0 Production
  8. TNSforLinux:Version11.2.0.4.0-Production
  9. NLSRTLVersion11.2.0.4.0-Production

创建dblink

  1. createpublicdatabaselinklink_10g
  2. connecttosystemidentifiedby"123456"
  3. using'(DESCRIPTION=
  4. (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.11)(PORT=1521))
  5. (CONNECT_DATA=
  6. (SERVER=DEDICATED)
  7. (SERVICE_NAME=mydb)
  8. )
  9. )';
  10.  
  11. Databaselinkcreated.
  12.  
  13. sys@ORCL>select*fromdual@link_10g;
  14.  
  15. DUM
  16. ---
  17. X
  18.  
  19. sys@ORCL>selectOWNER,HOSTfromdba_db_links;
  20.  
  21. OWNER DB_LINK USERNAME HOST
  22. --------------------------------------------------------------------------------------------------------------------------------------------
  23. PUBLIC LINK_A SCOTT orcl
  24. PUBLIC LINK_10G SYSTEM (DESCRIPTION=
  25. (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.
  26. 11)(PORT=1521))
  27. (CONNECT_DATA=
  28. (SERVER=DEDICATED)
  29. (SERVICE_NAME=mydb)
  30. )
  31. )

expdp导出dblink

  1. [oracle@rhel6~]$expdpsystem/123456directory=dumpdumpfile=dblink.dmpfull=yinclude=db_link
  2.  
  3. Export:Release11.2.0.4.0-ProductiononThuNov1015:34:242016
  4.  
  5. Copyright(c)1982,2011,Oracleand/oritsaffiliates.Allrightsreserved.
  6.  
  7. Connectedto:OracleDatabase11gEnterpriseEditionRelease11.2.0.4.0-64bitProduction
  8. WiththePartitioning,DataMiningandRealApplicationTestingoptions
  9. FLASHBACKautomaticallyenabledtopreservedatabaseintegrity.
  10. Starting"SYSTEM"."SYS_EXPORT_FULL_01":system/********directory=dumpdumpfile=dblink.dmpfull=yinclude=db_link
  11. EstimateinprogressusingBLOCKSmethod...
  12. TotalestimationusingBLOCKSmethod:0KB
  13. ProcessingobjecttypeDATABASE_EXPORT/SCHEMA/DB_LINK
  14. Mastertable"SYSTEM"."SYS_EXPORT_FULL_01"successfullyloaded/unloaded
  15. ******************************************************************************
  16. DumpfilesetforSYSTEM.SYS_EXPORT_FULL_01is:
  17. /home/oracle/dblink.dmp
  18. Job"SYSTEM"."SYS_EXPORT_FULL_01"successfullycompletedatThuNov1015:34:422016elapsed000:00:15

使用impdp查看导出的dblink的创建语句

  1. [oracle@rhel6~]$impdpsystem/123456directory=dumpdumpfile=dblink.dmpsqlfile=dblink.sql
  2.  
  3. Import:Release11.2.0.4.0-ProductiononThuNov1015:35:382016
  4.  
  5. Copyright(c)1982,DataMiningandRealApplicationTestingoptions
  6. Mastertable"SYSTEM"."SYS_sql_FILE_FULL_01"successfullyloaded/unloaded
  7. Starting"SYSTEM"."SYS_sql_FILE_FULL_01":system/********directory=dumpdumpfile=dblink.dmpsqlfile=dblink.sql
  8. ProcessingobjecttypeDATABASE_EXPORT/SCHEMA/DB_LINK
  9. Job"SYSTEM"."SYS_sql_FILE_FULL_01"successfullycompletedatThuNov1015:35:402016elapsed000:00:01
  10.  
  11. [oracle@rhel6~]$cat/home/oracle/dblink.sql
  12. --CONNECTSYSTEM
  13. ALTERSESSIONSETEVENTS'10150TRACENAMECONTEXTFOREVER,LEVEL1';
  14. ALTERSESSIONSETEVENTS'10904TRACENAMECONTEXTFOREVER,LEVEL1';
  15. ALTERSESSIONSETEVENTS'25475TRACENAMECONTEXTFOREVER,LEVEL1';
  16. ALTERSESSIONSETEVENTS'10407TRACENAMECONTEXTFOREVER,LEVEL1';
  17. ALTERSESSIONSETEVENTS'10851TRACENAMECONTEXTFOREVER,LEVEL1';
  18. ALTERSESSIONSETEVENTS'22830TRACENAMECONTEXTFOREVER,LEVEL192';
  19. --newobjecttypepath:DATABASE_EXPORT/SCHEMA/DB_LINK
  20. CREATEPUBLICDATABASELINK"LINK_10G"
  21. CONNECTTO"SYSTEM"IDENTIFIEDBYVALUES':1'
  22. USING'(DESCRIPTION=
  23. (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.11)(PORT=1521))
  24. (CONNECT_DATA=
  25. (SERVER=DEDICATED)
  26. (SERVICE_NAME=mydb)
  27. )
  28. )';
  29. CREATEPUBLICDATABASELINK"LINK_A"
  30. CONNECTTO"SCOTT"IDENTIFIEDBYVALUES':1'
  31. USING'orcl';

使用上面的方式可以查看dblink的创建语句。

从上面dblink创建语句的输出结果也可以看出10g导出的dblink创建语句可以看到密码的密文,而11g里就看不到了。


官方文档:http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_5005.htm#i2061505

猜你在找的Oracle相关文章