1.1 Dblike应用场景
当用户要跨本地数据库,访问另外一个数据库表中数据时候,本地数据库要建立一个数据库Dblike,通过Dblike本地数据库就可以访问别的数据库的表了。
1.1.1 先查看ZJSCM是否拥有创建DBLIKE的权限,在ZJSCM库执行
1 select * from user_sys_privs where privilege like upper('%DATABASE LINK%');
--有权限显示如下图
1.1.2 没有权限到sys里面授权
1 grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to ZJSCM;
1.1.3 我要在ZJSCM库创建个DSSC的DBLIKE名字为ZJSCMDBLINK的操作
1 CREATE PUBLIC database link ZJSCMDBLINK 2 CONNECT TO ## IDENTIFIED BY ## using 3 ' (DESCRIPTION = 4 (ADDRESS_LIST = 5 (ADDRESS = (PROTOCOL = TCP)(HOST = 10.24.10.231)(PORT = 1521)) 6 ) 7 (CONNECT_DATA = 8 (SERVICE_NAME = dssc) 9 ) 10 )';
- 其中NC65DBLINK 为dblink名字,
- connect to 需要连接的用户名 identified by 密码,
- HOST=需要连接数据库的ip,
- SERVICE_NAME=数据库实例。
1.1.4 查看是否创建成功
1 select * from dba_db_links; 2 select owner,object_name from dba_objects where object_type='DATABASE LINK';--查询时间久
1.1.5 对Dblike的操作
1 --查询Dblike的C_DPRECORD表的数据 2 SELECT * FROM C_DPRECORD@ZJSCMDBLINK A 3 --删除dblink 4 drop public database link NC65DBLINK