新添了盘柜给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
转载于:https://blog.51cto.com/51doit/699194