注:
1).数据库特指数据文件;
2)进程和内存组成了实例。
1.数据文件:
数据文件是真正用来记录用户数据的文件,一个数据文件只能属于一个数据库,并且一个数据文件只能属于一个表空间。
查看表空间物理文件名称,路径及大小:
select tablespace_name,
file_id,
file_name,
round(bytes /(1024 * 1024), 0) total_space
from dba_data_files
order by tablespace_name;
数据文件创建方式:
新建表空间:
create tablespace test datafile '/u01/app/oracle/oradata/orcl/test01.dbf'
size 5m autoextend on next 5m maxsize 50m extent management local;
已存在表空间增加数据文件:
alter tablespace users add datafile'/u01/app/oracle/oradata/orcl/users02.dbf';
删除方式:删除表空间的同时删除数据文件,直接删除数据文件会报错。
drop tablespace test_data includingcontents and datafiles;--删除表空间时删除数据文件
alter tablespace users drop datafile'/u01/app/oracle/oradata/orcl/users02.dbf';--删除表空间里的某个数据文件
2.控制文件
控制文件中记录着数据库的名称,数据库的物理布局:包括数据文件的位置、联机日志文件、备份文件以及数据库当前SCN等重要信息,在数据库启动的第二阶段会读入控制文件。
要求控制文件有多个拷贝,以防单个文件损坏后危害数据库。当数据库修改控制文件时,所有拷贝都要同时被修改。
查看方式:
select * from v$controlfile;
show parameter control_files;
创建控制文件副本的步骤:
1)修改参数文件
alter system set control_files ='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/flash_recovery_area/orcl/control02.ctl'scope=spfile;
2)停止数据库
SQL> shutdown immediate;
3)复制控制文件
cp /u01/app/oracle/oradata/orcl/control01.ctl /u01/app/oracle/flash_recovery_area/orcl/control02.ctl
4)启动数据库
SQL> statup
5)验证,查看v$controlfile
SQL> select name from v$controlfile;
删除控制文件副本的步骤与创建的步骤相比,少了一步复制控制文件。
3.日志文件
日志文件是按照时间顺序记录数据库内发生的所有改变的“流水账”。
日志文件记录的是Redo Records,每个Redo Records代表着一个数据块发生的变化。一个事务会涉及多个数据块内容改变,所以会包含多个Redo Records。这些Redo Records会记录事务的如下内容:
事务的开始时间;
事务的名称;
对象名称;
数据被更改前的状态,也叫前镜像;
数据被修改后的状态,也叫后镜像;
commit标记;
触发写操作的时机:
commit操作;累计的Redo Log 达到1M;Redo LogBuffer使用超过了总容量的1/3.
日志文件一般是以组的形式存在,每一个组内的成员内容完全一样;日志写完一个日志组后会切换到下一个日志组。
日志文件的查看:
select * from v$logfile;
日志文件内容查看:使用LogMiner。
日志文件组增加:
alter database add logfile group n('路径') size100M;
日志文件组删除;:
alter database drop logfile group 4;--只能删除INACTIVE状态的日志组
日志文件组成员增加:
alter database add logfile member '路径' to groupt;
日志文件组成员删除:
alter database drop logfile member '路径'
归档日志文件是在归档模式下产生的日志文件,日志文件被覆盖之前会生成归档日志文件,以保留历史的“流水账”。
4.参数文件
参数文件分为静态参数文件(pfile)和动态参数文件(Spile)两种。pfile是文本文档,spfile是二进制文件。
参数修改:
alter system set parameter=value[scope=spfile|memory|both]
scope中,spfile表示修改在spile文件中,不影响当前设置;memory是立即修改当前设置,不会修改spile;both是同时修改了spfile和当前设置。
对于静态参数,只能使用scope=spfile
Oracle启动过程加载文件顺序: spfilesid.oraàspfile.oraàinitsid.ora
参数文件的位置:
show parameter spfile;
show parameter spfile;
参数文件的创建:
create pfile='...';
create spile='...';
用指定的参数文件启动数据库的方式:
startup pfile='...';
startup spfile='...';
5.告警日志文件
记录数据库运行过程发生的重大事件,比如启动、关闭、日志切换、添加数据文件等,在启动期间,这个日志会记录所有的参数值。
查看方式:
show parameter background_dump_dest
linux系统下进入该目录,输入 tail -f 告警日志。
异常查看:grep ORA- alertsid.log
6.trace文件:有3类跟踪文件,分别是内核跟踪文件、后台进程跟踪文件、用户跟踪文件,分别用core_dump_dest、background_dump_dest、user_dump_dest参数定义
7.Change Tracking文件
数据块变化跟踪文件,记录从上次全量备份以来所有发生变化的数据块,可以节省增量备份所花的时间。