oracle数据库体系结构

来源:互联网 发布:骑士数据 编辑:程序博客网 时间:2024/05/18 00:09

首先:oracle实例是内存和后台进程的总称。

            但是数据库是实例和文件的总称

oracle rac:多个实例,一个库

多台计算机同时运行一个库,这样我就可以把我的运载压力分到其他的机子上面。但是他们写的数据都是在一个数据库中。

oracle数据库结构


一、内存结构:



sga:系统全局区 


共享池:shared_pool_size,主要是存放sql语句

数据库缓冲区:db_cache_size

数据库的数据块:db_block_size

日志缓冲区

log_buffer

大型池:large_pool_size

SQL> show parameter large
NAME                                 TYPE        VALUE
------------------------------------ ----------- ---------
large_pool_size                      big integer 0

oracle使用内存是共享内存段。

SQL> show sga
Total System Global Area  293601280 bytes
Fixed Size                  1248600 bytes
Variable Size             104858280 bytes

Database Buffers          180355072 bytes
Redo Buffers                7139328 bytes

SQL> show parameter sga
NAME                                 TYPE        VALUE
------------------------------------ ----------- -----------
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     FALSE
sga_max_size                         big integer 280M
sga_target                           big integer 280M

pad:私有全局区


二、进程结构



最核心的进程:


smon:系统监控进程,处理数据库,undo,temp,表空间回收

dbwr:主要处理数据库换出去的数据写到硬盘

lgwr:把日志buffer的数据写到日志文件

ckpt:触发dbwr写脏数据到数据文件,保证数据的一致

pmon:清空用户连接上来的那些进程资源


用户进程:客户端或是客户发起的连接进程

服务进程:服务器段为客户发起连接的进程


数据库的连接模式:专有模式,共享模式


服务器端的内存:

数据库sga,数据库pga使用,服务器端的进程


共享模式:一定是连接处理速度要快


三、存储结构


1、控制文件:


SQL> select * from v$controlfile;
STATUS
-------
NAME
--------------------------------------
IS_ BLOCK_SIZE FILE_SIZE_BLKS
--- ---------- --------------
G:\ORADATA\ORACLE\CONTROL01.CTL
NO       16384            430

G:\ORADATA\ORACLE\CONTROL02.CTL
NO       16384            430
STATUS
-------
NAME
--------------------------------------
IS_ BLOCK_SIZE FILE_SIZE_BLKS
--- ---------- --------------
G:\ORADATA\ORACLE\CONTROL03.CTL
NO       16384            430

SQL> desc v$controlfile;
 名称                                                                                                              是否为空? 类型
 ---------------------------------------------------------------------------------------------------
 STATUS                                                                                                                     VARCHAR2(7)
 NAME                                                                                                                       VARCHAR2(513)
 IS_RECOVERY_DEST_FILE                                                                                                      VARCHAR2(3)
 BLOCK_SIZE                                                                                                                 NUMBER
 FILE_SIZE_BLKS                                                                                                             NUMBER

控制文件可以有多个,v$controlfile;

SQL> show parameters control

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time        integer     7
control_files                        string      G:\ORADATA\ORACLE\CONTROL01.CT
                                                 L, G:\ORADATA\ORACLE\CONTROL02
                                                 .CTL, G:\ORADATA\ORACLE\CONTRO
                                                 L03.CTL

2、数据文件:

SQL> alter database backup controlfile to trace;
数据库已更改。
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------
G:\ORADATA\ORACLE\USERS01.DBF
G:\ORADATA\ORACLE\SYSAUX01.DBF
G:\ORADATA\ORACLE\UNDOTBS01.DBF
G:\ORADATA\ORACLE\SYSTEM01.DBF
G:\ORADATA\ORACLE\EXAMPLE01.DBF
G:\ORACLEMDF\USER_DATA.DBF
F:\ZHEN.DBF


3、日志文件:

SQL> select * from v$LOG;


    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ----------
         1          1         65   52428800          1 NO  INACTIVE               3010912 29-10月-15
         2          1         66   52428800          1 NO  CURRENT                3043401 30-10月-15
         3          1         64   52428800          1 NO  INACTIVE               2973128 29-10月-15


4、参数文件

SQL> show parameters




数据库结构:










0 0