OCP第一课:Oracle Architectural Components

一、Oracle Architectural Components

1、 oracle的组件组成

2、 建立oracle连接的时候需要什么组件

1、 2个部分组成,一个是实例,一个是数据库

2、 实例中的SGAsystem global area)包含了一个内存结构,包含共享池shared pooldatabase buffer cacheredolog buffer cache

3、 数据库中包含的必需的有3个,数据文件,控制文件,重做日志文件,可选的文件:参数文件,密钥文件,归档日志文件。

4、 用户进程比如SQLPLUS,通过某种方式的审核连接到服务器进程

5、 服务器进程在用户进程连接数据库后代替用户进程来履行用户进程发出的命令,比如select等操作,也就是说SQLplus等客户端仅连接并发送请求,执行都由服务器进程来处理。

C:/>net start oracleserviceORCL

OracleServiceORCL 服务正在启动 .......

OracleServiceORCL 服务已经启动成功。

C:/>sqlplus

SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 10 13 11:43:43 2009

Copyright (c) 1982, 2005, Oracle. All rights reserved.

请输入用户名: system

输入口令:

连接到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL> conn system/jaminwm

已连接。

SQL>

6、 演示启动关闭实例

SQL> conn sys/jaminwm as sysdba

已连接。

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup nomount

ORACLE 例程已经启动。

Total System Global Area 289406976 bytes

Fixed Size 1248600 bytes

Variable Size 92275368 bytes

Database Buffers 192937984 bytes

Redo Buffers 2945024 bytes

SQL> alter database mount

2 ;

数据库已更改。

SQL> alter database open;

通过控制文件来验证 是否匹配

数据库已更改。

7、 总结:

Instance——memory structure

Background process

Database——data file

Log file

Control file

8、 Oracle实例的理解

实例是oracle存取oracle数据库的一种手段,任何时候实例和数据库是1对多的关系,只有1个实例,可以有1个和多个数据库。memory structure包含了3个必需的,包括共享池,数据库缓冲池,重做日志文件缓冲池。Background process包含了8个进程,6个必需,2个可选。

SQL> show sga

Total System Global Area 289406976 bytes

Fixed Size 1248600 bytes

Variable Size 96469672 bytes

Database Buffers 188743680 bytes

Redo Buffers 2945024 bytes

SQL> select * from v$bgprocess where paddr<>'00';通过这个我们可以看到有效的后台进程。

在列 ERROR 前截断 (按要求)

PADDR PSERIAL# NAME DESCRIPTION

-------- ---------- ----- ----------------------------------------------------------------

213471B4 1 PMON process cleanup

213477A4 1 PSP0 process spawner 0

21347D94 1 MMAN Memory Manager

21348384 1 DBW0 db writer process 0

21348974 1 LGWR Redo etc.

21348F64 1 CKPT checkpoint

21349554 1 SMON System Monitor Process

21349B44 1 RECO distributed recovery

2134A134 1 CJQ0 Job Queue Coordinator

2134C4D4 39 QMNC AQ Coordinator

2134A724 1 MMON Manageability Monitor Process

PADDR PSERIAL# NAME DESCRIPTION

-------- ---------- ----- ----------------------------------------------------------------

2134AD14 1 MMNL Manageability Monitor Process 2

已选择12行。

9、 Oracle数据库部分

3个必需的物理文件,另外蓝色是可选文件。

3类必需文件可能有多个,比如在线日志文件最少都有2个。

SQL> select * from v$controlfile;

STATUS NAME

------- ----------------------------------------------------------------------

C:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/CONTROL01.CTL

C:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/CONTROL02.CTL

C:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/CONTROL03.CTL

SQL> select * from v$datafile;

FILE# CREATION_CHANGE# CREATION_TIME TS# RFILE# STATUS ENABLED CHECKPOINT_TIM U

---------- ---------------- -------------- ---------- ---------- ------- ---------- -------------- -

1 9 30-8? -05 0 1 SYSTEM READ WRITE 13-10? -09

2 532340 30-8? -05 1 2 ONLINE READ WRITE 13-10? -09

3 6100 30-8? -05 2 3 ONLINE READ WRITE 13-10? -09

4 9769 30-8? -05 4 4 ONLINE READ WRITE 13-10? -09

5 559920 24-7? -09 6 5 ONLINE READ WRITE 13-10? -09

SQL> select * from v$logfile;

GROUP# STATUS TYPE MEMBER

---------- ------- ------- --------------------------------------------------------------

3 ONLINE C:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO03.LOG

2 ONLINE C:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO02.LOG

1 ONLINE C:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO01.LOG

10、 SGA系统全局区域和PGA程序全局区作为内存结构,PGA包含的某个服务器进程,不能共享给其他资源,使用独占服务器模式和共享服务器模式MTS不同,PGA的信息是不一样的。SGA中还包含一些largepooljavapool

