Oracle數據遷移__直接拷貝數據文件

一、舊服務器上首先彙總需要拷貝的文件,分別執行以下SQL:

  1. 需要切換到 oracle 用戶
  2. 使用 sqlplus 登錄進 Oracle 數據庫
sqlplus / as sysdba
SQL> show parameter pfile
SQL> show parameter control
SQL> select * from v$logfile;
SQL> select name from v$datafile;

彙總結果需要拷貝的文件:

/oracle/product/11.2.0/dbhome_1/dbs/spfileorcl.ora
/oracle/oradata/orcl/control01.ctl
/oracle/recovery_area/orcl/control02.ctl
/oracle/oradata/orcl/redo03.log
/oracle/oradata/orcl/redo02.log
/oracle/oradata/orcl/redo01.log
/oracle/oradata/orcl/system01.dbf
/oracle/oradata/orcl/sysaux01.dbf
/oracle/oradata/orcl/undotbs01.dbf
/oracle/oradata/orcl/users01.dbf
/oracle/oradata/orcl/users02.dbf
/oracle/oradata/orcl/users03.dbf
/oracle/oradata/orcl/temp01.dbf

二、新服務器上創建相同的實例:

1、打開數據庫配置

 
2、點擊下一步,一直到步驟三數據庫標識,全局數據庫名:爲數據庫的後綴名

 

3、

默認點擊下一步有時候系統會蹦出彈窗說沒有監聽,明明是有的,我們就需要創建一個

4、如果需要配置監聽

配置NetCA
cmd--NetCA(cmd命令安裝)

或者

5、配置登錄密碼,可以自己設定也可分別設定

 

6、初始化參數,設定數據庫內存

7、修改字符集,建議修改成AL32UTF-8


三、停掉新舊數據庫

service oracle stop

四、將第一步的文件拷貝到新的數據庫服務器上相同路徑(拷貝完需要重啓各種oracle服務,最好是重啓計算機)

拷貝完後重啓就可以了,如之後連接數據庫出現五六錯誤,分別按以下方法解決。

五、如果出現ORACLE not available錯誤:

以dba登錄sqlplus,開啓實例

請輸入用戶名:  sys as sysdba
輸入口令:
已連接到空閒例程。

先連接到管理員用戶下將用例開啓

SQL> startup;
ORACLE 例程已經啓動。

然後就會出現一下


Total System Global Area 3390558208 bytes
Fixed Size                  2180464 bytes
Variable Size            1979714192 bytes
Database Buffers         1392508928 bytes
Redo Buffers               16154624 bytes
數據庫裝載完畢。
數據庫已經打開。

然後就可以正常的使用了

SQL> conn scott/tiger;
已連接。

六、如果出現ORA-02778: Name given for the log directory is invalid

在Oracle安裝路徑找到本地實例對應的.ora的文件(因爲是Oracle 10g的默認安裝,所以我的文件時initOrcl.ora文件)。

      文件打開如圖所示:

SPFILE='E:\oracle\product\10.2.0\db_1/dbs/spfileorcl.ora'

      按照路徑找到文件的路徑spfileorcl.ora,默認是無法打開該文件的。可以拷貝你方便找到的路徑。

 

打開上文的spfileorcl.ora文件,按照文件提示,查看所有指示文件路徑不是可以找到。比如:

*.user_dump_dest='E:\oracle\product\10.2.0\db_1/admin/orcl/udump'

查看該路徑“E:\oracle\product\10.2.0\db_1/admin/orcl/udump”是否存在,不存在的話,就在對應存在目錄下逐級新建。

然後重啓oracle服務就可以了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章