实例=SGA+后台进程

数据库=数据文件+控制文件+重做日志文件,是一组OS文件的集合。
A.        数据文件:
用于存储数据库数据,包含系统数据(数据字典)、用户数据(表、索引)、UNDO数据等。
查看表空间:
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
CRMDATA                        ONLINE    PERMANENT
查看数据文件:
SQL> select file_name,bytes,autoextensible from dba_data_files;
 
FILE_NAME                                               BYTES AUT
-------------------------------------------------- ---------- ---
/opt/app/oracle/oradata/orcl/users01.dbf              5242880 YES
/opt/app/oracle/oradata/orcl/sysaux01.dbf           283115520 YES
/opt/app/oracle/oradata/orcl/undotbs01.dbf           36700160 YES
/opt/app/oracle/oradata/orcl/system01.dbf           513802240 YES
/opt/app/oracle/oradata/orcl/example01.dbf          104857600 YES
/opt/app/oracle/oradata/orcl/crmdata_001.dbf       2147483648 YES
一个数据库可包含多个表空间,一个表空间可包含多个数据文件。
B.        控制文件:
用于记录和维护数据库的物理结构且每个数据库至少要包含一个控制文件。
文件包含了:
1、 数据文件的位置和大小
2、 重做日志文件的位置和大小
3、 数据库名称和创建时间
4、 日志序列号
查看控制文件:
SQL> select * from v$controlfile;
 
STATUS NAME                                               IS_ BLOCK_SIZE FILE_SIZE_BLKS
------- -------------------------------------------------- --- ---------- --------------
        /opt/app/oracle/oradata/orcl/control01.ctl         NO       16384            446
        /opt/app/oracle/oradata/orcl/control02.ctl         NO       16384            446
        /opt/app/oracle/oradata/orcl/control03.ctl         NO       16384            446
C.        重做日志文件:
用于记录数据库的变化,执行实例或介质恢复时需要用到重做日志,在单实例中,只有一个重做线程(THREAD#),RAC环境下有多个。每个THREAD#对应至少两组重做日志组,重复使用。
SQL> select group#,thread#,members,status from v$log;
 
    GROUP#    THREAD#    MEMBERS STATUS
---------- ---------- ---------- ----------------
         1          1          1 INACTIVE
         2          1          1 INACTIVE
         3          1          1 CURRENT
4种状态的含义:
1. CURRENT指当前的日志文件,在进行实例恢复时是必须的;
2. ACTIVE是指活动的非当前日志,在进行实例恢复时会被用到。Active状态意味着,Checkpoint尚未完成,因此该日志文件不能被覆盖。
3. INACTIVE是非活动日志,在实例恢复时不再需要,但在介质恢复时可能需要。
4. UNUSED表示该日志从未被写入,可能是刚添加的,或RESETLOGS后被重置。
非活动重做日志的备份即为归档日志,它可保留所有数据库的历史操作。仅在archivelog模式下有效。
 
D.        参数文件:
定义了启动实例的初始化参数,包含文本参数Pfile和服务器参数SPfile两类。Pfile格式initSID.ora,SPfile格式spfileSID.ora.SID为实例名。启动顺序优先级: spfileSID --> spfile --> initSID
 
E.         口令文件:
用于验证特权用户,如sysdba、sysoper.口令文件的格式:pwdSID.ora
SQL> select * from v$pwfile_users;
USERNAME                       SYSDB SYSOP
------------------------------ ----- -----
SYS                            TRUE TRUE
 
F.         Alter文件:
由连续的按时间排序的信息和错误组成,记录了oracle内部错误、数据库损坏错误、特权用户操作、数据库物理结构等信息。位于:background_dump_dest,名称:alert_SID.log
SQL> show parameter background_dump
NAME                   TYPE        VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest         string                 /opt/app/oracle/admin/orcl/bdump
 
G.        trace 文件:
1、 后台跟踪文件:用于记录后台进程的警告或错误消息,每个后台进程都有相应的跟踪文件,文件位置:background_dump_dest,名称:SID_processname_SPID.trc。processname后台进程名,SPID指服务器进程所对应的操作系统号。
2、 服务器进程跟踪文件:用于记录服务器进程的相关信息,跟踪用户进程所执行的SQL语句,可用于诊断SQL性能问题。使用SQL跟踪前必须进行使此功能生效,位置:user_dump_dest,名称:SID_ora_SPID.trc.
SQL> show parameter user_dump
 
NAME                TYPE        VALUE
------------------- ----------- ------------------------------
user_dump_dest      string      /opt/app/oracle/admin/orcl/udump
当执行alter database backup controlfile to trace备份当前控制文件时,会将备份结果放入到user_dump_dest中。