有一个FOO
在 Oracle XE 10g 服务器中调用的数据库将被停用 ( old.example.com
)。我被要求将它迁移到其他一些 Oracle XE 11g 服务器 ( new.example.com
)。两台服务器都在同一个局域网上。我对数据库一无所知(这不是我的项目)。房间里没有 DBA。我的随机谷歌搜索表明这是一项非常复杂的任务。我可以使用 SQL Developer 或 SQL*Plus。
我发现通过网络链接使用 impdp可能是一种相当简单的方法。但是文档将大多数东西视为理所当然,我无法让它发挥作用。
至今:
我已分配
EXP_FULL_DATABASE
给FOO
源服务器中的用户(角色DATAPUMP_EXP_FULL_DATABASE
在 10g 中似乎不存在)。我
tmp_imp
在目标服务器中创建了一个名为CREATE DATABASE LINK
和DATAPUMP_IMP_FULL_DATABASE
角色的临时用户。我被困在创建数据库链接部分。我已经登录
new.example.com
并尝试了CREATE DATABASE LINK语句tmp_imp
的所有可能组合。它们要么触发,要么被接受,但会产生一个无效链接 ( , , )。ORA-00933: SQL command not properly ended
ORA-39001: invalid argument value
ORA-39200: Link name "OLD_FOO" is invalid.
ORA-12154: TNS:could not resolve the connect identifier specified
这是我的尝试之一:
CREATE DATABASE LINK OLD_FOO
CONNECT TO FOO IDENTIFIED BY 'pa$$w0rD'
USING '//old.example.com:1521/xe';
我究竟做错了什么?有没有更简单的迁移数据库的工具?
该
USING
子句需要一个有效的 TNS 条目或别名。用这个: