设为首页 收藏本站
查看: 983|回复: 0

[经验分享] oracle常用参数详解

[复制链接]

尚未签到

发表于 2018-9-25 07:32:45 | 显示全部楼层 |阅读模式
  参数文件
  查询参数可以使用的数值
  select * from v$parameter_valid_values where upper(name) like '%OPTIMI%'
  Oracle参数
  一、oracle pfile/spfile区别
  pfile 默认的名称为“init+例程名.ora”文件路径:E:\oracle\product\10.2.0\db_1\dbs,这是一个文本文件,可以用任何文本编辑工具打开。
  spfile 默认的名称为“spfile+例程名.ora”文件路径:E:\oracle\product\10.2.0\db_1\dbs以二进制文本形式存在,不能用vi编辑器对其中参数进行修改。
  两个文件可以用命令 CREATE PFILE FROM SPFILE或CREATE SPFILE FROM PFILE来互相创建
  
  区别:
  1、启动次序 SPfile优先于Pfile。
  2、PFILE是静态文件,修改之后不会马上生效,数据库必须重新启动读取这个文件才行。
  3、SPFILE是动态参数文件,是二进制文件,不可以直接用记事本等等程序做修改,可以用ALTER命令做修改,不用重起数据库也能生效。
  修改方法:
  #查看参数信息
  sql>show parameter;
  #修改参数
  sql>alter system set 参数名=值 scope=参数2;
  参数2取值有如下三种:
  1. scope=spfile: 对参数的修改记录在服务器初始化参数文件中,修改后的参数在下次启动DB时生效。适用于动态和静态初始化参数。
  2. scope=memory: 对参数的修改记录在內存中,对于动态初始化参数的修改立即生效。在重启DB后会丟失,会复原为修改前的参数值。
  3. scope=both:   对参数的修改会同时记录在服务器参数文件和內存中,对于动态参数立即生效,对静态参数不能用这个选项。
  如果使用了服务器参数文件,则在执行alter system语句时,scope=both是default的选项。
  如果沒有使用服务器参数文件,而在执行alter system语句时指定scope=spfile|both都会出错。
  
  二、init.ora文件(E:\oracle\product\10.2.0\db_1\srvm\admin)
  该文件的参数说明:
  1)db_name = "clustdb"  一个数据库标识符,应与CREATE DATABASE 语句中指定的名称相对应。
  2)instance_name = clustdb1 在多个例程使用相同服务名的情况下,用来唯一地标识一个数据库例程;INSTANCE_NAME 不应与 SID 混淆,它实际上是对在一台主机上共享内存的各个例程的唯一标识。
  3)control_files = control_files = ("\\.\clustdb_control1", "\\.\clustdb_control2")
  4)open_cursors =300
  库高速缓存 指定一个会话一次可以打开的游标 (环境区域) 的最大数量,并且限制 PL/SQL 使用的 PL/SQL 游标高速缓存的大小,以避免用户再次执行语句时重新进行语法分析。请将该值设置得足够高,这样才能防止应用程序耗尽打开的游标。
  5)db_block_buffers =  200(9i的参数,之后被db_block_size 参数所代替,详见15条记录)
  高速缓存与I/O    缓冲区高速缓存中 Oracle 块的数量。该参数会显著影响一个例程的 SGA 总大小。
  6)large_pool_size=1048576
  池--指定大存储池的分配堆,它可被多线程服务器 (MTS) 用作会话内存、用作并行执行的消息缓冲区以及用作 RMAN备份和恢复的磁盘 I/O 缓冲区。
  7)java_pool_size=67108864
  以字节为单位,指定 Java 存储池的大小,它用于存储 Java 的方法和类定义在共享内存中的表示法,以及在调用结束时移植到 Java 会话空间的 Java 对象。
  8)log_checkpoint_interval = 10000
  指定在出现检查点之前,必须写入重做日志文件中的 OS 块 (而不是数据库块) 的数量。无论该值如何,在切换日志时都会出现检查点。较低的值可以缩短例程恢复所需的时间,但可能导致磁盘操作过量。
  9)
  processes = 220
  log_buffer = 8388608
  以字节为单位,指定在 LGWR 将重做日志条目写入重做日志文件之前,用于缓存这些条目的内存量。重做条目保留对数据库块所作更改的一份记录。如果该值大于65536,就能减少重做日志文件 I/O,特别是在有长时间事务处理或大量事务处理的系统上  **最大值为 500K 或 128K * CPU_COUNT,两者之中取较大者
  10)oracle_trace_enable = true
  启动一个默认的 Oracle Trace 集合,直到该值再次设置为 NULL。
  11)timed_statistics=true
  收集操作系统的计时信息,这些信息可被用来优化数据库和 SQL语句。要防止因从操作系统请求时间而引起的开销,请将该值设置为零。将该值设置为 TRUE 对于查看长时间操作的进度也很有用。
  12)background_dump_dest=%ORACLE_HOME%/admin/clustdb/bdump
  指定在 Oracle 操作过程中为后台进程 (LGWR,DBW n 等等) 写入跟踪文件的路径名(目录或磁盘)。它还定义记录着重要事件和消息的数据库预警文件的位置。
  13)core_dump_dest = /opt/apps/oracle/admin/51cto/cdump
  指定核心转储位置的目录名 (用于 UNIX)。
  14)user_dump_dest=%ORACLE_HOME%/admin/clustdb/
  为服务器将以一个用户进程身份在其中写入调试跟踪文件的目录指定路径名。例如,该目录可这样设置: NT 操作系统上的 C:/ORACLE/UTRC;UNIX 操作系统上的 /oracle/utrc;或 VMS 操作系统上的DISK$UR3:[ORACLE.UTRC]。
  15)db_block_size = 8192
  一个 Oracle 数据库块的大小 (以字节计)。该值在创建数据库时设置,而且此后无法更改。 1024 - 65536 (根据操作系统而定)。
  16)remote_login_passwordfile = exclusive
  指定操作系统或一个文件是否检查具有权限的用户的口令。如果设置为 NONE,Oracle 将忽略口令文件。如果设置为EXCLUSIVE,将使用数据库的口令文件对每个具有权限的用户进行验证。如果设置为 SHARED,多个数据库将共享 SYS 和INTERNAL口令文件用户
  17)job_queue_processes = 4
  只用于复制环境。它指定每个例程的 SNP 作业队列进程的数量 (SNP0, ... SNP9, SNPA, ... SNPZ)。要自动更新表快照或执行由 DBMS_JOB 创建的请求,请将该参数设置为 1 或更大的值。   0 到 36
  18)job_queue_interval = 10
  作业队列 只用于复制环境。它以秒为单位指定该例程的每个 SNPn 后台进程的唤醒频率。  1 到 3600
  19)distributed_transactions = 5
  一个数据库一次可参与的分布式事务处理的最大数量。如果由于网络故障异常频繁而减少该值,将造成大量未决事务处理。
  20)open_links = 4
  指定在一次会话中同时打开的与远程数据库的连接的最大数量。该值应等于或超过一个引用多个数据库的单个 SQL 语句中引用的数据库的数量,这样才能打开所有数据库以便执行该语句。
  21)compatible = "9.0.0"
  允许使用一个新的发行版,同时保证与先前版本的向后兼容性。
  22)sort_area_size = 524288
  以字节为单位,指定排序所使用的最大内存量。排序完成后,各行将返回,并且内存将释放。增大该值可以提高大型排序的效率。如果超过了该内存量,将使用临时磁盘段。
  相当于 6 个数据库块的值 (最小值) 到操作系统确定的值 (最大值)。
  23)db_file_multiblock_read_count
  一次从物理存储中读取的数据块数量 ,数据库默认是一次性读取128个数据块,也就是1M的数据量,数据仓储环境适当的增大这个数据。
  此参数值的设置,需要在实践的基础上,慢慢试验的得出,不可一概而论。
  24)db_block_size  数据块的大小 ,数据库默认是8K的数据库,这个参数在建库后无法调整,设置数据块的大小是依据不同类型的系统的。
  如果数据块设置比较大,那么一次读取的数据行较多,相应对SGA内存消耗比较大,特定查询引发的换入换出可能较多。如果设置的过小,频繁的IO逻辑物理读也会引起性能问题。
  25)PRE_PAGE_SGA  oracle实例启动时,会只载入各个内存区最小的大小。而其他SGA内存只作为虚拟内存分配,只有当进程touch到相应的页时,才会置换到物理内存中。但我们也许希望实例一启动后,所有SGA都分配到物理内存。这时就可以通过设置PRE_PAGE_SGA参数来达到目的了。这个参数的默认值为FALSE,即不将全部SGA置入物理内存中。当设置为TRUE时,实例启动会将全部SGA置入物理内存中。它可以使实例启动达到它的最大性能状态,但是,启动时间也会更长(因为为了使所有SGA都置入物理内存中,oracle进程需要touch所有的SGA页)。当参数设置为TRUE时,不仅在实例启动时,需要touch所有的SGA页,并且由于每个oracle进程都会访问SGA区,所以每当一个新进程启动时(在Dedicated Server方式中,每个会话都会启动一个Oracle进程),都会touch一遍该进程需要访问的所有页。因此,每个进程的启动时间页增长了。所以,这个参数的设置需要根据系统的应用情况来设定。
  LOCK_SGA             RE_PAGA_SGA只是在启动时将物理内存分配给SGA,但并不能保证系统在以后的运行过程不会将SGA中的某些页置换到虚拟内存中,也就是说,尽管设置了这个参数,还是可能出现Page In/Out。如果需要保障SGA不被换出,就需要由另外一个参数LOCK_SGA来控制了。
  26) memory_max_target ,memory_target ,SGA_MAX_SIZE ,SGA_TARGET
  先解释下这四个参数的决定关系:
  memory_max_target >=memory_target >SGA_MAX_SIZE >=SGA_TARGET
  memory_max_target  oracle 所能使用的内存的总体大小,包括SGA和PGA;
  SGA_MAX_SIZE   sga所能使用的的全部内存大小,
  10g  后oracle使用内存共享 自动管理方法,以使内存达到最大限度的利用,
  memory_targetSGA_TARGET 这两个参数决定的是是否启用自动内存管理(ASMM),参数默认是为0,一旦设置数值后 ,将自动启用内存自动管理(ASMM),
  例如:SGA_TARGET的默认值为0,我现在修改为452M(SGA_MAX_SIZE为512M),也即是说,sga总内存为512M,其中的的452M属于共享内存,这部分内存oracle会根据实际情况,分配给内存较小的区域,如share_pool,buffer_cache等,但是这个参数的值,永远不可能超过SGA_MAX_SIZE
  oracle可以随时调节各个区域的大小,使之达到系统性能最佳状态的个最合理大小,并且控制他们之和在SGA_TARGET指定的值之内。 一旦给SGA_TARGET指定值后(默认为0,即没有启动ASMM),就自动启动了ASMM特性。
  27)DB_WRITER_PROCESSES
  DB_WRITER_PROCESSES参数配置写进程的个数,各个进程以DBWn区分,其中n>=0,是进程序号。一般情况下,DB_WRITER_PROCESSES = MAX(1, TRUNC(CPU数/8))。也就是说,CPU数小于8时,DB_WRITER_PROCESSES为1,即只有一个写进程DBW0。这对于一般的系统来说也是足够用。当你的系统的修改数据的任务很重,并且已经影响到性能时,可以调整这个参数。这个参数不要超过CPU数,否则多出的进程也不会起作用,另外,它的最大值不能超过20。
  三、alert.log文件(e:\oracle\product\10.2.0/admin/fgisdb/bdump\alert_fgisdb.log)
  
  告警日志,在产生错误时,启动和关闭实例时,都会记录信息到告警日志中,此外还记录了不同于默认值的初始参数的列表,alter
  system,alter database命令,对表空间,数据文件的操作,空间不足,损坏的文件等。
  告警日志也会变得很大,可在任意时间重命名或删除告警日志,但是告警日志记录了数据库的各种安全信息,维护和恢复等信息,因此可
  根据时间先后来选择性删除。
  
  四、配置查询优化器 相关的参数
  28)optimizer_mode 优化器的选择模式
  参数 optimizer_mode , 有 first_rows_1000, first_rows_100, first_rows_10, first_rows_1,first_rows, all_rows, choose, rule 几种,
  9i  默认为choose,10G开始默认是all_rows,first_rows_n多用于OLTP环境中,
  此参数可动态修改,可以是实力级别和会话级别的修改。
  29)optimizer_features_enable
  数据库升级后,保留原版数据库的查询优化器的原先行为,可将次参数,设置为升级前的版本号,次参数只为过渡时使用,当系统稳定后,需要改回新版本。
  30)optimizer_index_cost_adj
  这个初始化参数代表一个百分比,取值范围在1到10000之间,该参数表示索引扫描和全表扫描成本的比较。缺省值100表示索引扫描成本等价转换与全表扫描成本。
  超过100后越大,则会使索引扫描的开销越高,从而是查询优化器更加倾向于全表扫描,相反,值越小于100,索引扫描的开销就越低。
  当这个值过低的话,容易造成执行计划的不稳定,通常设置为80——90。
  五、配置PGA相关的参数
  1、workarea_size_policy
  指定控制工作区域大小的方式,可以设置为两个值:
  Auto   整个工作区域大小的分配被委派给内存管理器,通过参数pga_aggregate_target 指定。
  Manual  通过设置参数bitmap_merge_area_size,hash_area_size,sort_area_size,sort_area_retained_size 控制每个工作区域备份的大小。
  2、pga_aggregate_target  9i和11G默认值为0,10G默认为sga的20%。
  3、sort_area_size   该参数默认值为64K,该参数较小,通常可以设置为1M/512K.
  用于合并连接,排序,聚合(包含哈希分组) 的工作区域的大小。
  4、sort_area_retained_size
  该参数指定排序后的数据的读缓冲大小(以字节为单位),该参数只有在手工PGA管理时才有效,默认值为0,默认值来源于sort_area_size。
  建议使用默认值,仅当系统确实缺少内存的时候,才建议设置此值。
  5、hash_area_size
  当使用手工pGA管理时,该参数指定用于哈希连接的工作区域大小。
  默认值为sort_area_size 的两倍。
  次此参数指定的值只是一个上限。
  6、bitmap_merge_area_size 如果使用手工管理PGA,此参数指定用于合并与位图索引相关位图的工作区域大小,默认值为1M。
  
  


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-600897-1-1.html 上篇帖子: Fast Setup for Oracle Install on HP-UX 下篇帖子: 详解 Oracle 自连接
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表