System Global Area(SGA) 和 Background Process 称为数据库的实例。
2、Oracle 数据库
一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等)
3、系统全局共享区System Global Area(SGA)
System Global Area 是一块巨大的共享内存区域,他被看做是Oracle 数据库的一个大缓冲池,这里的数据可以被Oracle的各个进程共用。其大小可以通过如下语句查看: SQL> select * from v$sga; NAME VALUE -------------------- --------- Fixed Size 39816 Variable Size 259812784 Database Buffers 1.049E+09 Redo Buffers 327680
h、RECO 负责解决分布事物中的故障。Oracle可以连接远程的多个数据库,当由于网络问题,有些事物处于悬而未决的状态。RECO进程试图建立与远程服务器的通信,当故障消除后,RECO进程自动解决所有悬而未决的会话。 i、服务进程Server Process 服务进程的分类 专用服务进程(Dedicated Server Process) 一个服务进程对应一个用户进程 共享服务进程(MultiTreaded Server Process) 一个服务进程对应多个用户进程,轮流为用户进程服务。 PGA & UGA PGA = Process Global Area UGA = User Global Area 他保存了用户的变量、权限、堆栈、排序空间等用户信息,对于专用服务器进程,UGA在PGA中分配。对于多线程进程,UGA在Large pool中分配。
2、数据文件(数据文件的详细信息记载在控制文件中) 可以通过如下方式查看数据文件 SQL> select name from v$datafile; NAME --------------------------------------------- /u05/dbf/PROD/system_01.dbf /u06/dbf/PROD/temp_01.dbf /u04/dbf/PROD/users_01.dbf /u09/dbf/PROD/rbs_01.dbf /u06/dbf/PROD/applsys_indx_01.dbf /u05/dbf/PROD/applsys_data_01.dbf 从以上可以看出,数据文件大致可以分为以下几类:
i. 系统数据文件(system_01.dbf) 存放系统表和数据字典,一般不放用户的数据,但是用户脚本,如过程,函数,包等却是保存在数据字典中的。 名词解释:数据字典 数据字典是一些系统表或视图,他存放系统的信息,他包括数据库版本,数据文件信息,表与索引等段信息,系统的运行状态等各种和系统有关的信息和用户脚本信息。数据库管理员可以通过对数据字典的查询,就可以了解到Oracle的运行状态。
ii. 回滚段文件(rbs_01.dbf) 如果数据库进行对数据的修改,那么就必须使用回滚段,回滚段是用来临时存放修改前的数据(Before Image)。回滚段通常都放在一个单独的表空间上(回滚表空间),避免表空间碎片化,这个表空间包含的数据文件就是回滚数据文件。
iii. 临时数据文件(temp_01.dbf) 主要存放用户的排序等临时数据,与回滚段相似,临时段也容易引起表空间碎片化,而且没有办法在一个永久表空间上开辟临时段,所以就必须有一个临时表空间,它所包含的数据文件就是临时数据文件,主要用于不能在内存上进行的排序操作。我们必须为用户指定一个临时表空间。
iv. 用户数据文件(/applsys_data_01.dbf ,applsys_indx_01.dbf) 存放用户数据,这里列举了两类常见的用户型数据,一般数据和索引数据,一般来说,如果条件许可的话,可以考虑放在不同的磁盘上。
6、其他文件 i . 密码文件 用于Oracle 的具有sysdba权限用户的认证. ii. 日志文件 报警日志文件(alert.log或alrt.ora) 记录数据库启动,关闭和一些重要的出错信息。数据库管理员应该经常检查这个文件,并对出现的问题作出即使的反应。你可以通过以下SQL 找到他的路径select value from v$PARAMETER where name ="background_dump_dest"; 后台或用户跟踪文件 系统进程或用户进程出错前写入的信息,一般不可能读懂,可以通过Oracle的TKPROF工具转化为可以读懂的格式。对于系统进程产生的跟踪文件与报警日志文件的路径一样,用户跟踪文件的路径,你可以通过以下SQL找到他的路径select value from v$PARAMETER where name ="user_dump_dest";