oracle 笔记---(二)

查询ASM实例包含的内存组件

SQL> select component,current_size from v$memory_dynamic_components
  2  ;

COMPONENT							 CURRENT_SIZE
---------------------------------------------------------------- ------------
shared pool							    624951296
large pool							     12582912
java pool								    0
streams pool								    0
SGA Target							    675282944
DEFAULT buffer cache							    0
KEEP buffer cache							    0
RECYCLE buffer cache							    0
DEFAULT 2K buffer cache 						    0
DEFAULT 4K buffer cache 						    0
DEFAULT 8K buffer cache 						    0

COMPONENT							 CURRENT_SIZE
---------------------------------------------------------------- ------------
DEFAULT 16K buffer cache						    0
DEFAULT 32K buffer cache						    0
Shared IO Pool								    0
PGA Target							    452984832
ASM Buffer Cache						     25165824

16 rows selected.

ASM后台进程

01,GMON 磁盘组监控进程.
这个进程复制维护磁盘组中的各个磁盘状态的一致性.当磁盘组中的磁盘成员发生改变时(添加,删除磁盘,或者磁盘出现故障),这个进程负责离线或者上线磁盘组
02,RBAL rabalance主进程
这个京城负责协调磁盘组的rebal-ance操作.而具体的平衡磁盘组Extent的操作是由ARBn进程完成的。在数据库实伤中也存在RBAL进程,但是它的功能和ASM实例中的RBAL是不同的。数据库实例中的 RBAL进程负责为数据库管理ASM磁盘。
03,ASmb
该进程负责和ASM实例进行通信,并且为ASM的客户(例如: asmcmd.数据库、OCR)提供链接ASM实例的信息。

ASM 日志位置存放

[root@node1 crs]# find / -name "alert_*"
显示出来后续会有一个alert_ASMXXX
这个就是ASM磁盘日志,命名都不一样
/oracle/11.2.0/11.2.0/diag/asm/+asm/+ASM1/trace/alert_+ASM1.log

查看VF所在的磁盘

[grid@node1 ~]$ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   88e73b12855b4f35bf57b12042b0f161 (/dev/asm_recovery) [OCR_VOTE]
Located 1 voting disk(s).

查看共享池

SQL> select * from v$sgastat where name like 'gcs%' or name like 'ges'
  2  ;

POOL	     NAME			     BYTES
------------ -------------------------- ----------
shared pool  gcs shadows		    901016
shared pool  gcs resources		   1234080
shared pool  gcs scan queue		       176
shared pool  gcs delta freelist 		 8
shared pool  gcs res hash bucket	    262144
shared pool  gcs res latch table	     51200
shared pool  gcs commit sga state	    106504
shared pool  gcs scan queue array		 8
shared pool  gcs shadows freelist	       280
shared pool  gcs resource freelist	       264
shared pool  gcs shadows seg array		 8

POOL	     NAME			     BYTES
------------ -------------------------- ----------
shared pool  gcs mastership buckets	      3072
shared pool  gcs procsss descriptor	     21416
shared pool  gcs I/O statistics struct		48
shared pool  gcs process descriptor ar		 8
shared pool  gcs resource freelist arr		 8
shared pool  gcs resource freelist seg		 8
shared pool  gcs resource segmented ar		48
shared pool  gcs shadows freelist arra		 8
shared pool  gcs shadows segmented arr		48

20 rows selected.

数据库缓冲区高速缓存:

SQL> select count(block_count) from v$gc_element;

COUNT(BLOCK_COUNT)
------------------
		 0

rac后台进程

