繁体   English   中英

Oracle 创建数据库链接

[英]Oracle creating Database link

我正在使用 Oracle 11g 快速版。 我已经创建了表、存储过程并且它工作正常。 我有我的用户“系统”,密码为“xyz”(安装期间的主用户)。

然后我用同一个用户创建了两个数据库“abc”和“pqr”。

我想创建从 abc 到 pqr 的数据库链接。

create database link testlink
connect to pqr identified by xyz
 using '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))   (CONNECT_DATA=(sid=xe)))';

我收到错误“权限不足”。 请帮帮我。

它应该是CONNECT TO username 而不是数据库名称,如下图所示,它描述了CREATE DATABASE LINK的语法。 我们在USING connect_string子句下定义数据库实例/服务。

在此处输入图片说明

先决条件

要创建私有数据库链接,您必须具有CREATE DATABASE LINK系统权限。 要创建公共数据库链接,您必须具有CREATE PUBLIC DATABASE LINK系统特权。 此外,您必须具有远程 Oracle 数据库的CREATE SESSION系统特权。

参考: 创建数据库链接

演示

[oracle@orcl Desktop]$ sqlplus system/oracle

SQL> create user abc identified by abc;

User created.

SQL> create user xyz identified by xyz;

User created.

SQL> grant create session to abc;

Grant succeeded.

SQL> conn abc/abc
Connected.

SQL> create database link testlink connect to pqr identified by pqr using '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=orcl.dba.com)(PORT=1522))   (CONNECT_DATA=(service=orcl)))';
create database link testlink connect to pqr identified by pqr using '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=orcl.dba.com)(PORT=1522))   (CONNECT_DATA=(service=orcl)))'
                     *
ERROR at line 1:
ORA-01031: insufficient privileges


SQL> conn system/oracle
Connected.
SQL> grant create database link to abc;

Grant succeeded.

SQL> create database link testlink connect to pqr identified by pqr using '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=orcl.dba.com)(PORT=1522))   (CONNECT_DATA=(service=orcl)))';^[[3~^C

SQL> conn abc/abc
Connected.
SQL> create database link testlink connect to pqr identified by pqr using '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=orcl.dba.com)(PORT=1522))   (CONNECT_DATA=(service=orcl)))';

Database link created.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM