expdp 只导出dblink

简介:

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

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

测试10g:

1
2
3
4
5
6
7
8
9
SQL>  select  from  v$version;
 
BANNER
----------------------------------------------------------------
Oracle  Database  10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE    10.2.0.4.0  Production
TNS  for  Linux: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production

创建dblink到11g数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
SQL>  create  public  database  link link_11g 
connect  to  system identified  by  "123456"
using  '(DESCRIPTION =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.2)(PORT = 1521))
     (CONNECT_DATA =
       (SERVER = DEDICATED)
       (SERVICE_NAME = orcl)
     )
   )' ;  
 
Database  link created.
SQL>  select  from  dual@link_11g;
 
D
-
X
 
col owner  for  a30
col username  for  a30
col db_link  for  a30
col host  for  a50
set  linesize 200
set  pagesize 999
select  OWNER,DB_LINK,USERNAME,HOST  from  dba_db_links;
OWNER                  DB_LINK                 USERNAME                 HOST
------------------------------ ------------------------------ ------------------------------ --------------------------------------------------
PUBLIC                  LINK_11G               SYSTEM               (DESCRIPTION =
                                                  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.
                                                  2)(PORT = 1521))
                                                  (CONNECT_DATA =
                                                    (SERVER = DEDICATED)
                                                    (SERVICE_NAME = orcl)
                                                  )
                                                    )

