共计 1008 个字符,预计需要花费 3 分钟才能阅读完成。
这两天发现有一台服务器密码被修改不能远程登录,但数据库和服务运行正常,也能访问。
运维部决定将数据库备份出来然后前去机房重启修改密码。
因为之前有用 expdp/impdp 导出 10g 数据库的经验,完整导出速度非常快。固这次决定试试能不能用该命令远程导出版本为 11g 的数据库。网上查了一下改命令的参数,发现 network_link 方式可行。
首先,局域网本地有一台测试服务器上装有 Oracle 10g 数据库,通过在 10g 上配 database link 连接到远程 11g 数据库,这里就出现了问题 - 新建后不能访问后,查出原因为 oracle 10g 建 DB_link 连接 11g 时用户密码需要加双引号 (正确操作是在配有远程数据库 TNS 前提下 Create Database Link link_ora94 Connect To username Identified By “password” Using ‘ora94’;),测试连接正常。
保证两边登录的用户都有 DBA 权限,OK,cmd 执行 expdp 命令,艹,报错! 大致内容是这样:
ORA-39001: 参数值无效。
ORA-39169: 10.2.0.1.0 的本地版本不能与 11.2.0.1.0 的远程版本一起使用。
判断为版本不一致导致。所以又开始在本地装一个 11g 数据库,装好后丫的又出现问题: 发现 PL/SQL 不能登录(登录为 XX 角色 的选项不见了),又开始查找原因,网上解释说 32 位 PL/SQL 不能支持 64 为 Oracle 11g,无语,只能再在本地装一个 32 位的 11g 客户端。配置好后能正常打开,继续新建 DBA 用户 -> 新建 database link 测试能正常访问。
终于到重头戏了。cmd 执行远程导出命令:expdp test_dba/test_dba@orcl directory=EXP_DIR dumpfile=full0605.dmp logfile=full0605.log full=y network_link=link_ora94 最后一个潇洒的回车!
哎,终于算是熬出头了,下面记录正常。。。
看到没,4G 数据,有得等了。。。
更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-07/145979.htm