Oracle的控制文件和日志文件

--什么是控制文件
  控制文件是数据库的一个二进制文件,它主要记录数据库的名称、
数据库的数据文件存放位置等信息。
  一个控制文件只能属于一个数据库。如果控制文件丢失,这数据库就无法操作。
--下面查询语句必须在 sql plus工具中执行。
--查询控制语句数据字典
desc v$controlfile;

--什么是日志文件
日志文件在Oracle数据库中分为重做日志文件和归档日志文件两种。重做日志文件
是Oracle数据库正常运行不可缺少的文件。重做日志文件主要记录了数据库
操作过程。用于备份和还原数据库,以达到数据库的最新状态。

--查看日志文件信息的数据字典
desc v$logfile
--查看日志文件的数据字典
desc v$database

select name as 数据库名称,log_mode as 归档模式 from v$database;

--查看控制文件的内容
select name as 文件位置,status as 文件状态 from v$controlfile;

--数据库的初始化文件里配置这控制文件的路径
初始化文件init.ora,init.ora文件在安装目录下admin\orcl\pfile

--实现多路复用控制文件的方式,就是将控制文件(ctl)放到不同的磁盘物理位置,通过初始化文件
--init.ora配置就可以实现多路复用了。

--使用spfile多了复用控制,也事件通过命令修改init.ora文件配置信息。
--具体步骤
1、修改control_files参数,数据库必须是打开状态
Alter system set control_files='ctl文件位置'
,'ctl文件位置','ctl文件位置' scope=spfile;

2、关闭数据库,因为数据库打开时,任何控制文件是无法操作的。
shutdown immediate;
3、通过dos工具的copy命令复制控制文件到指定位置。也可以手动赋值。
copy 旧文件 , 新文件
4、启动数据库实例并验证
startup 启动命令


--创建控制文件
1、查看数据库需要的日志文件和和数据文件
select name from v$datafile;--查询数据库数据文件
select member from v$logfile;--查询数据库日志文件

2、关闭数据库,为了数据库安全,关闭数据库之前要将日志文件、数据文件、参数文件等备份到其它位置。
shutdown immediate;

3、创建新的控制文件
必须启动的实例:startup nomount;
create controlfile 
reuse database "数据库名称" 
[ noresetlogs | resetlogs]  --noresetlogs是否重做日志或重命名数据库;resetlogs非重做日志或重命名数据库
[ noarchivelog | archivelog ] --noarchivelog非归档模式;archivelog归档模式
maxlogfiles  --日志文件大小
maxlogmembers --日志文件组成员数
maxinstances --最大实例数
maxloghistory --最大历史日志文件数
logfile --日志文件
group 1 '日志文件路径' size 日志文件大小,
...
group n '日志文件路径' size 日志文件大小
datafile --数据文件
'路径1',..,'路径n'
 Character set we8dec;
 
 --实例
 create controlfile
 reuse database "orcl" noresetlogs 
 noarchivelog 
 maxlogfiles 35
 maxlogmembers 3
 maxinstances 1
 maxloghistory 400
 logfile
 group 1 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG' size 50M,
 group 2 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG' size 50M,
 group 3 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG' size 50M
 datafile
 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF',
 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF',
 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF' 
 character set we8dec;
 4、修改init.ora中controlfiles参数
 Alter system set control_files='ctl文件位置'
,'ctl文件位置','ctl文件位置' scope=spfile;
5、验证控制文件
重启数据库,查看数据字典,检查控制文件是否全部正确加载。
数据库启动不了,就重新启动数据库服务。


--日志文件管理
--创建重做日志组
alter database [database_name]
add logfile group n
filename size m;

 database_name:数据库名称。
 n:日志组的组号。
 filename:日志文件组存储的位置。
 m:日志文件组的大小,默认为50M。
 --实例
 alter database add 
 logfile group 8 
 <'E:\APP\ADMINISTRATOR\ORADATA\ORCL\NewLog8.log'>
 size 15M;
 ---给日志文件组添加日志文件组
 alter database [database_name]
 add logfile member
 filename to group n;
 database_name:数据库名称,默认当前数据库
 filename:日志文件的地址。
 n:日志文件组名。
 
 --实例
 alter database
 add logfile member
 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\NewLog10.log' to group 8;
 
 --查看日志文件组
 select  * from v$log;
  
 --删除日志组
 alter database [database_name]
 drop logfile
 group n;
 --删除日志文件
 alter database [database_name]
 drop logfile member
 filename;
 

 
 
 
  

 

posted on 2017-03-15 20:18  拿着菜刀  阅读(6104)  评论(0编辑  收藏  举报

导航