文档章节

《深入浅出 Oracle:DBA 入门、进阶与诊断案例》笔记

hulubo
 hulubo
发布于 2013/02/19 21:19
字数 1229
阅读 310
收藏 10
一、oracle启动3个步骤:
1、nomount(只需要参数文件)
    a、依次寻找$ORACLE_HOME/database/中的以下文件:
      spfile$ORACLE_SID.ora,spfile.ora,init$ORACLE_SID.ora
    注:在$ORACLE_HOME/admin/pfile/中有第一次启动数据库是用的pfile=init.ora.<时间>??
    unix:$ORACLE_HOME/dbs/
    b、其他日志文件在$ORACLE_HOME/admin/中。
    c、控制文件,重做日志,表空间文件在以下目录中:
    $ORACLE_HOME/oradata/$ORACLE_SID/
    [使用rman target /可以在没有参数文件nomount,db_name=DUMMY]
2、mount
    a、寻找控制文件
    b、寻找口令文件pwd<sid>.ora或orapw
    c、unix中在mount后会有lk<sid>文件
3、open
    a、根据控制文件寻找日志文件和数据文件
    b、检查控制文件和数据文件的checkpoint cnt是否一致
    c、检查控制文件和数据文件的scn是否一致
    d、启动在线日志,提供对外服务等
二、检查点相关:
1、检查点设置
   8i:FAST_START_IO_TARGET,LOG_CHECKPOINT_TIMEOUT,LOG_CHECKPOINT_INTERVAL
   9i:FAST_START_MTTR_TARGET
   10g:自动检查点调整
2、转储控制文件
   alter session set events 'immediate trace name CONTROLF level 10';
3、转储数据文件头
   alter session set events 'immediate trace name file_hdrs level 10';
三、关闭数据库
1、shutdown immediate;正常结束,完全检查点
2、shutdown abort;非正常结束,下次启动时,系统会自动根据重做日志重做事务


四、数据字典
1、内部RDBMS(X$)表,可以从v$fixed_table查到,可以通过查看一些系统视图的执行计划找到。
2、数据字典表,通常以“$”结尾,rdbms/admin/sql.bsq中创建
3、动态性能视图,通常以“V$”开头(含GV$开头),v$synonym->sys.v_$view->sys.v$view->X$table,v$fixed_view_definition记录其他视图的创建过程。rdbms/admin/catalog.sql中创建
4、数据字典视图,user_*,all_*,dba_*,是x$table,table$的视图


五、内存管理
a、sga
v$sgastat,v$sgainfo
1、fixed size(实例的通用信息,后台进程需要访问的信息,不含用户信息)
2、variable size
shared pool(sql区,执行计划,数据字典,内库等)
large pool(相关服务器模式,并行计算和RMAN)
java pool
streams pool(如果没有定义,则包含在shared pool中)
3、database buffers
 buffer cache(default pool,keep pool,recycle pool)
9i之前由db_block_buffers(块数量)和db_block_size(块大小)决定;
9i之后新参数db_cache_size,定义主块(db_block_size定义的块)组成的default缓冲池大小,最小单位为granule,9i新概念,if(sga<128MB) granule=4MB else granule=16MB.
4、redo buffers(没有定义时,在fixed size中)
redo log buffer(由log_buffer决定)


b、系统参数shmmax
unix下通常为32MB,此为每个共享内存块的大小,如果sga大于这个参数值,就会分配多个共享内存块。建议调整shmmax参数,使一个sga在一个块中。


c、sga的管理
1、8i中,由pfile静止定义参数大小
2、9i中,可以动态调整spfile参数
各个内存必须是granule的整数倍,自动向上取整,
sga各个内存相加不能超过SGA_MAX_SIZE,
SGA最低位3个granule,分别是fixed sga(redo),buffer cache,shared pool.
有V_$DB_CACHE_ADVICE,V_$SHARED_POOL_ADVICE对缓冲池和共享池的建议值,
3、10g中,ASMM
新参数SGA_TARGET,系统动态自动调整,但是必须小于SGA_MAX_SIZE,可以自动调整的参数:buffer cache,shared pool,java pool,large pool.记录到spfile中的参数以'__'开头。
需要手动调整的参数:非标准block_size的cache,keep/recycle buffer cache,redo log buffer,stream pool.
sga_target=0,表示手动调整。


d、pga(在服务器进程启动或创建是分配,运行时再分配排序、连接等,通常包含私有sql区,存放绑定信息、运行是内存结构等,和session信息等)
1、8i中,有以下主要参数:sort_area_size,hash_area_size,bitmap_merge_size,create_bitmap_area_size.(show parameter area_size)
2、9i,自动化sql执行内存管理,新参数:
pga_aggregate_target--所有session最大pga内存(10M……4096G-1)bytes.只对专用服务器模式有效,10g才对共享有效。
workarea_size_policy--开关pga内存自动管理。


