zoukankan      html  css  js  c++  java
  • 2.1.1 数据库文件

    1,数据文件

    数据文件 = 系统数据(数据字典)+ 用户数据(表、索引、簇)+ UNDO 数据 + ...

    建立数据库或表空间时,数据文件是通过DATAFILE 选项指定的。

    数据库逻辑上是由一个和多个表空间组成,而表空间物理上由一个和多个数据文件组成。

    (1)表空间。

    表空间不同,需要采用的备份与恢复策略也有所不同。SYSTEM 表空间必须在MOUNT 状态恢复,数据表空间则可以在OPEN状态恢复,临时表空间不需要恢复。

    通过查询数据字典视图dba_tablespaces可以得到表空间的详细信息。

    SQL> conn / as sysdba
    已连接。
    SQL> select tablespace_name, status, contents from dba_tablespaces;

    TABLESPACE_NAME                STATUS    CONTENTS
    ------------------------------ --------- ---------
    SYSTEM                                   ONLINE    PERMANENT
    UNDOTBS1                              ONLINE    UNDO
    SYSAUX                                   ONLINE    PERMANENT
    TEMP                                      ONLINE    TEMPORARY
    USERS                                     ONLINE    PERMANENT
    EXAMPLE                                ONLINE    PERMANENT

    已选择6行。  

    (2)数据文件。

      表空间由一个或多个数据文件组成,表空间尺寸实际就是其所包含的所有数据文件尺寸之和。

    通过查询数据字典dba_data_files,可以显示数据文件的信息。

    SQL> select tablespace_name,file_name, bytes from dba_data_files;

    TABLESPACE_NAME                FILE_NAME                                                               BYTES
    ------------------------------ ------------------------------------------------------------ ----------
    USERS                          D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF             615776256
    SYSAUX                         D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF            272629760
    UNDOTBS1                       D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF            89128960
    SYSTEM                         D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF            524288000
    EXAMPLE                        D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF           104857600
    USERS                          D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF               1048576

    已选择6行。

    通过查询动态性能视图v$datafile_header 和 v$datafile 可以获得数据文件的动态信息。v$datafile_header的动态信息来源于数据文件的头部,v$datafile 的动态信息来源于控制文件。

    SQL> select a.NAME, a.CHECKPOINT_CHANGE# "Begin SCN", b.CHECKPOINT_CHANGE# "End SCN"
      2  from v$datafile_header a, v$datafile b
      3  where a.FILE# = b.FILE#;

    NAME                                                                                                  Begin SCN    End SCN
    ------------------------------------------------------------ ---------- ----------
    D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF               1252255    1252255
    D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF             1252255    1252255
    D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF                1252255    1252255
    D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF                  1252255    1252255
    D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF             1252255    1252255
    D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF                  1252255    1252255

    已选择6行。

     

    2,重做日志(Online Redo Log)

    每个重做线程至少要包含两个重做日志组,并且这些重做日志组是循环使用的。

    (1)日志组。

    在单例程环境中,只有一个重做线程;在RAC(Real Application Cluster)环境中,包括多个重做线程。

    通过查询动态性能视图V$LOG 可以显示重做线程的所有日志组信息。

    SQL> conn / as sysdba
    已连接。
    SQL> set linesize 1000
    SQL> col group# format 99999
    SQL> col status format a8
    SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS   FIRST_CHANGE# FIRST_TIME
    ------ ---------- ---------- ---------- ---------- --- -------- ------------- --------------
         1          1         35   52428800          1 NO  CURRENT        1299054 28-8月 -08
         2          1         33   52428800          1 NO  INACTIVE       1226432 25-8月 -08
         3          1         34   52428800          1 NO  INACTIVE       1252254 26-8月 -08

    (2)日志成员。

    日志组是由一个或多个日志成员组成的。

    通过查询动态性能视图V$LOGFILE,可以显示所有日志成员的信息。

    SQL> select group#, status, member from v$logfile;

    GROUP# STATUS   MEMBER
    ------ -------- --------------------------------------------------
         3 STALE    D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
         2 STALE    D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
         1          D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG

    3,控制文件(Control File)

    控制文件用于记录和维护数据库的物理结构,并且每个Oracle 数据库至少要包含一个控制文件。当使用Oracle Server时,一个例程只能访问一个数据库,Oracle 正是通过控制文件在例程和数据库之间建立关联的。当装载数据库时,Oracle 会根据初始化参数control_files 来定位控制文件;当打开数据库时,Oracle 会依据控制文件所记载的信息打开所有数据文件和重做日志。

    通过查询动态性能视图V$ControlFile 可以显示当前数据库的所有控制文件。

    SQL> select name from v$controlfile;

    NAME
    ---------------------------------------------------------------------------
    D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL
    D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL
    D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL

     

    4,归档日志(Archived Redo Log)

    归档日志是非活动重做日志的备份。

    通过查询动态性能视图V$Archived_Log 可以显示归档日志信息。

    SQL> desc v$archived_log;
    名称                                是否为空? 类型
    ----------------------------------- -------- --------------------
    RECID                                        NUMBER
    STAMP                                        NUMBER
    NAME                                         VARCHAR2(513)
    DEST_ID                                      NUMBER
    THREAD#                                      NUMBER
    SEQUENCE#                                    NUMBER
    RESETLOGS_CHANGE#                            NUMBER
    RESETLOGS_TIME                               DATE
    RESETLOGS_ID                                 NUMBER
    FIRST_CHANGE#                                NUMBER
    FIRST_TIME                                   DATE
    NEXT_CHANGE#                                 NUMBER
    NEXT_TIME                                    DATE
    BLOCKS                                       NUMBER
    BLOCK_SIZE                                   NUMBER
    CREATOR                                      VARCHAR2(7)
    REGISTRAR                                    VARCHAR2(7)
    STANDBY_DEST                                 VARCHAR2(3)
    ARCHIVED                                     VARCHAR2(3)
    APPLIED                                      VARCHAR2(3)
    DELETED                                      VARCHAR2(3)
    STATUS                                       VARCHAR2(1)
    COMPLETION_TIME                              DATE
    DICTIONARY_BEGIN                             VARCHAR2(3)
    DICTIONARY_END                               VARCHAR2(3)
    END_OF_REDO                                  VARCHAR2(3)
    BACKUP_COUNT                                 NUMBER
    ARCHIVAL_THREAD#                             NUMBER
    ACTIVATION#                                  NUMBER
    IS_RECOVERY_DEST_FILE                        VARCHAR2(3)
    COMPRESSED                                   VARCHAR2(3)
    FAL                                          VARCHAR2(3)
    END_OF_REDO_TYPE                             VARCHAR2(10)

    5,参数文件(Parameter File)

    参数文件用于定义启动例程的初始化参数。参数文件包括文本参数文件(PFILE)和服务器参数文件(SPFILE)两种类型。

    除了DB_NAME、DB_BLOCK_SIZE 和 DISPATCHERS 等少数几个初始化参数之外,其它多数初始化参数可以直接通过修改SPFILE来进行改变。

    例:ALTER SYSTEM SET RESOURCE_LIMIT=TRUE SCOPE=SPFILE;

    6,口令文件(Password File)

    口令文件用于验证特权用户,特权用户是指具有SYSDBA 和SYSOPER 权限的特殊数据库用户。

    通过查询动态性能视图V$PWFILE_USERS,可以显示口令文件成员。

    SQL> select * from v$pwfile_users;

    USERNAME                       SYSDB SYSOP
    ------------------------------ ----- -----
    SYS                            TRUE  TRUE

    7,预警文件(Alert File)

    预警文件由连续的消息和错误组成,并且这些消息和错误是按照时间顺序来存放的。预警文件存放着Oracle 内部错误、数据块错误、非默认的初始化参数、特权用户操作(例如启动例程、关闭例程、备份和恢复等)、数据库物理结构变化等信息。预警文件的位置由初始化参数BACKGROUND_DUMP_DEST 确定,其名称格式为 alert_SID.log,并且其信息由服务器进行和后台进行(DBWR、LGWR)写入。

    8,后台进程跟踪文件(Background Trace File)

    后台进程跟踪文件用于记载后台进程的警告或错误消息,每个后台进程都有相应的跟踪文件,文件名称格式为 SID_processname_SPID.trc,其中processname 是后台进程名,SPID 是后台进程所对应的OS进程号。

    9,服务器进程跟踪文件(Server Trace File)

    服务器进程跟踪文件用于记载服务器进程的相关信息,它主要用于跟踪用户进程所执行的SQL语句。当使用ALTER DATABASE BACKUP CONTROLFILE TO TRACE 命令时,Oracle 会将控制文件的建立信息写入服务器进程跟踪文件。当控制文件全部损坏时,使用服务器跟踪文件可以重新建立控制文件。

    E-MAIL:yiwuya@hotmail.com
    MSN:yiwuya@hotmail.com
    QQ:304899972
    纺织软件
  • 相关阅读:
    linux下文件夹的创建、复制、剪切、重命名、清空和删除命令
    Linux 删除文件夹和创建文件的命令
    linux下拷贝整个目录
    星云大师:这十句话 我受用一生
    dex
    瘋耔java语言笔记
    VCC_VID_VTT等的含义
    一位数码管引脚
    android从应用到驱动之—camera(2)---cameraHAL的实现
    android从应用到驱动之—camera(1)---程序调用流程[转]
  • 原文地址:https://www.cnblogs.com/yiwuya/p/1278686.html
Copyright © 2011-2022 走看看