这个是可以的,不过要有权限,首先创建一个DBLINK,让数据库可以互相关联,假设要把A用户的a表数据复制给B用户b表就让B赋予连接A的权限,然后写SQL语句:INSERT INTO Bb (SELECT FROM Aa); 这样就可以了。
等于说把2个表合并了啊,
表1,有字段A,B,C,表2有字段C,D,E,两个表现在有的内容是:
表1:A B C, 表2: C D E
王 王1 王2 王2 李1 李2
甲 甲1 甲2 甲2 乙1 乙2
丙 丙1 丙2 如1 如2 如3
SELECT SA, SB, SC, TD, TE
FROM T FULL OUTER JOIN
S ON TC = SC 像这样就OK了
创建: select dblink_connect('a_dblink','dbname=postgres host=192168167 port=端口号 user=root password=123456'); 使用: select from dblink('a_dblink','select from test') as t1 (id integer,name varchar);)
1、用exp,然后在另一个数据库中imp。不适用于从低版本到高版本的导入。
2、在一个数据库中,用PL/SQL从表中导出数据,可生成SQL脚本或文本数据;然后在用PL/SQL连上另一数据库进行导入数据。
3、建立dblink,然后 insert table
select from table@db1;
其实 dblink同步的情况非常常见。
但是在Oracle的一些版本(如11203)中有一个特别大的隐患。
可能会导致scn增长过快,无法同步,并且该症状会通过dblink传染到与之相关的所有数据库中。16年11月全国范围内就爆发了大范围的该事件。我当时所服务的客户也出现了很多这种故障。
经过我本人的测试,除了重建库之外无解,网上说的升级啥的可以解决其实无效(升级到11204可以预防,但已经发生的不能解决)。
所以要分情况对待,如果该数据库版本有隐患且连接到它的其它数据库非常多非常复杂,dblink不建议。
可以搜索错误代码 ora-19706 可以详细了解该问题的具体情况
远程数据库也是oracle吗?那你应该配置tnsnamesora才对,增加DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=1921682223)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=gametrd))才对
以上就是关于Oracle数据库,不同的数据库,如何把表结构相同的数据从一个数据库中导入至另一个数据库全部的内容,包括:Oracle数据库,不同的数据库,如何把表结构相同的数据从一个数据库中导入至另一个数据库、PL/SQL中怎样将一个数据库中的表数据插入到另外一个数据库中、请教PostgreSQL数据库dblink的使用!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)