一、舊服務器上首先彙總需要拷貝的文件,分別執行以下SQL:
- 需要切換到 oracle 用戶
- 使用 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服務,最好是重啓計算機)
拷貝完後重啓就可以了,如之後連接數據庫出現五六錯誤,分別按以下方法解決。
以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服務就可以了