• Oracle 控制文件的作用与控制文件创建


    1、控制文件存储的数据信息
    1) 数据库名称和数据库唯一标识符 (DBID),通过 select name,dbid from v$database; 查 询 DBID 和数据库名称
    2) 创建数据库的时间戳
    3) 有关数据文件、联机重做日志文件、归档重做日志文件的信息
    4) 表空间信息
    5) 检查点信息
    6) 日志序列号信息
      控制文件包含数据文件、联机重做日志文件等信息。
      控制文件也会跟踪数据库的结构变化。
      控制文件包含未打开数据库时必须可访问的元数据。
    2、至少有一个控制文件、建议有多个控制文件 ,多个控制文件的好处
    3、控制文件在什么时候用
    4、控制文件位置
    SQL> select name from v$controlfile ;
    NAME
    ------------------------------------
    D:\ORCL\ORADATA\ORCL\CONTROL01.CTL
    D:\ORCL\ORADATA\ORCL\CONTROL02.CTL
    5、控制文件的增加、删除、重定位、重命名
    例:增加:
    SQL> show parameter control_files ;
    SQL>   alter         system          set control_files='D:\ORCL\ORADATA\ORCL\CONTROL01.CTL','D:\ORCL\ORADATA\ORCL\CONTRO L02.CTL','D:\ORCL\ORADATA\ORCL\CONTROL03.CTL' scope=spfile ;
    SQL> shutdown immediate
    打开控制文件所在位置,复制生成新的控制文件即可
    SQL> startup
    SQL> show parameter control_files ;
    SQL> select name from v$controlfile ;
    删除、重定位、重命名的操作和上面的步骤类似
    另外一种做法:
    1) 关闭数据库
    2) 利用操作系统命令复制生成新的控制文件
    3) 修改 pfile 中的 control_files
    4) 生成 spfile
    5) 启动数据库
    6、控制文件备份
    1) 备份二进制文件
    SQL> alter database backup controlfile to 'd:\control_back.ctl' ;
    2) 备份文本文件
    SQL> alter database backup controlfile to trace as 'd:\control__back_text.ctl' ;

    备份控制文件 备份控制文件是非常重要的,在对数据库的物理结构进行改变后,也需要重 新对控制文件进行备份,这些操作包括:
      增加、删除、重命名数据文件;
      增加、删除表空间
      增加、删除日志组或日志文件
    7、创建控制文件 打开数据库归档
    1) 查看数据库归档情况 SQL> archive log list
    2) 关闭数据库
    SQL> shutdown immediate
    3) 启动数据库到mount
    SQL> startup mount
    4) 打开归档
    SQL> alter database archivelog ;
    SQL> alter database noarchivelog ;
    SQL> alter database archivelog ;
    5) 打开数据库
    SQL> alter database open ;
    SQL> archive log list
    6) SQL> shutdown immediate
    7) 删除所有的控制文件 ,模拟控制文件丢失
    8) 将数据库启动到 NOMOUNT SQL> startup nomount
    SQL> select status from v$instance ;
    9) 执行创建控制文件的语句
    CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 1024
    MAXINSTANCES 8
    MAXLOGHISTORY 292
    LOGFILE
    GROUP 1 'D:\ORCL\ORADATA\ORCL\REDO01.LOG'  SIZE 200M BLOCKSIZE 512,
    GROUP 2 'D:\ORCL\ORADATA\ORCL\REDO02.LOG'  SIZE 200M BLOCKSIZE 512,
    GROUP 3 'D:\ORCL\ORADATA\ORCL\REDO03.LOG'  SIZE 200M BLOCKSIZE 512
    DATAFILE
    'D:\ORCL\ORADATA\ORCL\SYSTEM01.DBF',
    'D:\ORCL\ORADATA\ORCL\SYSAUX01.DBF',
    'D:\ORCL\ORADATA\ORCL\UNDOTBS01.DBF',
    'D:\ORCL\ORADATA\ORCL\PDBSEED\SYSTEM01.DBF',
    'D:\ORCL\ORADATA\ORCL\PDBSEED\SYSAUX01.DBF',
    'D:\ORCL\ORADATA\ORCL\USERS01.DBF',
    'D:\ORCL\ORADATA\ORCL\PDBSEED\UNDOTBS01.DBF',

    'D:\ORCL\ORADATA\ORCL\ORCLPDB\SYSTEM01.DBF',
    'D:\ORCL\ORADATA\ORCL\ORCLPDB\SYSAUX01.DBF',
    'D:\ORCL\ORADATA\ORCL\ORCLPDB\UNDOTBS01.DBF',
    'D:\ORCL\ORADATA\ORCL\ORCLPDB\USERS01.DBF'
    CHARACTER SET AL32UTF8
    ;
    10) 查看数据状态
    SQL> select status from v$instance ;
    STATUS
    ------------------------
    MOUNTED
    11) 启动数据库
    SQL> alter database open ;
    SQL> select name from v$controlfile ;

  • 相关阅读:
    MySQL 多表查询
    测试驱动开发 001:VSCode + CMake + CppUTest 环境搭建
    事件触发策略
    JS-项目实战-点击水果名修改特定水果库存记录
    软考高级五大证书,哪个更值得考?
    基于Java的智能停车场管理系统设计与实现(源码+lw+部署文档+讲解等)
    逐鹿千亿市场:一碗中国面的魅力
    STM32F407 2个高级定时器生成2路无刷电机波形以及相电流采集程序(寄存器版)
    01_Maven
    EffectiveC++-条款38:通过复合塑模出 has-a 或 根据某物实现出
  • 原文地址:https://blog.csdn.net/CHENSMALLYUN/article/details/133921959