ORACLE DBLINK以及不同用户之间的复制表

来源:互联网 发布:哪些数据库是免费的吗 编辑:程序博客网 时间:2024/06/03 07:35
FINANCE远程   
用户名  FINANCE_USER  密码   FINANCE
SELECT * FROM GLOBAL_NAME;     ---FINANCE.SEC.AC.CN
show PARAMETER global_name; 
grant create session to FINANCE_USER;授权
用SYSTEM(密码FINANCE)登陆,1,查出改实例的GLOBAL_NAME; 2,对用户进行授权(create session);

CIQ_BUDGET 本地
用户名  CIQ_BUDGET  密码   CIQ_BUDGET
SELECT * FROM GLOBAL_NAME;    ---ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM
show PARAMETER global_name; 
CREATE PUBLIC DATABASE  LINK FINANCE.SEC.AC.CN CONNECT TO FINANCE_USER IDENTIFIED BY FINANCE USING 'FINANCE';
SELECT * FROM SEC_PRIVILEGE_USER@FINANCE.SEC.AC.CN;
用ciq(密码ciq)登陆, 1.查出改实例的GOLBAL_NAME; 2,创建远程链接,link名为远程实例的GOLBAL_NAME;用户名为远程数据库具有create session的用户, useing为该用户连接的连接名。
3.测试。
***********************************************************************************************************   
   
FINANCE本地
用户名  FINANCE_USER  密码   FINANCE
SELECT * FROM GLOBAL_NAME;     ---FINANCE.SEC.AC.CN
show PARAMETER global_name;
CREATE PUBLIC DATABASE  LINK ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM CONNECT TO CIQ_BUDGET IDENTIFIED BY CIQ_BUDGET USING 'ORCL';  
SELECT * FROM YSGLT_GG_YEAR@ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM;   ---测试


CIQ_BUDGET远程
用户名  CIQ_BUDGET  密码   CIQ_BUDGET
SELECT * FROM GLOBAL_NAME;    ---ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM
show PARAMETER global_name;

grant create session to CIQ_BUDGET;授权


**************************************************************************

不同用户之间的表复制

create   table   CIQ_BUDGET.PORTAL_SEC_PRIVILEGE_USER  as SELECT * FROM SEC_PRIVILEGE_USER@FINANCE.SEC.AC.CN; 

或者

1. 不同的用户间复制表 

现有同一oracle下的两用户user1和user2

现在想把user1的表tb的结构复制到user2下,应该如何实现?   

首先,使用更高一级权限的用户,如sys登录,执行类似如下语句即可:

create   table   user2.tb  as   select   *   from   user1.tb;

2. 不同的表间复制数据

在同一个用户下将 tb1 复制到tb2中

insert into tb2  select * from tb1





0 0
原创粉丝点击