新添了盤櫃給oracle服務器,要把原來實例轉移到新的盤櫃上,大概步驟如下:
環境:centOS5.5
原路徑:/oradata/orabak/ (控制文件、數據文件、聯機日誌文件)
新路徑:/oradata/orcl/
步驟:1 關閉數據庫
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
2 將原路徑所有文件拷到新路徑
[oracle@c1 orabak]$ pwd
/oradata/orabak
[oracle@c1 orabak]$ ls
control01.ctl redo02.log system01.dbf undotbs01.dbf
example01.dbf redo03.log temp01.dbf users01.dbf
redo01.log sysaux01.dbf temp02.dbf
[oracle@c1 orabak]$ mv * /oradata/orcl/
[oracle@c1 orabak]$ ll /oradata/orcl
total 1052656
-rw-r----- 1 oracle oinstall 7061504 Oct 27 16:36 control01.ctl
-rw-r----- 1 oracle oinstall 104865792 Oct 27 16:36 example01.dbf
-rw-r----- 1 oracle oinstall 52429312 Oct 27 16:36 redo01.log
-rw-r----- 1 oracle oinstall 52429312 Oct 27 14:45 redo02.log
-rw-r----- 1 oracle oinstall 52429312 Oct 27 14:45 redo03.log
-rw-r----- 1 oracle oinstall 262152192 Oct 27 16:36 sysaux01.dbf
-rw-r----- 1 oracle oinstall 503324672 Oct 27 16:36 system01.dbf
-rw-r----- 1 oracle oinstall 104865792 Oct 27 15:32 temp01.dbf
-rw-r----- 1 oracle oinstall 104865792 Oct 27 15:47 temp02.dbf
-rw-r----- 1 oracle oinstall 36708352 Oct 27 16:36 undotbs01.dbf
-rw-r----- 1 oracle oinstall 5251072 Oct 27 16:36 users01.dbf
3 啓動oracle到nomount,修改control_files的路徑
[oracle@c1 orabak]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Oct 27 16:41:01 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 285212672 bytes
Fixed Size 1218992 bytes
Variable Size 113247824 bytes
Database Buffers 167772160 bytes
Redo Buffers 2973696 bytes
SQL> show parameter control
NAME TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
control_file_record_keep_time integer
7
control_files string
/oradata/orabak/control01.ctl
4 啓動到mount,修改數據文件、聯機日誌文件位置
SQL> startup mount
ORACLE instance started.
Total System Global Area 285212672 bytes
Fixed Size 1218992 bytes
Variable Size 113247824 bytes
Database Buffers 167772160 bytes
Redo Buffers 2973696 bytes
Database mounted.
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/oradata/orabak/system01.dbf
/oradata/orabak/undotbs01.dbf
/oradata/orabak/sysaux01.dbf
/oradata/orabak/users01.dbf
/oradata/orabak/example01.dbf
SQL> alter database rename file '/oradata/orabak/system01.dbf' to '/oradata/orcl/system01.dbf';
Database altered.
SQL> alter database rename file '/oradata/orabak/undotbs01.dbf'to'/oradata/orcl/undotbs01.dbf';
Database altered.
SQL> alter database rename file '/oradata/orabak/sysaux01.dbf' to '/oradata/orcl/sysaux01.dbf';
Database altered.
SQL> alter database rename file '/oradata/orabak/users01.dbf' to '/oradata/orcl/users01.dbf';
Database altered.
SQL> alter database rename file'/oradata/orabak/example01.dbf'to'/oradata/orcl/example01.dbf';
Database altered.
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/oradata/orabak/redo03.log
/oradata/orabak/redo02.log
/oradata/orabak/redo01.log
SQL> alter database rename file '/oradata/orabak/redo03.log' to '/oradata/orcl/redo03.log';
Database altered.
SQL> alter database rename file '/oradata/orabak/redo02.log' to '/oradata/orcl/redo02.log';
Database altered.
SQL> alter database rename file '/oradata/orabak/redo01.log' to '/oradata/orcl/redo01.log';
Database altered.
5 啓動數據庫,修改臨時表空間數據文件
SQL> alter database open;
Database altered.
SQL> select file_name,status from dba_temp_files;
FILE_NAME STATUS
------------------------------ ---------------------------
/oradata/orabak/temp02.dbf AVAILABLE
SQL> alter tablespace temp add tempfile '/oradata/orcl/temp01.dbf' reuse;
Tablespace altered.
SQL> alter tablespace temp drop tempfile '/oradata/orabak/temp02.dbf';
Tablespace altered.
6 檢查轉移情況
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/oradata/orcl/system01.dbf
/oradata/orcl/undotbs01.dbf
/oradata/orcl/sysaux01.dbf
/oradata/orcl/users01.dbf
/oradata/orcl/example01.dbf
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/oradata/orcl/redo03.log
/oradata/orcl/redo02.log
/oradata/orcl/redo01.log
SQL> show parameter contro
NAME TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
control_file_record_keep_time integer
7
control_files string
/oradata/orcl/control01.ctl
SQL> select file_name,status from dba_temp_files;
FILE_NAME STATUS
------------------------------ ---------------------------
/oradata/orcl/temp01.dbf AVAILABLE