Oracle数据库是什么?
Oracle DataBase是⼀款关系型数据库管理系统,同类的产品还有MySQL, SQLServer等。
我们会把那个承载我们核心数据的系统笼统地成为数据库服务器。
严格意义上来讲Oracle DataBase是由两个部分组成
instance+database=数据库服务
Oracle instance:⼀组后台进程和内存结构 ,后台进程就是ps -ef || grep ora_查询出来的那些
Oracle database:存放在操作系统上的物理文件,比如datafile,logfile…
——database数据库
1.data file数据文件
在操作系统层可以看到
【select * from v$datafile;】
2.control file控制文件
- 在数据库使用过程中,Oracle数据库会不断更新控制文件,每个控制文件只与⼀个oracle数据库相关联。
- 功能和特点:
1)记录数据库当前物理状态 ,记录了数据文件datafile和日志文件logfile的所有信息。
2)维护数据库的一致性(SCN#)
3)是一个二进制小文件
4)在mount阶段被读取
5)记录RMAN备份的元数据
控制文件信息只能通过oracle数据库修改;没有数据库管理员或用户可以编辑控制文件。 - 查看控制文件信息:
【select * from v$controlfile;】
【show parameter control_files】
冗余:有两个一样的控制文件 - controlfile不能在操作系统层看到,必须手动生成控制文件到操作系统层面:
【alter database backup controlfile to trace as ‘/u01/ctl01.bak’;】 - 控制文件更新机制
当增加、重命名、删除一个数据文件或者一个联机日志文件时,Oracle 服务器进程(Server Process)会立即更新控制文件以反映数据库结构的变化。
日志写进程 LGWR 负责把当前日志序列号记录到控制文件中。
检查点进程 CKPT 负责把校验点的信息记录到控制文件中。
归档进程 ARCN 负责把归档日志的信息记录到控制文件中。
通过视图 【v$controlfile_record_section】 可以了解到控制文件中记录了大量的数据库当前状态信息 - 控制文件多元化(多路复用)
两个控制文件副本(最好三个)
每个磁盘上一个副本
至少在单独的磁盘控制器上有一个副本 - 手动添加控制文件:
1)先备份参数文件
【spfile SQL> create pfile from spfile;】
2)查看当前控制文件信息
【SQL> show parameter control_files; 】
3)修改控制文件,并在参数中增加一个新的控制文件
【 SQL> alter system set control_files=’/u01/app/oracle/oradata/orcl/control01.ctl’,
…
‘/u01/app/oracle/oradata/orcl/control04.ctl’ scope=spfile;】
4)复制控