01, LMON (Global Enqueue Service Monitor):
这个进程负责维护数据库集群层面的节点关系( Cluster Group Service, CGS),并与其他实例的LMON进程定期进行心跳通信。当节点间出现了通信问题时,这个节点负责完成实例层面的重新配置和GES层面的实例恢复。当某一个(或多个)实例离开或加入数据库集群时,这个进程也负责完成实例层面的reconfiguration.同时这个进程还会和LMD进程一起完成一些GES层面的管理工作,而且这个进程也会完成 DRM的一部分工作。每个数据库实例只会存在一个LMON进程。
02, LMS ( Global Cache Service Process):
LMS负责完成GCS的大部分工作,它会维护GRD (Global Resource Directory)中数据块资源的信息,完成数据块(或者叫buffer)在实例之间的传递工作,相关消息的发送和接收工作。同时,这个进程也要参与DRM的工作。可以说,这个进程是整个Cache Fusion体系中最忙碌的进程,所以这个进程的优先级为RT。每个实例中会存在多个LMS进程,名称为LMS (x从0开始,最多可以到z,也就是说最多可以有36个LMS进程存在)。默认的LMS进程数量是根据节点的CPU数量计算出来的,例如: MIN(CPU COUNT/2, 2)),不同版本计算LMS进程数量的公式可能不同。
03, LMD ( Global Enqueue Service Daemon) :
LMD进程主要负责GES相关资源的管理工作, GES资源主要是指Oracle中的排队( Enqueue)资源。由于RAC数据库包含很多实例,每个实例都能够对相同的数据进行操作,所以需要LMD进程对这些排队资源进行管理和协调。LMD进程默认的优先级并不是实时的,而且每个实例只包含一个LMD进程(名称为Imdo )。当然, LMD进程也会参与DRM的工作。换句话说, DRM特性需要LMON, LMS和LMD进程协同工作。
04, LCK ( Instance Enqueue Process):
主要负责实例锁(实例锁的含义并不是实例级别的锁.而是指这种锁所管理的资源仅限于本地实例)管理,可以认为LCK进程是LMD进程的补充,但是它和LMD进程所管理的资源是不同的。实例级别的锁主要包括: library cache lock, row cache lock。如果使用了result cache的话, result cache lock也包含在内。实例级别的锁是由LCK进程通过广播(broadcast)的方式进行管理的,也就是说,当一个进程需要申请持有一个实例锁时, LCK进程会以广播的方式向所有远程实例的LCK进程发送这个请求,而远程实例收到这个请求之后,更新自己的信息并反馈消息(如果远程实例的某个进程以不兼容的方式持有了这个锁,对应实例的LCK进程会通知持有者进程释放对应的锁,然后再返回)。另外,当shared pool出现压力需要释放一些内存来存放新的cursor时, LCK进程会释放rowcache的一些内存。每个实例默认情况下只包含一个LCK进程,进程名为1cko.
05, DIAG (Diagnostic Capture Process):
负责转储(dump)数据库相关的诊断信息。当系统发·现可能出现了性能问题时, diag进程会响应其他进程发出的dump请求,将相关的诊断信息写到自己的跟踪日志文件( trace file)中。另外当用户使用oradebug进行全局(global)级别的 dump操作时,每个实例的diag进程都会将本地节点的诊断信息dump到自己的跟踪日志文件中。需要说明的是, diag进程在生成诊断信息时采用的操作都是轻量级的,并不会对系统产生可见的性能影响。
06, LMHB (Global Cache/Enqueue Service Heartbeat Monitor):
这个进程从11gR2版本开始出现,它的作用是监控LMS, LMD,LMON, LCK等与RAC相关的主要后台进程,以便在它们出现问题时进行相应的操作。后面的章节中将详细介绍这部分内容。

查看日志视图

select * from v$logfile;
select * from v$log;

参数文件

1) cluster database:该参数指定数据库是否为RAC数据库。
2) control files :该参数指定数据库使用的控制文件。对于RAC数据库,控制文件需要被保存到所有节点都能够访问的共享位置
3) dbcreate file dest :如果使用了OMF (Oracle Manage File),这个参数指定了数据库创建数据文件的位置。如果数据库使用了ASM,需要设置这个参数。
4) instance number:该参数指定了本地实例的编号。
5) thread:该参数指定本地实例使用的重做线程编号。
6) undotablespace:该参数指定了本地实例使用的回滚表空间。
7) cluster interconnects :该参数用于指定数据库实例之间的通信所使用的IP地址。这个参数在9i版本的数据库是必需的;从10g版本开始数据库从OCR中读取集群的私网信息,并作为实例之间通信的通道;从11.2.0.2版本开始,由于HAIP的引人,数据库实例之间的通信通过HAIP实现。

查看测试表所使用的数据块的位置

SQL> select DBMS_ROWID.Rowid_relative_fno(ROWID) "FILE", DBMS_ROWID.Rowid_block_number(ROWID) "BLOCK",id,name from my_test;

      FILE	BLOCK	      ID NAME
---------- ---------- ---------- --------------------
	 5	  135	       1 hello
	 5	  135	       2 world
posted on 2019-03-26 16:51  kingle-l  阅读(252)  评论(0编辑  收藏  举报

levels of contents