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.linuxidc.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