您现在的位置是:首页
>
Oracle学习应用之数据库性能优化策略
Oracle学习应用之数据库性能优化策略 数据库系统和操作系统一样 在计算机上安装成功后 还需要进一步配置和优化 从而使其具有更强大的功能和运行在最佳状态 如果在设计阶段因为各种因素没有进行较为合

Oracle学习应用之数据库性能优化策略
数据库系统和操作系统一样 在计算机上安装成功后 还需要进一步配置和优化 从而使其具有更强大的功能和运行在最佳状态 如果在设计阶段因为各种因素没有进行较为合理的配置和计划 那么就需要在后期对数据库系统进行优化 数据库系统性能的优化 除了在设计阶段对其逻辑存储结构和物理存储结构设计进行优化 使之在满足需求条件下 时空开销性能最佳外 还可在运行阶段 采取一些优化措施 使系统性能最佳 本专题所讨论的性能优化主要指运行阶段的性能优化 即讨论如何使用Oracle所提供的优化手段来提高系统性能 大多数性能问题并不是一种孤立的症状 而是系统设计的结果 因此性能优化就集中在那些导致不可接受特征的同一的 固定的和潜在的问题上 优化是数据库设计中 计划 设计 监视 和 优化 四大步骤的最后一步 除了用Oracle优化器来优化数据库的性能外 DBA还可通过优化Oracle的参数设置等手段来优化数据库的性能 对参数的细微优化便能影响系统整体性能 为了有目的优化系统性能 首先应明确优化目标 然后再根据目标优化各种初始参数的设置 以达到更好效果 可有如下几个优化目标: ◆ 应用程序设计的优化 ◆ 指定类型SQL语句的优化 ◆ 内存使用的优化 ◆ 数据存储 物理存储和逻辑存储的优化 ◆ 网络通信量的优化 DBA可选定上述一个或多个目标来实施优化 性能优化主要是通过优化初始化参数来实现 本专题从以下几个方面来谈谈如何优化Oracle数据库 使其具有最佳性能 ( )优化初始参数 ( )优化内存 ( )优化I/O ( )优化资源争用 ( )其它参数优化 可变参数的优化 在对Oracle数据库进行优化时 需要用到许多的参数 其中有一部分参数对系统性能影响较大 这部分参数叫可变参数 可变参数按其作用可以分为两大类 一大类是起限制作用的 如OPEN_CURSORS;另一大类是影响系统性能的 如DB_BLOCK_BUFFERS 在进行数据库系统性能优化时 需要熟练掌握和了解一些可变参数 本文讨论了一些对系统性能有较大影响的参数 限制类可变参数 ( )DML_LOCKS 该参数表明多少个用户 可同时能修改多少张表 例如:有三个用户同时修改二张表 则要求表上的总数为 若置为 则组织队列不起作用 其性能会稍有提高 使用该参数时不能用DROP TABLE CREATE INDEX或显式封锁 ( )LICENSE_MAX_SESSION 该参数指出允许并发用户会话的最大数 若此参数为 则不能实施并发 若并发的用户会话数已达到此极限 则只有具有RESTRICTED SESSION权限的用户才能连接到服务器 ( )LICENSE_MAX_USERS 该参数指出在一个数据库上可建立的最大用户数 当达到最大值时 便不能再建新用户 可改变此值以放松限制 在LICENSE_MAX_SESSION或LICENSE_MAX_USER为 时 则并发会话或任何用户都不能用 若对不同的实例 此参数不同时 则以第一个登录的数据库实例的参数为准 ( )MAX_DUMP_FILE_SIZE 该参数指定操作系统中写跟踪文件的块的最大值 可用此值来限制跟踪文件的空间 ( )OPEN_CURSORS 该参数指明一个用户进程能同时打开光标的最大数 它能限制每个用户进程占用的内存空间量 ( )OPEN_LINKS 该参数指定并发连接到远程数据库的最大用户进程数 若同时引用多个数据库 则应该增大该值 例如:同时交替访问A B和C三个数据库时 若OPEN_LINKS设置为 则需花费等待连接时间 此参数只用于分布事务 若该参数设置为 则不允许进行分布事务处理 ( )PROCESS 该参数指定同时连接到Oracle服务器上的最大用户进程数 该参数值包括 个后台进程和一个登录 因此 该参数值为 则只能有 或 个并发用户连接到服务器 ( )ROW_LOCKING 该参数指定行封锁方式 若设置为 ALWAYS 则在修改表时只实施行封锁 若设置为 INTENT 时 则行封锁只适用于SELECT FOR UPDATE 而在修改时实施表封锁 影响系统性能类可变参数 ( )CHECKPOINT_PROCESS 该参数根据是否要求检查点而设置成TRUE或者FALSE 当所有缓冲区的信息写到磁盘时 检查点进程(CHPT)建立一个静态的点 在归档日志文件中做一个记号表示有一个检查点发生 检查点发生在归档日志转换的时候或当达到log_checkpoint_interval定义的块数的时候 当设置此参数为TRUE时 后台进程CHPT便可工作 在检查点期间内 若日志写进程(LGWR)的性能减低 则可用CHPT进程加以改善 ( )DB_BLOCK_CHECKPOINT_BATCH 该参数的值设置得较大时 可加速检查点的完成 当指定的值比参数DB_BLOCK_CHECKPOINT_BATCH大时 其效果和指定最大值相同 ( )DB_BLOCK_BUFFERS 该参数是在SGA中可作缓冲用的数据库块数 该参数决定SGA的大小 对数据库性能具有决定性因素 若取较大的值 则可减少I/O次数 但要求内存空间较大 每个缓冲区的大小由参数DB_BLOCK_SIZE决定 ( )DB_BLOCK_SIZE 该参数表示Oracle数据库块的大小 以字节为单位 典型值为 或 该值一旦设定则不能改变 它影响表及索引的FREELISTS参数的最大值 ( )DB_FILES 该参数为数据库运行时可打开的数据文件最大数目 ( )DB_FILE_MULTIBLOCK_READ_COUNT 该参数表示在顺序扫描时一次I/O操作可读的最大块数 该最大块数取决于操作系统 其值在 至 或者 是比较好 ( )D SCRETE_TRANSACTION_ENABLED 该参数实现一个更简单 更快的回滚机制 以改进某些事务类型的性能 当设置为TRUE时 可改善某些类型的事务性能 ( )LOG_ARCHIVE_BUFFER_SIZE 此参数的值依赖于操作系统 它与LOG_ARCHIVE_BUFFER 参数一起用于调整有归档日志的运行 使其运行速度尽量加快 但不能快到降低性能 仅当直接归档到磁带设备时才需要增加这些参数的值 重做日志缓冲区要等待归档日志缓冲区变得可用 ( ) LOG_ARCHIVE_BUFFER 该参数指定用于归档的日志时的缓冲区数 ( ) LOG_BUFFER 该参数指明分配给SGA中的日志缓冲区的字节数 该参数值较大时 可减少日志I/O的次数 对于繁忙的系统不宜采用大于或等于 K的值 缺省值—般为数据库块的 倍 ( )LOG_CHECKPOINT_TIMEOUT 该参数指明两个检查点之间的时间间隔 若指定为 时 则说明不允许进行基于时间的检查点 ( )LOG_CHECKPOINT_INTERVAL 该参数用来确定检查点进程的执行频率 这个数值设置成取检查点之前处理的重做缓冲区块的数量 ( )LOG_FILES 该参数指定运行期间数据库可打开的日志文件数 若需要较大的SGA空间 而不需多个日志文件 则可减少该值 ( )LOG_SIMULTANEOUS_COPIES 该参数是日志缓冲区副本闩锁的最大数 为同时写日志项所用 为提高性能 可设置此参数为两倍的CPU数 对单进程系统 该值多数设置为 此时断开闩锁 ( )LOG_SMALL_ENTRY_MAX_SIZE 该参数与LOG_SIMULTANEOUS_COPIES参数配合使用 若日志项大于此项 则在给缓冲区分配空间并获得日志复制闩锁之后 用户进程释放日志复制闩锁 ( )OPTIMIZRER_MODE 若该参数的值为RULE 则ORACLE优化器选择基于规则的优化;若设置为COST 并且在数据字典中存在有统计信息 则优化器选择基于代价的优化方法进行优化 ( )SEQUENCE_CACHE_ENTRIES 该参数指明在SGA中可进行高速缓存的序列数 用于直接存取 该高速缓存区是基于最近最少使用(LRU)的算法进行管理的 若此值设置得较高 则可达到较高的并发性 ( )SEQUENCE_CACHE_HASH_BUCKETS 该参数用于加速查看高速缓冲区最近请求的最新序列的桶式地址数 每个桶式地址占 个字节 高速缓冲区以散列表排列 该参数应为质数 ( )SERIALIZEABLE 此参数用于保证重复读的一致性 当它设置为TRUE时 查询可保证表级读一致 以防止在此查询提交之前的修改 ( )SHARED_POOL_SIZE 该参数指定共享池的大小 其中包括共享光标及存储过程 在多用户系统中 较大的SHARED_POOL_SIZE值可改善SQL语句的执行性能 但较小的值可节省内存 ( )SMALL_TABLE_THRESHOLD 该参数决定SGA中用于扫描的缓冲区的数目 若表的数目小于该值 则该表可整个地读入高速缓存区 若表大于该值 则立即重用该缓冲区 一般用缺省值可使性能最好 ( )SORT_AREA_TETAINED_SIZE 这是会话内存的最大数量 用于内存排序 当从排序空间提出最后—行时 便释放该内存 若排序要较大的内存 则分配一临时段 排序便可在盘上进行 用于排序的最大总量可由SORT_AREA_SIZE指定 而不用此参数 可以分配同样大小的多个排序空间 不过一般对于复杂的查询才需要 ( ) SORT_AREA_SIZE 该参数用于指定进行外排序(磁盘)时所需PGA内存的最大数量 以字节为单位 当排序行写入磁盘时 该 lishixinzhi/Article/program/Oracle/201311/18769 很赞哦! (1043)