Oracle的物理、逻辑结构概览(二)

2014-11-24 15:05:23 · 作者: · 浏览: 4
is
oracle 7638 1 0 06:22 00:00:01 ora_diag_elvis
oracle 7642 1 0 06:22 00:00:00 ora_dbrm_elvis
oracle 7646 1 0 06:22 00:00:01 ora_psp0_elvis
oracle 7650 1 0 06:22 00:00:35 ora_dia0_elvis
oracle 7654 1 0 06:22 00:00:05 ora_mman_elvis
oracle 7658 1 0 06:22 00:00:03 ora_dbw0_elvis
oracle 7662 1 0 06:22 00:00:02 ora_lgwr_elvis
oracle 7666 1 0 06:22 00:00:16 ora_ckpt_elvis
oracle 7670 1 0 06:22 00:00:06 ora_smon_elvis
oracle 7674 1 0 06:22 00:00:00 ora_reco_elvis
oracle 7678 1 0 06:22 00:00:11 ora_mmon_elvis
oracle 7682 1 0 06:22 00:00:07 ora_mmnl_elvis
oracle 7686 1 0 06:23 00:00:00 ora_d000_elvis
oracle 7690 1 0 06:23 00:00:00 ora_s000_elvis
oracle 9125 1 0 10:26 00:00:00 ora_arc0_elvis
oracle 9129 1 0 10:26 00:00:00 ora_arc1_elvis
oracle 9133 1 0 10:26 00:00:00 ora_arc2_elvis
oracle 9137 1 0 10:26 00:00:00 ora_arc3_elvis
oracle 9177 1 0 10:31 00:00:00 ora_smco_elvis
root 11596 11564 0 16:36 pts/0 00:00:00 su - oracle
oracle 11597 11596 0 16:36 pts/0 00:00:00 -bash
oracle 11629 11597 0 16:36 pts/0 00:00:00 rlwrapsqlplus / as sysdba
oracle 11630 11629 0 16:36 pts/1 00:00:00sqlplus as sysdba
oracle 11633 11630 0 16:36 00:00:00oracleelvis (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle 11637 1 0 16:36 00:00:01 oracleelvis (LOCAL=NO)
oracle 11678 1 0 16:38 00:00:00 oracleelvis (LOCAL=NO)
oracle 11682 1 0 16:39 00:00:00 ora_w000_elvis
root 11735 11695 0 16:42 pts/2 00:00:00 grep ora
注:如果是windows环境下情况较复杂,具体的进程ID需要去查看线程,而Windows不能直接查看进程下的线程必须通过第三方工具去查看。
l 从进程资源占用情况追溯到session
这种情况下,可以查找到是哪个session在占用大量资源,甚至能查找到
B)session
l 资源视图—重要
[sql]
select * from v$resource_limit;
l 命令类型视图,根据v$session视图里的command列判断
[sql]
select * from audit_actions;
l 通过session视图的sql_id列,查看到sql语句
[sql]
select * from v$sql where sql_id=’ ’;
模拟消耗资源的死循环的语句
[sql]
declare
number:=0;
begin loop
i:=1;
end loop:
end;
找到后Kill掉session
[sql]
alter system kill session ’67,23’;
或者直接Kill掉进程
Window下是orakill命令,服务器端具备
Linux下是kill,top,ps –ef | grep ora等命令
Kill用法
--kill -9 sid 强制kill掉
C)connection
专有连接
共享连接
基本不使用,了解即可
池中连接
3 深入逻辑结构
3.1 表空间
database->tablespace->segments->extents->osblocks
===============================================
[sql]
selelct * from dba_tablespaces;
select * from dba_data_files;
select * from dba_temp_files;
select * from dba_segment;
--一个表空间可以包含最多1023个数据文件
注:从11g开始有延迟段的概念,就是表中无数据的话, Oracle不分配空间
通过参数deferred_segment_creation查看延迟段的开启情况
--show parameterdeferred_segment_creation
===============================================
创建一个表空间
[sql]
create tablespace orcl datafile 'E:\ORADATA\orcl\orcl01.dbf' size 10M;
然后创建一个表并指定存到orcl表空间中
[sql]
create table t(id int) tablespace orcl;
表空间的分配方式 (extent为单位)
autoallocate(默认)
<=1m 64k 8blocks
<=64m 1m 128blocks
<=1g 8m 1024blocks
>1g 64m 8096blocks
Uniform [指定增长大小]
始终都会按指定的大小增长
分配方式可以查看dba_tablespace视图中allocate_type字段为system就是默认
在关掉这个表空间
[sql]
a