Oracle存储结构_文件

这篇文章是参考甲骨论老相老师的教学视频
http://v.youku.com/v_show/id_XMzk4NjkzMDY0.html
所做的学习笔记



构成oracle数据库的文件可以包括如下图的几种..
Oracle存储结构_文件 - 饥民 - 饥民2011

其种最重要的是下面这种文件:
控制文件, 数据文件, 联机重做文件。
因为这3种文件一旦出错, 数据库就会崩溃, 所以这3种文件也统称为联机文件, 也就是支持oracle数据库运行的必须文件。

Oracle存储结构_文件 - 饥民 - 饥民2011
 

1.控制文件
        包含有关数据库本身的数据和物理结构信息。 数据文件对数据库而言至关重要,没有这些文件,就无法打开访问数据库数据的数据文件。

        1.1 查看控制文件
        可以用如下语句来查看数据库控制文件的位置。
        select name,type,value from  v$parameter where name like '%control%';
     select name from v$controlfile;
     
     
     执行结果:
    

Oracle存储结构_文件 - 饥民 - 饥民2011

        可以见到我的数据库当前有两个数据文件。
        它们存放的路径位置不同,文件名也不同, 但是它们实际上互为镜像的关系, 也就是互相备份啦, 所以生产中最好把他们放在不同的硬盘上。
        
Oracle存储结构_文件 - 饥民 - 饥民2011
         
         控制文件一般都不大,上图是9.3m, 而且大小变化一般变化很大。

2.数据文件
        
数据文件就是存放数据库表里面的数据的。
         通常数据文件是非常巨大的.
         数据文件没有镜像, 但是数据文件并不容易出问题, 因为所有的改动我们可以通过日志来重现。
         但是为了避免由于硬盘问题导致数据文件丢失,我们还是需要为数据文件作备份。
         而旧的备份文件可以通过日志文件变成最新的。
         也就是最需要一份旧的数据文件和足够的日志文件,我们就可将他还原成最新的。
         所以数据文件坏了并不可怕, 怕的是日志文件出问题。

       
2.1 查看数据文件
        可以通过如下命令来查看数据库的数据文件
        select file_name, Tablespace_name from dba_data_files;
        select name from v$datafile;

        执行结果:
       
Oracle存储结构_文件 - 饥民 - 饥民2011

Oracle存储结构_文件 - 饥民 - 饥民2011

如上图, 由于我的是新安装的空数据库, 但是数据文件也比较大了, 如果是生产环境, 数据文件的大小就以GB计了.

3.联机重做日志文件(online redo logfiles)
       
日志文件就是用于记录数据文件的改动,可以用来实现数据库的实例恢复。如果数据库已经崩溃但未丢死后任何数据文件,那么使用这些联机日志文件可以通过实例恢复数据库。
      

       3.1 查看联机重做日志文件
      
可以通过如下命令来查看数据库的数据文件   
        select group#,member from v$logfile;
       
      
Oracle存储结构_文件 - 饥民 - 饥民2011

Oracle存储结构_文件 - 饥民 - 饥民2011
 
 
         如上图,见到我当前数据库有3个日志组, 每个日志组有1个成员.
        
        上面所述3种联机日志一定要放到存储上, 什么意思呢, 假如有个数据库, 包含两个服务器共享个存储
,那么两个服务器可以分别装oracle软件, 但是联机文件一定要放到存储上。







========================================================================
下面的是非联机文件

4.参数文件
          就是用来存放oracle的参数啦, 通常是指spfile.
          可以如下语句获得spfile的位置
          select name,type,value from v$parameter where name like '%spfile%';
          show parameter spfile;
         
Oracle存储结构_文件 - 饥民 - 饥民2011

           原则上, Oracle启动时会访问一次参数文件, 以后就基本不用了,也就是说参数文件损坏的话,对运行中的oracle数据库无影响,当然,再修改参数时就有问题了。

            参数文件是1个二进制文件,最好不用直接修改.

5.备份文件
            
备份文件可以用于备份上面的各种文件,但最重要的是备份(归档)日志文件和数据文件。
              有1个原则性的注意点,就是备份文件是离线文件,千万不能放在存储上。

              

6.归档日志文件(archived log files)
             
归档日志文件就是联机重做日志的归档文件。在数据库上可以用如下命令来查看归档日志文件的位置.
              但是不一定准确:
               select * from v$archived_log

                归档日志文件是离线文件,所以有可能被copy走或删除,所以上面命令只能反映出oracle当年生成归档位置。
                归档日志也不能放在在线存储上, 因为存储经常出问题, 一出问题就肯定丢数据。


7.口令文件
              
当远程用
sysdba 身份登陆数据库时会用到这个口令文件, 口令文件损坏或丢失也影响不大,可以临时再生成


8.预警和跟踪日志文件(alert log files)
                
  这种日志文件并不是用来记录数据库数据的变化的, alert log文件是用于记录数据库重大操作和错误的信息,它是问题诊断的入口。
            
                   在oracle 11g中, alert 日志文件一般以xml 文件的形式存储, 当然也提供文件文件的格式
                   用如下命令可以查看alert 文件日子的位置
                   

Oracle存储结构_文件 - 饥民 - 饥民2011
                    
                     上图中alert 是1个folder,里面的log.xml 文件就是xml格式的alert log 文件, 而trace/alert_<sid>.log:则是文本格式的

                      我们再观察下/u01/app/oracle/project/diag/rdbms/orcl/orcl/trace 这个文件夹:
                      

Oracle存储结构_文件 - 饥民 - 饥民2011
 
           见到许多trace文件,这里包含用户trace 自己或他人的记录, 也包括lgwr自动产生的记录,当一个server process出现异常时,系统一般会把当时内存状态(PGA 信息)记录下来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nvd11

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值