Chinaunix首页 | 论坛 | 博客
  • 博客访问: 245823
  • 博文数量: 52
  • 博客积分: 2263
  • 博客等级: 大尉
  • 技术积分: 695
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-28 12:00
文章分类

全部博文(52)

文章存档

2010年(2)

2009年(20)

2008年(30)

分类: Oracle

2008-09-09 10:24:02

Oracle学习笔记

 

2008-8-28 (参考oracle联机文档和google了各种前辈的经验)

认识oracle的体系结构:

物理文件结构: 控制文件,数据文件,重做日志文件,归档文件,密码文件,参数文件

跟踪文件:

    ## 只有出现问题时,才创建跟踪文件,(*.trc)

    ## 跟踪文件名 含有后台进程名和后台进程pid,例如: orcl_ora_11889.trc

        通过设定 BACKGROUND_DUMP_DEST参数来指定后台进程跟踪文件的位置

    ## 排除数据库故障时,跟踪文件是最重要的

    ## 影响后台进程的严重问题通常记录在数据库的alert log,

        位置:/admin/sid/bdump

    ## 查看视图: v$BGprocess  来查看可用后台进程的完整清单

Sql>select  * from v$BGprocess where pserial# = 1

PADDR     PSERIAL#     NAME     DESCRIPTION                      ERROR   

 --------  -----------  -------  -------------------------------  --------

 5f86b7d4  1            PMON     process cleanup                  0       

 5f86bcd0  1            MMAN     Memory Manager                   0       

 5f86c1cc  1            DBW0     db writer process 0              0       

 5f86f8a0  1            ARC0     Archival Process 0               0       

 5f86fd9c  1            ARC1     Archival Process 1               0       

 5f86c6c8  1            LGWR     Redo etc.                        0       

 5f86cbc4  1            CKPT     checkpoint                       0       

 5f86d0c0  1            SMON     System Monitor Process           0       

 5f86d5bc  1            RECO     distributed recovery             0       

 5f86dab8  1            CJQ0     Job Queue Coordinator            0       

 5f870298  1            QMNC     AQ Coordinator                   0       

 5f870794  1            MMON     Manageability Monitor Process    0       

 5f870c90  1            MMNL     Manageability Monitor Process 2  0        

 

 

 

 

各个物理文件的详细说明:

控制文件:  

    文件名:         controlfile01.ctl

                    controlfile02.ctl

                    controlfile03.ctl

    路径:  /u01/app/oracle/oradata/orcl/(orcloracle_sidoracle实例的名称)

 

    作用:       oracle数据库通过“controlfile(控制文件)”保持数据库的完整性,controlfile损坏,则数据库无法启动;所以需要采用多路控制文件,或者备份控制文件

 

    修改:       Controlfile(控制文件)是在数据库建立的时候自动生成的binary(2)文件格式,不能手工修改.只能实例下修改.否则database 不能正常工作.

 

    Controlfile包括:

        控制文件所属的数据库的名字,一个控制文件只能属于一个数据库.

        数据库创建的时间.

        数据文件的名称,位置,联机,脱机状态信息

        所有表空间信息

        当前日志序列号

        最近检查点信息

 

# 控制文件的各类信息的建立时间:

数据库名称,标识,创建时间,在建库时写入controlfile;

数据文件,重做日志名称和位置在增加/重命名/删除 时更新;

表空间信息 在增加/删除 表空间的时候更新;

建立多路控制文件:

在初始化参数文件pfile,control_file参数主要来描述控制文件的文件名和物理路径,如下所示:

Control_files=’/u01/app/orcl/oradata/orcl/control01.tcl’,

‘/usr/local/orcl/control02.ctl’,

‘/home/oracle/orcl/control03.ctl’

不同路径下都有control_file的做法叫做多路控制文件,oracle利用这种方法恢复被破坏的控制文件,最多允许设置8个多路控制文件

注意: 必须所有的控制文件都完整,正确. 数据库才能正常启动

对控制文件的管理原则:

明确控制文件的文件名/ 路径

参数设置错误-------无法打开数据库

数据库 open ,实例将写入所有的控制文件,but 只读取第一个控制文件的内容

为数据库创建多路控制文件

多路的控制文件的内容必须一样; oracle实例将信息所有control_files设定的控制文件中.

初始化文件pfile中的control_files中列出的第一个控制文件是数据库运行期间唯一可读取的控制文件

创建/备份/恢复 控制文件必须关闭数据库, 这样才能保证操作过程中控制文件不被修改

数据库运行期间,如果控制文件不可用,那么,实例将不再运行.----因该中止这个实例,并对被破坏的控制文件进行修复

将多路控制文件放到不同的硬盘上保存

采用操作系统镜像方式备份控制文件

手工备份 控制文件:

当 添加/删除/重命名 数据文件时.

当 添加/删除 表空间时,改变表空间的读写状态时

当 添加/删除 重做日志时

如果手工备份控制文件不及时的话,就会使备份的control file 和 当前使用的control_file不一致;如果这时用备份的control_file启动数据库,那么就会丢失数据

甚至不能启动数据库.

 

创建多路control_file:

利用spfilecontrol_file

sys帐号登陆sqlplus,查询一下文件信息视图

SQL> select name from v$controlfile;

回显如下:

NAME

--------------------------------------------------------------------------------

/u01/app/oracle/oradata/orcl/control01.ctl

/u01/app/oracle/oradata/orcl/control02.ctl

/u01/app/oracle/oradata/orcl/control03.ctl

修改control_file的信息:

命令: alter system set control_files=’’ scope=spfile;

关闭数据库:  shutdown immediate;

在操作系统中 将已有的控制文件 复制----à 重命名后保存到上面增加控制文件指定的位置.

restart  database  to enable spfile .

利用pfilecontrol_file

spfile 建立 控制文件的方法差不多

进入sqlplus, 用命令: create pfile from spfile;生成pfile ,再修改pfile即可.

备份控制文件:

进入sqlplus

alter database backup controlfile to ‘存放路径/文件名’;

# 注意: 存放路径/ 一定得先建立.

命令: alter database backup controlfile to trace;

# $oracle_base/admin/$oracle_sid/udump/里生成跟踪文件.

 

阅读(1019) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~