ORACLE使用DBLINK导入导出数据
场景:
ORACLE数据库A:172.18.169.81:1521/orcl
ORACLE数据库B:127.0.0.1:1521/orcl
要将数据库A的所有数据导入到数据库B。
由于数据量极大,所以直接exp太慢,不能用
懒,不愿意写expdp,所以使用DBLINK进行导入。
过程:
1、在数据库B新建对应的用户、表空间
2、使用新建好的用户登录plsql,在左边列表栏里面找到database links,右键,点新建
3、配置好DBLINK之后,就可以使用select * from [email protected]名称 来查询了,update/insert/delete也是一样的
4、利用DBLINK导入的思路就是利用create table xxx as select * from [email protected]名称 来实现的,那么要把每一张表的create语句都写好,表很多,自然是不能一句一句写的,那么就是用select table_name from [email protected]名称 where owner='A库的用户名'; 查出这个用户下的所有表的表名
5、有了表明,就可以利用语句进行拼凑,拼出所需要的语句:select 'create table '||table_name||' as select * from '||table_name||'@DBLINK名称;' from [email protected]名称 where owner='A库的用户名';
6、将拼凑出来的sql全部复制一下,放在sql执行窗口里面运行一下就可以了。