SQL> show parameter shared

NAME TYPE VALUE

------------------------------------ ----------- ---------

hi_shared_memory_address integer 0

max_shared_servers integer

shared_memory_address integer 0

shared_pool_reserved_size big integer 4404019

shared_pool_size big integer 0

shared_server_sessions integer

shared_servers integer 1

SGA_SIZE

SQL> show parameter db_cache

NAME TYPE VALUE

------------------------------------ ----------- --------

db_cache_advice string ON

db_cache_size big integer 0

SQL> show parameter log

NAME TYPE VALUE

------------------------------------ ----------- -------------

db_create_online_log_dest_1 string

db_create_online_log_dest_2 string

db_create_online_log_dest_3 string

db_create_online_log_dest_4 string

db_create_online_log_dest_5 string

log_archive_config string

log_archive_dest string

log_archive_dest_1 string

log_archive_dest_10 string

log_archive_dest_2 string

log_archive_dest_3 string

NAME TYPE VALUE

------------------------------------ ----------- -------------

log_archive_dest_4 string

log_archive_dest_5 string

log_archive_dest_6 string

log_archive_dest_7 string

log_archive_dest_8 string

log_archive_dest_9 string

log_archive_dest_state_1 string enable

log_archive_dest_state_10 string enable

log_archive_dest_state_2 string enable

log_archive_dest_state_3 string enable

log_archive_dest_state_4 string enable

NAME TYPE VALUE

------------------------------------ ----------- -------------

log_archive_dest_state_5 string enable

log_archive_dest_state_6 string enable

log_archive_dest_state_7 string enable

log_archive_dest_state_8 string enable

log_archive_dest_state_9 string enable

log_archive_duplex_dest string

log_archive_format string ARC%S_%R.%T

log_archive_local_first boolean TRUE

log_archive_max_processes integer 2

log_archive_min_succeed_dest integer 1

log_archive_start boolean FALSE

NAME TYPE VALUE

------------------------------------ ----------- -------------

log_archive_trace integer 0

log_buffer integer 2899456

log_checkpoint_interval integer 0

log_checkpoint_timeout integer 1800

log_checkpoints_to_alert boolean FALSE

log_file_name_convert string

logmnr_max_persistent_sessions integer 1

remote_login_passwordfile string EXCLUSIVE

SGA_MAX_SIZE可以设定一个最大的内存区域,在这个范围内可以动态的调整。便于管理。

如果遇到?????????????不能显示,是语言的问题,使用alter session set nls_language=american

11、 Shared pool

共享池,可以使用alter system set shared_pool_size=64m;内有2个部分,库cache和数据字典cache,数据字典cache也叫行cachedictionary cache=row cache。主要作用是提高代码的共享。Lib cache的命中率达到99%。一般要求SQL在此执行,不要单独编译。它不可以直接定义,而是通过shared pool来定义

12、 数据字典cache,文件是否存在,用户权限,也可以改变内存中的响应时间。

13、 Database buffer cache 使用db-block-size,从9i开始使用指定的块大小,

SQL> show parameter db

NAME TYPE VALUE

------------------------------------ ----------- ------------

db_16k_cache_size big integer 0

db_2k_cache_size big integer 0

db_32k_cache_size big integer 0

db_4k_cache_size big integer 0

db_8k_cache_size big integer 0

db_block_buffers integer 0

db_block_checking string FALSE

db_block_checksum string TRUE

9i以前,需要使用db_block_buffers中指定。这个值是固定的,表示块的数量,而不是内存的大小,真正的内存的大小=内存数量×块的大小,从性能优化的角度有2个参数,一个db-keep-cache-size一个是db-recycle-cache-size,如果你不知道怎么设定,可以使用db-cache-advice来建议内存结构。

14、 Redo log buffer cache的作用是恢复,使用log-buffer来定义size,基于数据完整性原则,可以回滚掉电后的数据写入。

15、 Large pool 作为可选的部分SGA的结构之一,在什么情况下可以用到?比如used for memoryUGA),io slaves,备份恢复操作用得到

16、 Java pool,调用java程序的时候用得到。

17、 PGA针对服务器进程而保留的一个内存区域,根据配置的不同,独占还是共享,SGA也不同

共享:session information放在SGA

独占:session information不在SGA

18、 后台的进程中database writer (dbwn),对脏数据写到数据文件,LGWR把日志文件cache写到日志文件里面,写数据前先写日志,SMON在数据库重启的过程中实例打开,回滚,临时段的清空。PMON进程监控回滚被异常终止的情况,ckptcheckpoint实现同步的作用,arcn归档进程,在归档日志的模式下才能完成,归档进程可以自动备份在线日志。

19、 逻辑结构

你可能感兴趣的:(component)