Oracle数据文件的迁移


1、查看现在的数据文件,可以看到在F盘有7个数据文件
SQL>select name,file# from v$datafile;

NAME
——————————————————————————–
FILE#
———-
F:OraclePRODUCT10.2.0ORADATASGECSYSTEM01.DBF
1

F:ORACLEPRODUCT10.2.0ORADATASGECUNDOTBS01.DBF
2

F:ORACLEPRODUCT10.2.0ORADATASGECSYSAUX01.DBF
3

NAME
——————————————————————————–
FILE#
———-
F:ORACLEPRODUCT10.2.0ORADATASGECUSERS01.DBF
4

F:ORACLEPRODUCT10.2.0ORADATASGECEXAMPLE01.DBF
5

F:ORACLEPRODUCT10.2.0ORADATASGECYJZX
6

NAME
——————————————————————————–
FILE#
———-
F:ORACLEPRODUCT10.2.0ORADATASGECWSEC_MAIN.DBF
7

已选择7行。

2、查看redo日志,可以看到在F盘有3个redo日志文件

SQL>select * from v$logfile;

GROUP# STATUS  TYPE
———- ——- ——-
MEMBER
——————————————————————————–
IS_

3         ONLINE
F:ORACLEPRODUCT10.2.0ORADATASGECREDO03.LOG
NO

2         ONLINE
F:ORACLEPRODUCT10.2.0ORADATASGECREDO02.LOG
NO

GROUP# STATUS  TYPE
———- ——- ——-
MEMBER
——————————————————————————–
IS_

1         ONLINE
F:ORACLEPRODUCT10.2.0ORADATASGECREDO01.LOG
NO

3、查看控制文件,www.bkjia.com可以看到F盘有3个控制文件
SQL>select * from v$controlfile;

STATUS
——-
NAME
——————————————————————————–
IS_ BLOCK_SIZE FILE_SIZE_BLKS
————- ————–

F:ORACLEPRODUCT10.2.0ORADATASGECCONTROL01.CTL
NO       16384            430

F:ORACLEPRODUCT10.2.0ORADATASGECCONTROL02.CTL
NO       16384            430

STATUS
——-
NAME
——————————————————————————–
IS_ BLOCK_SIZE FILE_SIZE_BLKS
————- ————–

F:ORACLEPRODUCT10.2.0ORADATASGECCONTROL03.CTL
NO       16384            430

4、导出pfile,并在pfile中修改控制文件位置,在后面步骤会用这个文件。

SQL>create pfile=’C:pfile.ora’from spfile;

打开pfile.ora,修改控制文件位置为:
*.control_files=’H:oradataorclcontrol01.ctl’,'H:oradataorclcontrol02.ctl’,'H:oradataorclcontrol03.ctl’

5、停止数据库监听
lsnrctl stop

6、停止数据库
SQL>shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

7、把F:oracleproduct10.2.0oradata复制到H:下;

8、使用修改过的pfile启动数据库到mount状态
SQL>startup mount pfile=’C:pfile.ora’;
ORACLE 例程已经启动。

Total System Global Area  222298112 bytes
Fixed Size                  1248212 bytes
Variable Size              75498540 bytes
Database Buffers          142606336 bytes
Redo Buffers                2945024 bytes
数据库装载完毕。

9、修改数据库文件路径参数

alter database rename file ‘F:ORACLEPRODUCT10.2.0ORADATASGECSYSTEM01.DBF’to ‘H:ORADATASGECSYSTEM01.DBF’;
alter database rename file ‘F:ORACLEPRODUCT10.2.0ORADATASGECUNDOTBS01.DBF’to ‘H:ORADATASGECUNDOTBS01.DBF’;
alter database rename file ‘F:ORACLEPRODUCT10.2.0ORADATASGECSYSAUX01.DBF’to ‘H:ORADATASGECSYSAUX01.DBF’;
alter database rename file ‘F:ORACLEPRODUCT10.2.0ORADATASGECUSERS01.DBF’to ‘H:ORADATASGECUSERS01.DBF’;
alter database rename file ‘F:ORACLEPRODUCT10.2.0ORADATASGECEXAMPLE01.DBF’to ‘H:ORADATASGECEXAMPLE01.DBF’;
alter database rename file ‘F:ORACLEPRODUCT10.2.0ORADATASGECYJZX’to ‘H:ORADATASGECYJZX’;
alter database rename file ‘F:ORACLEPRODUCT10.2.0ORADATASGECWSEC_MAIN.DBF’to ‘H:ORADATASGECWSEC_MAIN.DBF’;

alter database rename file ‘F:ORACLEPRODUCT10.2.0ORADATASGECTEMP01.DBF’to ‘H:ORADATASGECTEMP01.DBF’;
alter database rename file ‘F:ORACLEPRODUCT10.2.0ORADATASGECWSEC_TEMP.DBF’to ‘H:ORADATASGECWSEC_TEMP.DBF’;

10、修改日志文件路径参数
alter database rename file ‘F:ORACLEPRODUCT10.2.0ORADATASGECREDO03.LOG’to ‘H:ORADATASGECREDO03.LOG’;
alter database rename file ‘F:ORACLEPRODUCT10.2.0ORADATASGECREDO02.LOG’to ‘H:ORADATASGECREDO02.LOG’;
alter database rename file ‘F:ORACLEPRODUCT10.2.0ORADATASGECREDO01.LOG’to ‘H:ORADATASGECREDO01.LOG’;

11、使用pfile重新创建spfile
SQL>create spfile from pfile=’C:pfile.ora’;

12、更改数据库至open状态
SQL>alter database open;

数据库已更改。

SQL>alter system switch logfile;

系统已更改。

13、停止数据库
SQL>shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

14、启动数据库
SQL>startup

15、验证迁移结果,确认数据文件,redo日志文件和控制文件已经迁移到H盘
SQL>select name,file# from v$datafile;
SQL>select * from v$logfile;
SQL>select * from v$controlfile;

16、确认无误后启动数据库监听
lsntctl start

相关内容