e、pga_aggregate_target(同时限制全局pga分配和私有工作区内存分配)
1、串行,单个sql操作能用的pga=min(5%pga_aggregate_target,100mb);并行,单个sql操作能用的pga=30%pga_aggregate_target/dop(并行度)
2、pga分可调整内存和不可调整内存,可调整内存是由sql工作区使用的,启动自动pga调整后,可调整内存+不可调整内存<=pga_aggregate_target.
3、参数设置,oracle的建议方案:
对于OLTP系统,pga_aggregate_target=(<total physical memory>*80%)*20%;对于DSS(决策支持系统)系统,pga_aggregate_target=(<total physical memory>*80%)*50%.
4、可以通过v$process.pga_used_mem看每个进程使用pga的情况,但是在aix系统中实际使用内存可能比这个大。
5、sql工作区的3种方式:
optimal,内存完成;onepass,少量磁盘io;multipass,大量磁盘io。select name,value from v$sysstat where name like 'workarea executions%'


f、pga的调整建议
v$pga_target_advece,v$pga_target_advice_histogram提供优化建议值。


© 著作权归作者所有

共有 人打赏支持
hulubo
粉丝 15
博文 78
码字总数 19249
作品 0
深圳
项目经理
私信 提问
数据库Oracle学习资料

电子书下载地址 http://down.51cto.com/data/958093 个人建议先从《深入解析Oracle.DBA入门进阶与诊断案例》这本书读起,在读这本书之前,应该对Oracle有一个基本的了解,适合有一定基础的同...

Jay_Wei
2016/01/22
95
0
Oracle DBA数据库高级工程师培训套餐(门徒)系列78套+七大阶段+上千案例

Oracle DBA数据库高级工程师培训套餐V1.1(系列78套+七大阶段+上千案例) 描述 Oracle DBA数据库高级工程师培训课程是风哥独自研发的精品实战课程,本路线图主要是让大家快速就业、高薪就业。...

风哥Oracle
2018/06/28
0
0
1月中旬值得一读的10本技术新书(机器学习、Java、大数据等)!文末有福利!

1月中旬,阿里云云栖社区 联合 博文视点 为大家带来十本技术书籍(机器学习、Java、大数据等)。以下为书籍详情,文末还有福利哦! 书籍名称:Oracle数据库问题解决方案和故障排除手册 内容简...

阿里云云栖社区
2018/01/12
0
0
又一波福利~DBA+社群北京站数据库技术沙龙干货PPT送上

关注DBA+社群微信公众号:dbaplus,回复“PPT”,即可获取“DBA+社群北京站数据库技术沙龙”PPT。 北京!我们来了!12月13日,DBA+社群携手三位数据库技术大牛与一众同行伙伴再会紫禁之巅。这...

DBAplus
2015/12/14
0
0
荐书||关于Python的一些书籍推荐

为什么要学Python? 因为... 管它用的到,或是用不到,看一看拓宽思路也是极好的。 入门篇 《A Byte of Python》 豆瓣评分:8.7 推荐人群:初学者,短时间内想了解Python A Byte of Python(中...

包包包包包包包子
2017/11/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

移植Modbus到STM32F103(2):移植FreeModbus到usart3并运行示例代码

FreeModbus是Modbus的一个被广泛移植的实现。其源码在github,最新版是1.6。 FreeModbus支持Modbus功能码里的0x01~0x06,0x0F~0x11和0x17,对一些功能比如异常诊断和读事件计数等功能码并没有...

Konstantine
24分钟前
0
0
浅谈神经网络(神经网络篇)

背景 之前写过浅谈神经网络基础篇,简单介绍下机器学习这块内容,用于扫盲。本文正式将神经网络,这部分是深度学习的基础。了解完可以掌握强大的机器学习的方法,也可以更好的了解深度学习。...

Uknowzheng
今天
3
0
移动硬盘变为RAW格式后的修复

在Mac上使用自己的移动硬盘结果文件系统格式变为RAW; 在自己windows笔记本上使用chkdsk H: /F进行修复,修复日志如下: C:\Users\mengzhang6>chkdsk H: /F文件系统的类型是 NTFS。卷标是 do...

晨猫
今天
3
0
10 Git —— 标签管理

10 Git —— 标签管理 本节内容: 命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;命令git......

lwenhao
今天
3
0
小程序设置垂直居中,水平居中

如果子容器中的view需要居中的话,那需要在父容器中设置居中 水平居中: display: flex; flex-direction: column; align-items: center; 垂直居中 display: flex;align-items: cen...

淘幻幻
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部