在不同的平台间迁移数据库,不能使用RMAN的备份来恢复,除了用导出dmp文件再导入外,还可以使用impdp命令直接在目的数据库进行导入。
首先建立供数据库使用的Directory目录:
[oracle@rac1 ~]$ LANG=en
[oracle@rac1 ~]$ mkdir /tmp/exp_dir
建立Directory:
[oracle@rac1 ~]$ exportNLS_LANG=AMERICAN_AMERICA.ZHS16GBK
[oracle@rac1 ~]$ sqlplus " / as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on Wed Oct 28 16:16:10 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bitProduction
With the Partitioning, Real Application Clusters, OLAP and Data MiningoptionsSQL> create or replace directory exp_dir as '/tmp/exp_dir';
建立dblink以连接到源库:
SQL> create public database link dbbak89 connectto banping identified by banping using'(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.89)(PORT=1521))(CONNECT_DATA=(SID=bakdb)))';
在目标库建立banping用户,赋予足够的权限,然后执行impdp命令从源库导入数据:
[oracle@rac1 ~]$ impdp system/banping SCHEMAS=(banping)directory=exp_dir network_link=dbbak89 logfile=exp_dir:impdp.log;
这样就避免了导出再导入dmp文件的操作,提高了效率。
联系客服