1、Oracle数据库:
已安装Oracle数据库
2、dm数据库:
已安装DM数据库
3、安装客户端
解压客户端文件到
[root@localhost ~]# mkdir -p /opt/oraclient/
[root@localhost ~]# chmod -R 775 /opt/oraclient/
[root@localhost ~]# chown -R dmdba.dinstall /opt/oraclient/
[root@localhost ~]# su - dmdba
[dmdb@localhost ~]# ls -lh /opt/oraclient/
总用量 118M
drwxr-xr-x 5 dmdba dinstall 4.0K 12月 26 03:46 instantclient_21_4
-rw-r--r-- 1 dmdba dinstall 76M 12月 26 03:44 instantclient-basic-linux.x64-21.4.0.0.0dbru.zip
-rw-r--r-- 1 dmdba dinstall 37M 12月 26 03:44 instantclient-basiclite-linux.x64-21.4.0.0.0dbru.zip
-rw-r--r-- 1 dmdba dinstall 1.6M 12月 26 03:44 instantclient-jdbc-linux.x64-21.4.0.0.0dbru.zip
-rw-r--r-- 1 dmdba dinstall 780K 12月 26 03:44 instantclient-odbc-linux.x64-21.4.0.0.0dbru.zip
-rw-r--r-- 1 dmdba dinstall 978K 12月 26 03:44 instantclient-sdk-linux.x64-21.4.0.0.0dbru.zip
-rw-r--r-- 1 dmdba dinstall 915K 12月 26 03:44 instantclient-sqlplus-linux.x64-21.4.0.0.0dbru.zip
-rw-r--r-- 1 dmdba dinstall 1.1M 12月 26 03:44 instantclient-tools-linux.x64-21.4.0.0.0dbru.zip
4、添加环境变量
[dmdb@localhost ~]# vim .bash_profile
export PS1="[`whoami`@`hostname`:"'$PWD]$ '
export ORACLE_HOME=/opt/oraclient/instantclient_21_4
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$ORACLE_HOME:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
export NLS_LANG='AMERICAN_AMERICA.AL32UTF8'
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
[dmdb@localhost ~]# . .bash_profile
5、配置tnsnames.ora
[dmdba@localhost:/home/dmdba]$ cat /opt/oraclient/instantclient_21_4/network/admin/tnsnames.ora
ORCLPDB01 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.25.10)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orclpdb01)
)
)
6、开始创建dblink
6.1、测试oracle数据库登录
[dmdba@localhost:/home/dmdba]$ sqlplus scott/tiger@ORCLPDB01
SQL*Plus: Release 21.0.0.0.0 - Production on Sun Dec 26 04:21:14 2021
Version 21.4.0.0.0
Copyright (c) 1982, 2021, Oracle. All rights reserved.
Last Successful login time: Sun Dec 26 2021 06:51:21 +08:00
Connected to:
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0
SQL> select count(*) from emp;
COUNT(*)
----------
14
6.2、登录DM数据库
[dmdba@localhost:/home/dmdba]$ disql SYSDBA/SYSDBA
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 1.009(ms)
disql V8
SQL> create link ORCLPDB01 connect 'ORACLE' with SCOTT identified by tiger using 'ORCLPDB01';
操作已执行
已用时间: 2.218(毫秒). 执行号:501.
6.3、重启DM数据库
[dmdba@localhost:/home/dmdba]$ DmServiceDMSERVER restart
Stopping DmServiceDMSERVER: [ OK ]
Starting DmServiceDMSERVER: [ OK ]
6.4、连接数据库
[dmdba@localhost:/home/dmdba]$ disql SYSDBA/SYSDBA
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 1.833(ms)
disql V8
SQL> select * from EMP@ORCLPDB01;
行号 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ----- ------ --------- ---- ------------------- ------- ------- ------
1 7369 SMITH CLERK 7902 1980-12-17 00:00:00 800.00 NULL 20
2 7499 ALLEN SALESMAN 7698 1981-02-20 00:00:00 1600.00 300.00 30
3 7521 WARD SALESMAN 7698 1981-02-22 00:00:00 1250.00 500.00 30
4 7566 JONES MANAGER 7839 1981-04-02 00:00:00 2975.00 NULL 20
5 7654 MARTIN SALESMAN 7698 1981-09-28 00:00:00 1250.00 1400.00 30
6 7698 BLAKE MANAGER 7839 1981-05-01 00:00:00 2850.00 NULL 30
7 7782 CLARK MANAGER 7839 1981-06-09 00:00:00 2450.00 NULL 10
8 7788 SCOTT ANALYST 7566 1987-04-19 00:00:00 3000.00 NULL 20
9 7839 KING PRESIDENT NULL 1981-11-17 00:00:00 5000.00 NULL 10
10 7844 TURNER SALESMAN 7698 1981-09-08 00:00:00 1500.00 0 30
11 7876 ADAMS CLERK 7788 1987-05-23 00:00:00 1100.00 NULL 20
行号 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ----- ------ ------- ---- ------------------- ------- ---- ------
12 7900 JAMES CLERK 7698 1981-12-03 00:00:00 950.00 NULL 30
13 7902 FORD ANALYST 7566 1981-12-03 00:00:00 3000.00 NULL 20
14 7934 MILLER CLERK 7782 1982-01-23 00:00:00 1300.00 NULL 10
14 rows got
已用时间: 143.009(毫秒). 执行号:400.
SQL> select count(*) from EMP@ORCLPDB01;
行号 COUNT(*)
---------- --------------------
1 14
已用时间: 6.611(毫秒). 执行号:401.
7、搭建dblink过程中遇到的错误
报错1:
SQL> select * from emp@ORCLPDB01;
select * from emp@ORCLPDB01;
第1 行附近出现错误[-2251]:DBLINK远程服务器获取对象[emp]失败.
已用时间: 00:00:01.033. 执行号:0.
解决办法:
SQL> drop link ORCLPDB01;
操作已执行
已用时间: 3.399(毫秒). 执行号:500.
SQL> create link ORCLPDB01 connect 'ORACLE' with SCOTT identified by tiger using 'ORCLPDB01';
操作已执行
已用时间: 2.218(毫秒). 执行号:501.
--创建link名字,用户名,ORCL服务名必须使用大写
报错2:
SQL> select count(*) from emp@ORCLPDB01;
select count(*) from emp@ORCLPDB01;
第1 行附近出现错误[-2256]:DBLINK远程服务器获取对象[emp]失败,错误详情[ORA-04043: object "emp" does not exist].
已用时间: 2.054(毫秒). 执行号:0.
解决办法:
[dmdba@localhost:/home/dmdba]$ disql SYSDBA/SYSDBA
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 1.833(ms)
disql V8
SQL> select * from EMP@ORCLPDB01;
行号 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ----- ------ --------- ---- ------------------- ------- ------- ------
1 7369 SMITH CLERK 7902 1980-12-17 00:00:00 800.00 NULL 20
2 7499 ALLEN SALESMAN 7698 1981-02-20 00:00:00 1600.00 300.00 30
3 7521 WARD SALESMAN 7698 1981-02-22 00:00:00 1250.00 500.00 30
4 7566 JONES MANAGER 7839 1981-04-02 00:00:00 2975.00 NULL 20
5 7654 MARTIN SALESMAN 7698 1981-09-28 00:00:00 1250.00 1400.00 30
6 7698 BLAKE MANAGER 7839 1981-05-01 00:00:00 2850.00 NULL 30
7 7782 CLARK MANAGER 7839 1981-06-09 00:00:00 2450.00 NULL 10
8 7788 SCOTT ANALYST 7566 1987-04-19 00:00:00 3000.00 NULL 20
9 7839 KING PRESIDENT NULL 1981-11-17 00:00:00 5000.00 NULL 10
10 7844 TURNER SALESMAN 7698 1981-09-08 00:00:00 1500.00 0 30
11 7876 ADAMS CLERK 7788 1987-05-23 00:00:00 1100.00 NULL 20
行号 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ----- ------ ------- ---- ------------------- ------- ---- ------
12 7900 JAMES CLERK 7698 1981-12-03 00:00:00 950.00 NULL 30
13 7902 FORD ANALYST 7566 1981-12-03 00:00:00 3000.00 NULL 20
14 7934 MILLER CLERK 7782 1982-01-23 00:00:00 1300.00 NULL 10
14 rows got
已用时间: 143.009(毫秒). 执行号:400.
SQL> select count(*) from EMP@ORCLPDB01;
行号 COUNT(*)
---------- --------------------
1 14
已用时间: 6.611(毫秒). 执行号:401.
--对象名和link名必须使用大写
报错3:
[dmdba@localhost:/home/dmdba]$ disql SYSDBA/SYSDBA
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 2.576(ms)
disql V8
SQL> select count(*) from EMP@ORCLPDB01;
select count(*) from EMP@ORCLPDB01;
第1 行附近出现错误[-2245]:DBLINK加载库文件失败.
已用时间: 1.675(毫秒). 执行号:0.
解决办法:
[dmdba@localhost:/home/dmdba]$ DmServiceDMSERVER restart
Stopping DmServiceDMSERVER: [ OK ]
Starting DmServiceDMSERVER: [ OK ]
[dmdba@localhost:/home/dmdba]$ disql SYSDBA/SYSDBA
--必须使用dmdba操作系统用户重启数据库,以重新加载oracle库文件
文章
阅读量
获赞