rac下
SQL> alter session set tracefile_identifier='bak_control';
Session altered.
SQL> alter database backup controlfile to trace;
Database altered.
在ASM中添加控制文件
1、查看目前控制文件的位置
select * from v$controlfile;
STATUS
-------
NAME
--------------------------------------------------------------------------------
IS_ BLOCK_SIZE FILE_SIZE_BLKS
--- ---------- --------------
+DATA/orcl/controlfile/current.260.902050361
NO 16384 1128
查看参数文件的位置。(习惯备份一个pfile,下面查看spfile的意义是重建spfile时的路径)
show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +DATA/orcl/spfileorcl.ora
create pfile='/home/oracle/pfilexx.ora' from spfile
2.修改控制文件参数
alter system set
control_files='
+DATA/orcl/spfileorcl.ora
'
, ‘+FRA
’ scope=spfile;
select * from v$controlfile///
show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +DATA/orcl/spfileorcl.ora,
+FRA
3.关闭两个节点数据库并且启动到nomount
(关闭数据库:
[dydbok1]@dyfcdb1$srvctl stop database -d dydbok
(打开数据库:
[dydbok1]@dyfcdb1$srvctl start database -d dydbok -o nomount
也可以用下面的命令一个一个节点的关(一定要都关闭再启动,否则spfile会不一致)
shutdown immediate;
startup nomount;
4.查
看重启后是否生效
show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +DATA/orcl/spfileorcl.ora,
+FRA
5.使用rman恢复
rman target /
restore controlfile from '
+DATA/orcl/spfileorcl.ora'
6.查看生成的控制文件
asmcmd>cd FRA/orcl/controlfile
asmcmd>ls
current.2342.78229871
7.设置控制文件
alter system set
control_files='
+DATA/orcl/spfileorcl.ora
'
, ‘+FRA
/orcl/controlfile/
current.2342.78229871
’ scope=spfile;
8.关闭数据库正常重启
[dydbok1]@dyfcdb1$srvctl stop database -d dydbok
[dydbok1]@dyfcdb1$srvctl start database -d dydbok
非rac
1.select name from v$controlfile;
2
alter system set
control_files='
u01/orcl/spfileorcl.ora
'
,'','' scope=spfile;
3shutdown immediate;
4cp /u01/orcl...
5startup