新添了盘柜给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