您的位置:首页 > 数据库 > Oracle

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

2014-05-27 14:33 176 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息