获取控制文件信息:
1. v$controlfile
2. v$parameter
3. v$control_record_section
4. show parameter control_files
SQL> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
D:\ORACLE\ORADATA\ORCL\CONTROL01.CTL
D:\ORACLE\ORADATA\ORCL\CONTROL02.CTL
D:\ORACLE\ORADATA\ORCL\CONTROL03.CTL
SQL> select name, value from v$parameter where name = 'control_files';
NAME
----------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
control_files
D:\oracle\oradata\Orcl\CONTROL01.CTL, D:\oracle\oradata\Orcl\CONTROL02.CTL, D:\oracle\oradata\Orcl\CONTROL03.CTL
SQL> select type, record_size, records_total, records_used from v$controlfile_record_section where type = 'DATAFILE';
TYPE RECORD_SIZE RECORDS_TOTAL RECORDS_USED
-------------------- ----------- ------------- ------------
DATAFILE 180 100 10
SQL> show parameter control_files;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string D:\oracle\oradata\Orcl\CONTROL
01.CTL, D:\oracle\oradata\Orcl
\CONTROL02.CTL, D:\oracle\orad
ata\Orcl\CONTROL03.CTL
添加控制文件:
使用SPFILE方式添加控制文件
SQL> alter system set control_files = 'D:\oracle\oradata\Orcl\CONTROL01.CTL','D:\oracle\oradata\Orcl\CONTROL02.CTL','D:\oracle\oradata\Orcl\CONTROL03.CTL','D:\oracle\oradata\Orcl\CONTROL04.CTL' scope = SPFILE;
系统已更改。
SQL> shutdown normal;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
//使用操作系统命令复制控制文件到新位置并且正确命名。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
使用init.ora方式添加控制文件
shutdown normal;
使用操作系统命令复制控制文件到新位置并且正确命名。
修改init.ora文件中关于控制文件的部分
重新启动数据库
备份控制文件:
alter database backup controlfile to ‘filename’;
ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
注意,备份的控制文件必须和备份时的数据文件一致才能生效。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/787018/viewspace-681945/
,如需转载,请注明出处,否则将追究法律责任。