• 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
    纺织软件
  • 相关阅读:
    图片上传-下载-删除等图片管理的若干经验总结3-单一业务场景的完整解决方案
    图片上传-下载-删除等图片管理的若干经验总结2
    HDU 1195 Open the Lock
    HDU 1690 Bus System
    HDU 2647 Reward
    HDU 2680 Choose the best route
    HDU 1596 find the safest road
    POJ 1904 King's Quest
    CDOJ 889 Battle for Silver
    CDOJ 888 Absurdistan Roads
  • 原文地址:https://www.cnblogs.com/yiwuya/p/1278686.html
Copyright © 2020-2023  润新知