Oracle 資料庫遷移需求分析:資料庫所有文件(數據文件、日誌文件、臨時文件、控制文件)都存放在光纖存儲中,但是光纖存儲使用時間過長,超過3年,經常出現一些問題,而且光纖存儲需要廠家維護,維護方面不是很方便,需要將資料庫文件遷移到nas存儲中。操作步驟:1:具體需求2:保存現有數據文件、控制文件、臨時文件、日誌文件位置3:停止監聽,並關閉資料庫4:移動所有數據文件、控制文件、臨時文件、日誌文件到新的位置5:啟動資料庫到nomount狀態,並更改控制文件位置,關閉資料庫6:啟動資料庫到mount狀態7:更改數據文件、臨時文件、日誌文件位置7:打開資料庫8:重啟驗證
具體需求將數據文件、控制文件、臨時文件、日誌文件都遷移到新的存儲/oradata/orcl上注意:該目錄 需要有Oracle軟體安裝用戶讀寫權限
保存現有數據文件、控制文件、臨時文件、日誌文件位置SQL> select NAME from v$datafile; 所有數據文件SQL> select name from v$tempfile; 所有臨時文件SQL> select MEMBER from v$logfile; 所有日誌文件SQL> show parameter control 看那控制文件位置注意:控制文件如果做了冗餘策略,存儲路徑最好不同。
關閉資料庫SQL> shutdown immediate; 立即關閉[oracle@oracle10g orcl]$ lsnrctl stop注意:關閉之前需要停止所有應用
移動所有數據文件、控制文件、臨時文件、日誌文件到新的位置留一份控制文件在原有路徑做冗餘
啟動資料庫到nomount狀態,並更改控制文件位置,關閉資料庫SQL> startup nomount;SQL> alter system set control_files='/oradata/orcl/control01.ctl','/oradata/orcl/control02.ctl','/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/control03.ctl' scope=spfile;SQL> shutdown immediate; 關閉資料庫
啟動資料庫到mount狀態SQL> startup mount;


更改數據文件、臨時文件、日誌文件位置alter database rename file '/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/system01.dbf' to '/oradata/orcl/system01.dbf';alter database rename file '/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/undotbs01.dbf' to '/oradata/orcl/undotbs01.dbf';alter database rename file '/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/sysaux01.dbf' to '/oradata/orcl/sysaux01.dbf';alter database rename file '/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/users01.dbf' to '/oradata/orcl/users01.dbf';alter database rename file '/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/data01.dbf' to '/oradata/orcl/data01.dbf';alter database rename file '/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/data02.dbf' to '/oradata/orcl/data02.dbf';alter database rename file '/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/temp01.dbf' to '/oradata/orcl/temp01.dbf';alter database rename file '/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/redo01.log' to '/oradata/orcl/redo01.log';alter database rename file '/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/redo02.log' to '/oradata/orcl/redo02.log';alter database rename file '/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/redo03.log' to '/oradata/orcl/redo03.log';注意:引號之間不要有空格

打開資料庫SQL> alter database open;
重啟驗證SQL> shutdow immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL> startupORACLE instance started.Total System Global Area 167772160 bytesFixed Size 2082464 bytesVariable Size 125831520 bytesDatabase Buffers 33554432 bytesRedo Buffers 6303744 bytesDatabase mounted.Database opened.SQL>