8控制文件和日志文件
时间:2025-04-20
时间:2025-04-20
8控制文件和日志文件
一、任何时候都不要试图手动编辑控制文件;
二、控制文件主要包含内容
1、 数据库名称和SID标识;
2、 数据文件和日志文件列表(包括文件名称和对应路径信息);
3、 数据库创建时的时间戳;
4、 表空间信息;
5、 当前重做日志文件序列号;
6、 归档日志文件信息;
7、 检查点信息;
8、 回滚段的起始和结束;
9、 备份数据文件信息;
三、控制文件的多路复用
在数据库运行期间,如果任何一个控制文件损坏,实例就不能继续运行下去。
更改SPFILE文件中的CONTROL_FILES参数(control_files参数用来设置数据库的控制文件路径)
1、 在sqlplus中输入添加控制文件路径命令
Alter system set control_files=
‘D:\app\Administrator\oradata\orcl\control01.ctl’,
‘D:\app\Administrator\flash_recovery_area\orcl\control02.ctl’,
‘F:\oracle\control03.ctl’
Scope=spfile;
2、在服务中停掉oracleserviceorcl与oracledbconsoleorcl服务,并退出sqlplus。
复制control01.ctl文件,并把文件粘贴到指定路径后把名字改为control03.ctl。
3、 启动服务后,运行sqlplus,输入命令select name as 控制文件 from V$CONTROLFILE;
查看参数中是否已成功添加指定路径
四、控制文件的创建
1、 查看数据文件和重做日志文件
Select member from v$logfile;(在数据字典中查看日志文件)
Select name from v$datafile;(查看数据文件)
Select name from v$controlfile;(查看控制文件)
2、 关闭数据库
如果数据库处于打开状态,在system模式中使用shutdowm immediate命令关闭数据库
Connect system/Fgp910405 as sysdba;
Shutdown immediate;
3、 备份文件
用户需要在操作系统下备份所有数据文件和重做日志文件,因为在新建控制文件时,操作不当会损坏数据文件和日志文件。
4、 启动但不加载数据库
因为加载数据库时,实例将会打开控制文件
Startup nomount
5、 创建新的控制文件
通过在sqlplus执行命令创建新的控制文件
8控制文件和日志文件
creatcontrolfile
reuse database “orcl”(数据库名称)
logfile(指定原有数据库重做日志大小、组号和日志成员)
group 1 ‘D:\app\Administrator\oradata\orcl\REDO01.LOG’,(重做日志组列表路径) group 2 ‘D:\app\Administrator\oradata\orcl\REDO02.LOG’,
group 3 ‘D:\app\Administrator\oradata\orcl\REDO03.LOG’
datafile(指定数据库原有数据文件)
‘D:\app\Administrator\oradata\orcl\EXAMPLE01.DBF’,(数据文件路径)
‘D:\app\Administrator\oradata\orcl\SYSAUX01.DBF’,
‘D:\app\Administrator\oradata\orcl\SYSTEM01.DBF’,
‘D:\app\Administrator\oradata\orcl\TEMP01.DBF’,
‘D:\app\Administrator\oradata\orcl\UNDOTBS01.DBF’,
‘D:\app\Administrator\oradata\orcl\USERS01.DBF’
Maxlogfiles 50(最大重做日志文件数)
Maxlogmenbers 3(最大重做日志组成员数)
Maxinstances 6(最大实例数)
Maxdatafiles 200(最大实例文件数)
Noresetlogs(表示仍然使用原有重做日志文件,如果原有文件丢失可以指定resetlogs选项)
Noarchivelog;
*若数据库管理员需要改变数据库的某个永久性参数,那么必须重新创建控制文件*
6、编辑参数
通过编辑spfile文件中的初始化参数control_files,使其指向新建的控制文件
Alter system set control_files=
‘D:\app\Administrator\oradata\orcl\CONTROL01.CTL’,
‘D:\app\Administrator\flash_recovery_area\orcl\CONTROL02.CTL’
Scope=spfile;
7、 打开数据库
Alter database open;
如果在创建控制文件时,使用了resetlogs语句,则需要以恢复方式打开数据库
Alter database open resetlogs;
五、备份和恢复控制文件
1、备份为二进制文件
Alter database backup controlfile to ‘F:\oracle\oraclefiles\controlfiles\control_file1.bkp’;
2、备份为脚本文件(也叫跟踪文件)
Alter database backup controlfile to trace;
3、显示跟踪文件的存放位置
Show parameter user_dump_dest;
4、 恢复控制文件
(1) 控制文件本身损坏
1. 关闭数据库
Connect system/Fgp910405 as sysdba;
Shutdown immediate;
2. 拷贝这个损坏文件对应的一个多路复用文件,覆盖掉原来的损坏文件
8控制文件和日志文件
3. 重新启动数据库
Startup;
(2) 磁盘介质永久性损坏
1. 关闭数据库实例
Shutdown immediate;
将当前控制文件的一个多路复用文件复制到一个新的可用位置
2. 编辑初始化参数
Alter system set control_files=
‘路径’,
Scope=spfile;
3. 重新启动数据库
Startup;
六、控制文件的删除
如果控制文件的位置不再合适时,可以从数据库中删除
1. 关闭数据库
Shutdown
2. 编辑初始化参数control_files,清除掉打算要删除的控制文件名称
Alter system set control_files=
‘路径’,
Scope=spfile;
3. 重新启动数据库
Startup
七、查询控制文件信息
与控制文件有关的数据字典
V$controlfile包含所有控制文件的名称和状态信息
V$controlfile_record_section包含控制文件中各个记录文档段的信息
V$parameter包含了系统的所有初始化参数,从中可以查询参数control_files值
使用v$controlfile_record_section视图 …… 此处隐藏:5153字,全部文档内容请下载后查看。喜欢就下载吧 ……
下一篇:多重耐药菌管理规范与程序