oracle的物理组件

Oracle 数据库

Oracle 数据库

数据库的物理组件

数据库是保存在操作系统的一系列文件。

默认安装情况下,这些文件都在 $ORACLE_BASE/oradata 文件夹下:

oradata/
└── orcl [数据库的名字]
    ├── CONTROL01.CTL
    ├── CONTROL02.CTL
    ├── EXAMPLE01.DBF
    ├── REDO01.LOG
    ├── REDO02.LOG
    ├── REDO03.LOG
    ├── SYSAUX01.DBF
    ├── SYSTEM01.DBF
    ├── TEMP01.DBF
    ├── UNDOTBS01.DBF
    └── USERS01.DBF

从文件角度分析,一个数据库包含下面几类(组件):

  1. 控制文件(control file)。记录数据库的物理结构和其他信息,如数据库名称、各种文件位置等。多副本。
    select * from v$controlfile;
    
  2. 数据文件(data file)。用来存储数据的文件,会自动扩张。数据以块为单位进行保存。
    select name, status, enabled from v$datafile;
    
  3. 重做日志文件(redo log)。用来记录用户的所有操作,为了备份恢复。 一个数据库至少有两个日志组,每个日志组至少有一个成员,成员之间是镜像关系。 用户的操作会记录到 redo log 中,当一个组记录满了,会自动切换到下一个组。轮流循环。
    -- 需要理解 Oracle 日志的思路:
    -- 它采取了【多个分组,轮流循环写入;每组多成员,互为镜像;保存更多信息,使用归档模式】的方式,保证了记录安全性。
    -- 在生产环境中,需要日志调整到不同的磁盘中,这样,即使某个文件损坏,或某块磁盘损坏,都可以通过镜像的日志文件对数据进行恢复。
    
    -- 查看 redo log 日志组
    select * from v$log;
    select * from v$logfile;
    
    -- 增加/删除 日志组
    alter database add  logfile 'd:/sss.rlog' size 100m;
    alter database drop logfile 'd:/sss.rlog';
    
    -- 清空日志组
    alter database clear logfile group 1;
    alter database clear unarchived logfile group 1;
    
    -- 为日志组 增加/重命名/删除 成员
    alter database add  logfile member 'd:/ssss.log' to group 1;
    alter database rename file 'd:/ssss.log' to 'd:/ssss.rlog';
    alter database drop logfile member 'd:/ssss.rlog';
    
    -- 日志组一般是在写满的时候自动切换。
    -- 我们也可以手动切换
    alter system switch logfile;
    

  4. 归档日志文件。是重做日志的补充(redo log 记录的记录是有限的),可以把写满的 redo log 进行备份。
    -- Oracle 的归档模式默认是关闭的
    -- 归档模式会占用大量空间
    -- 但他们用更多的空间,保存更多的历史记录,保障更大的安全性
    
    -- 查看状态
    archive log list;
    
    -- 切换数据库到归档模式
    alter database archivelog;
    
    -- 启动
    archive log start;
    
    -- 查看状态
    archive log list;
    

  5. 其他文件


3.4 数据库的逻辑组件

从 Oracle 内部管理数据的角度,可以将 Oracle 分为4个组件:

  1. 表空间(tablespace)
  2. 段(Segment)
  3. 区(Extend)
  4. 块(Block)




  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值