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

2024年 1月 10日 88.6k 0

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 ;
————————————————
版权声明:本文为CSDN博主「it技术分享just_free」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/CHENSMALLYUN/article/details/133921959

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论