zoukankan      html  css  js  c++  java
  • 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文件在安装目录下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;
     
    
     
     
     
      
  • 相关阅读:
    线性dp
    Python3.6.5编译报错 configure: error: no acceptable C compiler found in $PATH
    hadoop伪分布式安装流程
    hadoop需要修改的配置文件
    Linux 免密登录和配置环境变量
    虚拟机修改主机名
    Netty自定义解码器
    Java 操作KafKa API
    Mysql分表:Merge
    CentOS7虚拟机配置ip地址
  • 原文地址:https://www.cnblogs.com/gynbk/p/6556157.html
Copyright © 2011-2022 走看看