把AIX中的Oracle10gR2資料遷移到HP 叢集Oracle11gR2中

mengzhaoliang發表於2010-11-23

描述:AIX為64位的ORACLE10g R2資料庫,HP UNIX為64位的ORACLE11g R2資料庫,現在把AIX資料庫某個使用者的資料遷移到HP資料庫中

 

1、在AIX系統操作
在資料庫檢視有沒有expdp_dir目錄
SQL> select * from dba_directories;

OWNER                          DIRECTORY_NAME
------------------------------ ------------------------------
DIRECTORY_PATH
--------------------
SYS                            EXPDP_DIR
/oracle/oraarch/expdp_dir

如果沒有,則可以重新建立:
SQL> create directory expdp_dir as '/oracle/oraarch/expdp_dir';

授權:
SQL> grant read,write on directory expdp_dir to bhomswas;

Grant succeeded.

在作業系統檢視是否有/oracle/oraarch/expdp_dir,沒有則需要建立目錄
$ mkdir expdp_dir

匯出:
expdp bhomswas/password  DIRECTORY=expdp_dir DUMPFILE=bhomswas.dmp  logfile=bhomswas.log


2、在HP操作
在/home/oraoms目錄下建立impdp_dir目錄
CBDBS01-> mkdir impdp_dir

把在aix匯出來的資料檔案bhomswas.dmp用ftp上傳到hp系統/home/oraoms/impdp_dir目錄中

ftp  HPIP
ftp>bin
ftp>put bhomswas.dmp

然後系統授權:
CBDBS01-> chmod 777 bhomswas.dmp
CBDBS01-> ls -l
total 1679072
-rwxrwxrwx   1 oraoms     oinstall   859684864 Nov 23 11:17 bhomswas.dmp

4、在HP資料庫中建立表空間及其使用者
確認表空間的資料檔案路徑
select * from dba_data_files

建立1個表空間
--1
create tablespace MLOG_NORM_SPACE
datafile '+DATADG/cboms/datafile/MLOG_NORM_SPACE.dbf'
size 5M autoextend on

 

建立使用者:
create user bhomswas
identified by password
default tablespace PUB_NORM_SPACE

grant dba to bhomswas;

在資料庫建立目錄並授權
create directory impdp_dir as '/home/oraoms/impdp_dir';

grant read,write on directory impdp_dir to bhomswas;


3、在AIX操作

修改tnsnames.ora,增加
cboms1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = HPIP)(PORT = 1568))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = cboms)
      (INSTANCE_NAME = cboms1)
    )
  )

測試瞭解hp伺服器

sqlplus 

impdp DIRECTORY=impdp_dir dumpfile=bhomswas.dmp logfile=Imp.log

 

完畢!

附:

如果HP資料庫是兩臺的RAC資料庫,AIX的資料庫不能下面這樣配置。
配置/oracle/oms/102_64/network/admin/tnsnames.ora,新增hp資料庫的資訊
CBOMS =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = HPIP)(PORT = 1568))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.2.46.28)(PORT = 1568))
    (LOAD_BALANCE = yes)
    (FAILOVER = ON)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = cboms)
      (FAILOVER_MODE =
        (TYPE = Select)
        (METHOD = BASIC)
      )
    )
  )

 

匯入資料到hp資料庫
impdp DIRECTORY=impdp_dir dumpfile=bhomswas.dmp logfile=Imp.log


ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 536
ORA-29283: invalid file operation

這樣報錯,是因為在HP的2臺伺服器中找不到資料夾,所以只能配置一個節點。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12778571/viewspace-679544/,如需轉載,請註明出處,否則將追究法律責任。

相關文章