数据库和数据库实例的区别
1,数据库实例,是数据库在启动的时候,需要加入到内存的一系列资源和进程的总和。
2,一个数据库实例包含的文件包括:控制文件:.ctl,数据文件.dbf,日志文件:.LOG
在oracle包含两种日志文件,redo日志文件,特点:循环写,不保存。归档日志文件,在备份的时候,尤其在热备份的时候,必须要做的日志文件。
3,sqlplus登录数据库的命令:sqlplus “sys/test1234” as sysdba
查看控制文件:DESC v$controlfile:列出所有的控制文件
SELECT status,name FROM $controlfile
查看日志文件:DESC v$logfile
参数文件,并不是数据库文件的组成部分,参数文件在数据库启动的时候,并不参与工作。在系统的路径下有一个Db路
径,参数文件就在该目录之下。
4,oracle的内存结构
在实例启动的时候,会分配一个很大的内存块:SGA
SGA包括:DB buffer:数据库高速缓存区,为了改善oracle从磁盘中读取数据速度过慢的问题。
DB buffer包含三个缓存池:
默认缓存池
保持缓存池:对于内存中频繁访问的数据,一直保留,不会释放。
再生缓存池:很快从内存中排出,例如:频繁访问的大表
大共享区:一个可选的特征,提供了一个隔离内存区,如果选择rmn操作,备份的时候,可能需要
共享池:对数据库的的性能有重要影响
库缓存区
共享SQL区:sql语句的解释版本,以便重新执行的时候,不必重新解释
PL/SQL区:保留了pl/sql的编译版本,以便共享,当程序执行pl/sql一个单元的时候,使用
字典缓存区
把最频繁使用的数据字典导入,比如校验表名,列名,数据类型等信息的时候使用
Redobuffer:
需要写入磁盘的Redo记录
固定SGA:无法设定,完全oracle自己控制。