最近公司项目产品升级,需要把其他数据库的历史数据迁移到新版本的库中,所以想到用这个db link,
然后写几个数据库的insert into ...select..就可以了
下面是具体的步骤:
首先要确认是否有创建的权限,如果没有这个权限的话,会报一个
ORA-01031: insufficient privileges
没有足够的权限的错误,
如果没有权限的需要先分配一个创建db link的权限
grant create database link to boss;
然后创建db link
create database link ORCL219
connect to boss identified by boss
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.71.76.219)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)'
看到这个很熟悉吧,这个在数据库的配置tnsname.ora文件里面是有类似配置的,单引号里面的内容,如果在文件里面有配置,可以换成相应的tnsname,
但是一般的作为客户端去操作数据库服务器,有可能不能直接去修改数据库的配置文件,这个时候就需要用到这种方式来创建了,很实用。
select * from yourTables@ORCL219;
也可以创建同义词
-- Create the synonym
create or replace synonym BOSS_ROLE_ORCL219
for BOSS.BOSS_ROLE@ORCL219;
然后
select * from BOSS_ROLE_ORCL219;
这样也是可以的
还有一句话要提醒啊,最好先把准备迁移入数据的新表用
create table newTable_bak as select * from newTable;
确认数据没有问题再往表中导入数据。
数据迁移的db link用法
最新推荐文章于 2024-08-08 10:57:18 发布