首页 > 代码库 > 体系结构1

体系结构1

oracle数据库结构:逻辑结构和物理结构

数据块为2K,4K,8K,16K,32K

Oracle建议选择块为8K

oracle数据块尺寸应为磁盘尺寸的倍数

oracle数据块: Contents
Block header
Free space
Row data

SYS@ora11g>show parameter block
db_block_buffers integer 0
db_block_checking string FALSE
db_block_checksum string TYPICAL
db_block_size integer 8192
db_file_multiblock_read_count integer 89

SYS@ora11g>desc dba_extents
Name Null? Type
----------------------------------------- -------- ----------------------------
OWNER VARCHAR2(30)
SEGMENT_NAME VARCHAR2(81)
PARTITION_NAME VARCHAR2(30)
SEGMENT_TYPE VARCHAR2(18)
TABLESPACE_NAME VARCHAR2(30)
EXTENT_ID NUMBER
FILE_ID NUMBER
BLOCK_ID NUMBER
BYTES NUMBER
BLOCKS NUMBER
RELATIVE_FNO NUMBER

SYS@ora11g>desc dba_segments

必备的默认表空间
1.system
2.sysaux
3.undo
4.temporary
5.默认参数表空间

同一数据库可以有不同oracle块尺寸的表空间

当对象需要扩充时,oracle将以区为单位分配新的空间,而不是以块为单位

数据文件(data file):存储表和索引的数据

当表耗尽了初始分配的空间时,必须给表空间增加一个新数据文件来扩大表空间,也可以重新定义已有的数据文件的尺寸扩充表空间

控制文件(control file):记录所有数据库结构的更改信息,如数据文件和重做日志文件的名字和位置、当前日志序号、备份集详细信息、SCN

当数据库写控制文件时,该文件的所有副本一起写入

SYS@ora11g>desc V$controlfile
Name Null? Type
----------------------------------------- -------- ----------------------------
STATUS VARCHAR2(7)
NAME VARCHAR2(513)
IS_RECOVERY_DEST_FILE VARCHAR2(3)
BLOCK_SIZE NUMBER
FILE_SIZE_BLKS NUMBER

SYS@ora11g>r
1* select STATUS,NAME,IS_RECOVERY_DEST_FILE from v$controlfile

STATUS NAME IS_RECOVERY_DEST_FILE
------- -------------------- -------------------------
+DATA/ora11g/control NO
file/current.256.823
205099

IS_RECOVERY_DEST_FILE显示控制文件是否在闪回恢复区

重做日志文件(redo log file):包含对表数据所做的更改信息

当前重做日志文件通常称为联机重做日志

oracle写一个重做日志文件直到该重做文件末尾,然后进行日志切换并开始写第二个日志文件(然后写第三个,如果有的话)

spfile(server parameter file)服务器参数文件

spfile是二进制文件,始终存在数据库服务器中

SYS@ora11g>show parameter spfile

NAME TYPE
------------------------------------ --------------------
VALUE
------------------------------
spfile string
+DATA/ora11g/spfileora11g.ora

SYS@ora11g>Select isspecified,count(*) from v$spparameter group by isspecified;
ISSPEC COUNT(*)
------ ----------
TRUE 17
FALSE 327

[oracle@gc ~]$ find /u02/app -name alert_ora11g.log
/u02/app/diag/rdbms/ora11g/ora11g/trace/alert_ora11g.log

grep ORA- alert_ora11g.log

SYS@ora11g>show parameter background_dump_dest

NAME TYPE VALUE
------------------------------------ -------------------- ------------------------------
background_dump_dest string /u02/app/diag/rdbms/ora11g/ora
11g/trace

ADR(Automatic Diagnostic Repository)自动诊断信息库

进程实质是执行操作系统任务或作业的连接或线程。

用户进程:负责运行连接用户与数据库实例的应用
服务器进程
后台进程

oracle会话:用户通过oracle用户进程与oracle实例的特定连接。

----------------------------------------------------------------------------------------
后台进程 功能
----------------------------------------------------------------------------------------
数据库写入器(DBWn) 将更改的数据从缓冲区高速缓存写入磁盘(数据文件)
日志写入器(LGWR) 将重做日志缓冲区内容写入联机重做日志文件
检查点(CKPT) 更新所有数据文件的头以记录检查点的详细信息
进程监控器(PMON) 清除完成后的进程和失败的进程
系统监控器(SMON) 执行崩溃恢复并合并区
归档器(ARCn) 归档填满的联机重做日志文件
------------------------------------------------------------------------------------------
ps -ef|grep ora_

SQL>desc v$bgprocess
Name Null? Type
----------------------------------------------------------------------------------- -------- --------------------------------------------------------
PADDR RAW(8)
PSERIAL# NUMBER
NAME VARCHAR2(5)
DESCRIPTION VARCHAR2(64)
ERROR NUMBER

SQL>set linesize 1000
SQL>select * from v$bgprocess;

PADDR PSERIAL# NAME DESCRIPTION
---------------- ---------- ---------- ---------------------------------------
000000009107EB78 1 PMON process cleanup
0000000091080C78 1 VKTM Virtual Keeper of TiMe process
0000000091081CF8 1 GEN0 generic0 
0000000091082D78 1 DIAG diagnosibility process
0000000091083DF8 1 DBRM DataBase Resource Manager

oracle内存结构:SGA PGA

 

体系结构1