[读书笔记]数据库物理结构

wKioL1XkWGqiPoU0AAJxKeRfLYA359.jpg

注:

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 达到1MRedo 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是立即修改当前设置,不会修改spileboth是同时修改了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_destbackground_dump_destuser_dump_dest参数定义

7.Change Tracking文件

数据块变化跟踪文件,记录从上次全量备份以来所有发生变化的数据块,可以节省增量备份所花的时间。


你可能感兴趣的:(数据库;oracle;物理结构)