实例=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中。