使用expdp导出dblink

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[oracle@rhel5 ~]$ expdp system/123456 directory=dump dumpfile=dblink.dmp full=y include=db_link
Export: Release 10.2.0.4.0 - 64bit Production on Thursday, 10 November, 2016 15:26:02
Copyright (c) 2003, 2007, Oracle.  All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
FLASHBACK automatically enabled to preserve database integrity.
Starting "SYSTEM"."SYS_EXPORT_FULL_01":  system/******** directory=dump dumpfile=dblink.dmp full=y include=db_link 
Estimate in progress using BLOCKS method...
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 0 KB
Processing object type DATABASE_EXPORT/SCHEMA/DB_LINK
Master table "SYSTEM"."SYS_EXPORT_FULL_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_FULL_01 is:
   /home/oracle/dblink.dmp
Job "SYSTEM"."SYS_EXPORT_FULL_01" successfully completed at 15:26:13

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[oracle@rhel5 ~]$ impdp system/123456 directory=dump dumpfile=dblink.dmp sqlfile=dblink.sql
 
Import: Release 10.2.0.4.0 - 64bit Production on Thursday, 10 November, 2016 15:28:31
 
Copyright (c) 2003, 2007, Oracle.  All rights reserved.
 
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Master table "SYSTEM"."SYS_SQL_FILE_FULL_01" successfully loaded/unloaded
Starting "SYSTEM"."SYS_SQL_FILE_FULL_01":  system/******** directory=dump dumpfile=dblink.dmp sqlfile=dblink.sql 
Processing object type DATABASE_EXPORT/SCHEMA/DB_LINK
Job "SYSTEM"."SYS_SQL_FILE_FULL_01" successfully completed at 15:28:33
 
[oracle@rhel5 ~]$ cat /home/oracle/dblink.sql
-- CONNECT SYSTEM
-- new object type path is: DATABASE_EXPORT/SCHEMA/DB_LINK
CREATE PUBLIC DATABASE LINK "LINK_11G"
    CONNECT TO "SYSTEM" IDENTIFIED BY VALUES '0588B5151FD4089DC7B87F64727E740D26'
    USING '(DESCRIPTION =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.2)(PORT = 1521))
     (CONNECT_DATA =
       (SERVER = DEDICATED)
       (SERVICE_NAME = orcl)
     )
   )';

测试11g

1
2
3
4
5
6
7
8
9
sys@ORCL> select  from  v$version;
 
BANNER
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Oracle  Database  11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE    11.2.0.4.0  Production
TNS  for  Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production

创建dblink

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
create  public  database  link link_10g 
connect  to  system identified  by  "123456"
using  '(DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.11)(PORT = 1521))
     (CONNECT_DATA =
       (SERVER = DEDICATED)
       (SERVICE_NAME = mydb)
     )
   )' ;
 
Database  link created.
 
sys@ORCL> select  from  dual@link_10g;
 
DUM
---
X
 
sys@ORCL> select  OWNER,DB_LINK,USERNAME,HOST  from  dba_db_links;
 
OWNER                  DB_LINK                 USERNAME                 HOST
------------------------------ ------------------------------ ------------------------------ --------------------------------------------------
PUBLIC                  LINK_A                  SCOTT                orcl
PUBLIC                  LINK_10G               SYSTEM               (DESCRIPTION =
                                                  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.
                                                  11)(PORT = 1521))
                                                  (CONNECT_DATA =
                                                    (SERVER = DEDICATED)
                                                    (SERVICE_NAME = mydb)
                                                  )
                                                    )

expdp导出dblink

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[oracle@rhel6 ~]$ expdp system/123456 directory=dump dumpfile=dblink.dmp full=y include=db_link
 
Export: Release 11.2.0.4.0 - Production on Thu Nov 10 15:34:24 2016
 
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
 
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
FLASHBACK automatically enabled to preserve database integrity.
Starting "SYSTEM"."SYS_EXPORT_FULL_01":  system/******** directory=dump dumpfile=dblink.dmp full=y include=db_link 
Estimate in progress using BLOCKS method...
Total estimation using BLOCKS method: 0 KB
Processing object type DATABASE_EXPORT/SCHEMA/DB_LINK
Master table "SYSTEM"."SYS_EXPORT_FULL_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_FULL_01 is:
   /home/oracle/dblink.dmp
Job "SYSTEM"."SYS_EXPORT_FULL_01" successfully completed at Thu Nov 10 15:34:42 2016 elapsed 0 00:00:15

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
[oracle@rhel6 ~]$ impdp system/123456 directory=dump dumpfile=dblink.dmp sqlfile=dblink.sql
 
Import: Release 11.2.0.4.0 - Production on Thu Nov 10 15:35:38 2016
 
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
 
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Master table "SYSTEM"."SYS_SQL_FILE_FULL_01" successfully loaded/unloaded
Starting "SYSTEM"."SYS_SQL_FILE_FULL_01":  system/******** directory=dump dumpfile=dblink.dmp sqlfile=dblink.sql 
Processing object type DATABASE_EXPORT/SCHEMA/DB_LINK
Job "SYSTEM"."SYS_SQL_FILE_FULL_01" successfully completed at Thu Nov 10 15:35:40 2016 elapsed 0 00:00:01
 
[oracle@rhel6 ~]$ cat /home/oracle/dblink.sql
-- CONNECT SYSTEM
ALTER SESSION SET EVENTS '10150 TRACE NAME CONTEXT FOREVER, LEVEL 1';
ALTER SESSION SET EVENTS '10904 TRACE NAME CONTEXT FOREVER, LEVEL 1';
ALTER SESSION SET EVENTS '25475 TRACE NAME CONTEXT FOREVER, LEVEL 1';
ALTER SESSION SET EVENTS '10407 TRACE NAME CONTEXT FOREVER, LEVEL 1';
ALTER SESSION SET EVENTS '10851 TRACE NAME CONTEXT FOREVER, LEVEL 1';
ALTER SESSION SET EVENTS '22830 TRACE NAME CONTEXT FOREVER, LEVEL 192 ';
-- new object type path: DATABASE_EXPORT/SCHEMA/DB_LINK
CREATE PUBLIC DATABASE LINK "LINK_10G"
    CONNECT TO "SYSTEM" IDENTIFIED BY VALUES ':1'
    USING '(DESCRIPTION =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.11)(PORT = 1521))
     (CONNECT_DATA =
       (SERVER = DEDICATED)
       (SERVICE_NAME = mydb)
     )
   )';
CREATE PUBLIC DATABASE LINK "LINK_A"
    CONNECT TO "SCOTT" IDENTIFIED BY VALUES ':1'
    USING 'orcl';

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

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


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




      本文转自hbxztc 51CTO博客,原文链接:http://blog.51cto.com/hbxztc/1871495,如需转载请自行联系原作者





相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
数据安全/隐私保护 网络架构
DSL线路如何工作?
【4月更文挑战第15天】
1158 3
DSL线路如何工作?
|
人工智能 JSON JavaScript
VTJ.PRO 首发 MasterGo 设计智能识别引擎,秒级生成 Vue 代码
VTJ.PRO发布「AI MasterGo设计稿识别引擎」,成为全球首个支持解析MasterGo原生JSON文件并自动生成Vue组件的AI工具。通过双引擎架构,实现设计到代码全流程自动化,效率提升300%,助力企业降本增效,引领“设计即生产”新时代。
890 1
|
移动开发 小程序 前端开发
微信小程序自定义导航栏
微信小程序自定义导航栏
852 0
微信小程序自定义导航栏
|
前端开发 JavaScript Java
计算机Java项目|基于Spring Boot的宠物咖啡馆平台的设计与实现
计算机Java项目|基于Spring Boot的宠物咖啡馆平台的设计与实现
594 0
|
SQL 运维 监控
Nest.js 实战 (十):使用 winston 打印和收集日志记录
这篇文章介绍了在Nest服务中如何使用Winston记录日志。文章首先强调了日志记录在后台服务中的重要性,接着提到Nest默认的内部日志记录器,并指出可以通过@nestjs/common包中的Logger类来全面控制日志系统的行为。文章还提到,为了在生产环境中实现更高级的日志功能,可以使用如Winston之类的Node.js日志包。接下来,文章介绍了如何在Nest服务中使用Winston记录日志,包括安装相关依赖、创建winston配置文件以及实现简单的日志记录示例。最后,文章指出更高级的自定义日志功能需要读者自己去探索。
1011 0
Nest.js 实战 (十):使用 winston 打印和收集日志记录
|
关系型数据库 Linux 分布式数据库
rpm安装polarDB-PG的实践
安装PolarDB for PostgreSQL的实践,需要帮助到有同样需要的小伙伴
1166 3
|
SQL 监控 关系型数据库
SQL语句当前及历史信息查询-performance schema的使用
本文介绍了如何使用MySQL的Performance Schema来获取SQL语句的当前和历史执行信息。Performance Schema默认在MySQL 8.0中启用,可以通过查询相关表来获取详细的SQL执行信息,包括当前执行的SQL、历史执行记录和统计汇总信息,从而快速定位和解决性能瓶颈。
1287 1
|
存储 弹性计算 大数据
阿里云16核32G服务器价格多少?2024年阿里云16核32G云服务器配置价格及测评参考
阿里云16核32G服务器价格多少?给你提供阿里云16核32G云服务器的详细测评。关于2024年阿里云16核32G云服务器的价格:阿里云16核32G云服务器的价格因不同的实例类型和配置选项而有所不同。一般来说,这种高配置的服务器适用于需要处理大规模数据或运行高负载业务的企业级用户。
2525 1
|
SQL 监控 关系型数据库
如何查看MySQL使用的内存
综合运用上述方法,您可以全方位地监控和管理MySQL的内存使用。从简单查看配置到深入分析实时内存占用,每种方法都有其适用场景和优势。定期检查和调整MySQL的内存配置,对于维持数据库性能和稳定性至关重要。
2219 0
|
网络安全 Nacos 数据安全/隐私保护
nacos常见问题之配置内容不显示也修改不了如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
3239 0