好记性,不如烂笔头。写在这里备以后查看
show parameter control_files 查看控制文件的位置
1:连接数据库
sqlplus /nolong
connect /as sysdba
查看一下当前的控制文件位置如下:
SQL> show parameter control_file
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
control_file_record_keep_time integer
7
control_files string
D:\PTC\WINDCHILL_9.1\OCU\ORADA
TA\WIND\CONTROL01_WIND.CTL, D:
\PTC\WINDCHILL_9.1\OCU\ORADATA
\WIND\CONTROL02_WIND.CTL, D:\P
TC\WINDCHILL_9.1\OCU\ORADATA\W
IND\CONTROL03_WIND.CTL
2:停止数据库
shutdown immediate
3:复制控制文件到新位置,备份并清除原位置的控制文件。
步骤略
4:修改spfile文件:d:\oracle\product\10.2.0\db_1\database\initwind.ora
上面的可能没有这个文件,或者在d:\oracle\product\10.2.0\db_1\dbs/
这一步可以先启动一下ora数据库,如果有报错如下信息
ORA-01078 & LRM-00109错误,
SQL> connect /as sysdba
SQL> startup
ora-01078failure in processing system parameters
LRM-00109:could not open parameter file ’d:\oracle\product\10.2.0\db_1\database\initwind.ora’
这是因为在oracle9i和oracle10g中,
数据库默认将使用spfile启动数据库,如果spfile不存在,则就会出现上述错误。
解决方法:
将$ORACLE_BASE/oradata/数据库名称/pfile目录下的init.ora.37201111442形式的文件
copy到$ORACLE_HOME/dbs目录下initoracle.ora即可。如果提示为其他位置,将文件拷贝到相应的位置,并改名为提示的,本例为:initwind.ora
(注:initoracle.ora中的oracle为你的实例名 ORACLE_SID)
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 503316480 bytes
Fixed Size 1249800 bytes
Variable Size 142609912 bytes
Database Buffers 352321536 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
数据库已经打开。
SQL>
服务器正常启动。
再次查看控制文件位置如下,位置以改变:
SQL> show parameter control_files
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
control_files string
D:\PTC\WINDCHILL_9.1\OCU\ORADA
TA\WIND\CONTROLFILES\CONTROL01
_WIND.CTL, D:\PTC\WINDCHILL_9.
1\OCU\ORADATA\WIND\CONTROLFILE
S\CONTROL02_WIND.CTL, D:\PTC\W
INDCHILL_9.1\OCU\ORADATA\WIND\
CONTROLFILES\CONTROL03_WIND.CT
L
控制文件的位置修改成功。
转载于:https://blog.51cto.com/king3063/902435