--什么是控制文件 控制文件是数据库的一个二进制文件,它主要记录数据库的名称、 数据库的数据文件存放位置等信息。 一个控制文件只能属于一个数据库。如果控制文件丢失,这数据库就无法操作。 --下面查询语句必须在 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文件在安装目录下adminorclpfile --实现多路复用控制文件的方式,就是将控制文件(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:APPADMINISTRATORORADATAORCLREDO01.LOG' size 50M, group 2 'E:APPADMINISTRATORORADATAORCLREDO02.LOG' size 50M, group 3 'E:APPADMINISTRATORORADATAORCLREDO03.LOG' size 50M datafile 'E:APPADMINISTRATORORADATAORCLSYSTEM01.DBF', 'E:APPADMINISTRATORORADATAORCLSYSAUX01.DBF', 'E:APPADMINISTRATORORADATAORCLUNDOTBS01.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:APPADMINISTRATORORADATAORCLNewLog8.log'> size 15M; ---给日志文件组添加日志文件组 alter database [database_name] add logfile member filename to group n; database_name:数据库名称,默认当前数据库 filename:日志文件的地址。 n:日志文件组名。 --实例 alter database add logfile member 'E:APPADMINISTRATORORADATAORCLNewLog10.log' to group 8; --查看日志文件组 select * from v$log; --删除日志组 alter database [database_name] drop logfile group n; --删除日志文件 alter database [database_name] drop logfile member filename;