- 浏览: 7936931 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
对于OLTP系统,应该关注以下的对象属性
pct_free 一个数据块空闲空间的最小百分比
pct_used 一个数据块中存储数据的最小百分比
ini_trans 一个数据块中最初分配的事务数
max_trans 一个数据块中最大分配的事务数
initial_extent 第一个EXTENT的大小
next_extent 下一个extent的大小
min_extents 段首次分配的extent数量
max_extents 段最大可分配的extent数量
pct_increase extent扩展时,每次增加的百分数
freelists 段中空闲数据块列表
cache 是否缓存到内存中
2 并行度--oracle在并行处理时,会启动多少个并行进程来同时执行任务,并行度越高,
并行进程越多,执行速度
会越快
查看某个表的并行度:select degree from user_tables where table_name='XXX'
如果设置并行度为默认值,则使用下面的公式计算:
服务器CPU数*每个CPU启用的线程数=并行度
如果是RAC,则所有参与并行处理的实例CPU数*每个CPU启用的线程数=并行度
set autotrace off;
show parameter parallel_server_instances;
show parameter cpu;
3 默认表不使用并行处理,可以用hint的方式强制使用并行处理
select /*+parallel(t1 4) */ * from t1 ,使用4的并行
4 索引上的并行度
create index t1_idx on t1(object_id) parallel;
oracle当认为当允许多数据块读取是,才会使用并行
5 分区表或者分区索引是可以单独压缩的
1) 比如:一个分区表中,如果设置表级压缩,则所有分区都会被压缩
alter table t1 compress;
也可以一个分区表中,其中若干个分区使用压缩属性,另外1个不使用。
create .......
partition p1 values ...... compress,
不用的分区不加compress属性
单单对某个分区压缩:
alter table t1 modify partition p1 compress;
//可以为表的索引先压缩,然后才能对分区表的索引进行压缩(注意,否则出错)
create index t1_idx on t1(object_id) local compress;
2) 对于索引压缩,只有键值重复高的时候才有意义,对于主键类的压缩,作用不大,
反而消耗更多空间。
3)压缩表后,数据的查询性能各方面都会有不少提升
6 CBO的分析中,当表的数据变化后,应该尽可能及时对表进行重新分析
7 分析CBO
exec dbms_stats.gather_table_stats(user,'表名',cascade=>true);
set autotrace trace exp stat;
删除T表上的分析信息
exec dbms_stats.delete_table_stats
(ownername=>user,tablename=>'T',cascade_indexes=>true);
要注意的是:要是数据表中一旦有了分析数据,不论如何,oracle将不采用动态采样技
术,而如果数据表字段发生了改变,也应该用CBO分析技术重新分析下。
8) RAC:一个数据库对应多个实例,数据库以共享的方法被多个实例打开
,两个实例分别安装到服务器中,而数据库服务器,则被部署到一个SAN存储系统中,
实例之间通过
oracle cache fusion通道访问。
9) RAC不是一种高效的内存结构,oracle要通过一系列手段来保证数据块的版本一致。
10) 可以将某类或几类的业务分配到某一个或者几个实例上,避免cache fuson导致的等
待事件发生
11) dataguard保护模式
1) 最高保护模式
即假如日志写不入standby数据库,会关闭
2) 最高性能模式
该方式对性能影响最小,为默认保护模式,不需要日志实时复制到standby数据
库,如果日志无法传递到standby,则一直尝试知道成功为止
3)最高可用性
正常情况下,跟最高保护模式一样,但当日志无法写入时,会切换到最高性能模
式,主数据库不会DOWN。
OK后又切换为最高保护模式。
4)standby的类型,分为物理,逻辑。
A)物理standby: 物理结构上跟主数据库完全一致,包括数据块到文件,再到数据
库中的对象和主数据库
都保持一致,通过REDO日志去备份,可以以只读方式打开,当重新MOUNT后,才继续接收
主数据库的REDO日志
B)逻辑standby: 从REDO日志中提取SQL执行,可以允许对STANDBY数据库修改,比
物理STANDBY要慢
12) ASM:只需要创建一个ASM实例来管理ASM存储即可,剩下的就是将所有表空间的数据文
件指向ASM存储。ASM使用后,不需要关心每个磁盘的利用率,也不需要关心表空间的使用
率,这种情况下,表空间可以设置为自动扩展。ASM的实例状态永远为start状态,没控制
文件,ASM也不会有mount和open状态。
13) ASM可以通过rebalance操作,将数据在所有磁盘中重新分布,
14) 内存相关参数
SGA_TARGET:希望把SGA的目标大小控制在某个范围内。可以使用oracle的分析建议
器,sga增大,物理读次数会减少,但不能无限制增大SGA,要衡量下相关的平衡问题。
15)io参数
1、db_file_multiblock_read_count:oracle在一次连续扫描时,允许IO读取的最大
数据块数,但每次I/O大小不能超过oracle运行的操作系统最大IO值(通常1MB)
在OLTP中,每次读取的记录数少,可以设置该值小点;而OLAP,因为查询量大,
可以设置大些,但多数据块的读取只发生在以下两种情况下:
FULL TABLE SCAN、INDEX FAST FULL SCAN
在ORCLE 10G R2以后的版本中,oracle不建议修改它的默认值
2 db_writer_process
参数意思是:设置多个db_write进程,加快数据从缓冲区向磁盘写入速度。
,负责将数据缓冲区的脏数据(修改过的数据块)写入磁盘中,
3、disk_asynch_io:
允许oracle在数据写入时以异步方式写入,效果更高,不用等操作系统反馈,
继续下一个块的读入;
4 DBWR_io_slaves:
模拟一个异步IO系统的,当只有一个db_writer时有意义,即只有一个
DBW0后台进程。
5 db_files:用来约束数据库打开的文件数,默认值为200
6 cursor_sharing:告诉ORACLE什么情况下可以用共同游标,三个值:
EXACT:orcle的推荐值。要求SQL语句完全相同时,才重用。
SIMILAR:oracle认为某条SQL语句的谓词条件可能影响执行计划时,才会被重新分
析
force:无条件重用SQL
OLAP中,应该使用EXACT,因为不大需要SQL重用。
pct_free 一个数据块空闲空间的最小百分比
pct_used 一个数据块中存储数据的最小百分比
ini_trans 一个数据块中最初分配的事务数
max_trans 一个数据块中最大分配的事务数
initial_extent 第一个EXTENT的大小
next_extent 下一个extent的大小
min_extents 段首次分配的extent数量
max_extents 段最大可分配的extent数量
pct_increase extent扩展时,每次增加的百分数
freelists 段中空闲数据块列表
cache 是否缓存到内存中
2 并行度--oracle在并行处理时,会启动多少个并行进程来同时执行任务,并行度越高,
并行进程越多,执行速度
会越快
查看某个表的并行度:select degree from user_tables where table_name='XXX'
如果设置并行度为默认值,则使用下面的公式计算:
服务器CPU数*每个CPU启用的线程数=并行度
如果是RAC,则所有参与并行处理的实例CPU数*每个CPU启用的线程数=并行度
set autotrace off;
show parameter parallel_server_instances;
show parameter cpu;
3 默认表不使用并行处理,可以用hint的方式强制使用并行处理
select /*+parallel(t1 4) */ * from t1 ,使用4的并行
4 索引上的并行度
create index t1_idx on t1(object_id) parallel;
oracle当认为当允许多数据块读取是,才会使用并行
5 分区表或者分区索引是可以单独压缩的
1) 比如:一个分区表中,如果设置表级压缩,则所有分区都会被压缩
alter table t1 compress;
也可以一个分区表中,其中若干个分区使用压缩属性,另外1个不使用。
create .......
partition p1 values ...... compress,
不用的分区不加compress属性
单单对某个分区压缩:
alter table t1 modify partition p1 compress;
//可以为表的索引先压缩,然后才能对分区表的索引进行压缩(注意,否则出错)
create index t1_idx on t1(object_id) local compress;
2) 对于索引压缩,只有键值重复高的时候才有意义,对于主键类的压缩,作用不大,
反而消耗更多空间。
3)压缩表后,数据的查询性能各方面都会有不少提升
6 CBO的分析中,当表的数据变化后,应该尽可能及时对表进行重新分析
7 分析CBO
exec dbms_stats.gather_table_stats(user,'表名',cascade=>true);
set autotrace trace exp stat;
删除T表上的分析信息
exec dbms_stats.delete_table_stats
(ownername=>user,tablename=>'T',cascade_indexes=>true);
要注意的是:要是数据表中一旦有了分析数据,不论如何,oracle将不采用动态采样技
术,而如果数据表字段发生了改变,也应该用CBO分析技术重新分析下。
8) RAC:一个数据库对应多个实例,数据库以共享的方法被多个实例打开
,两个实例分别安装到服务器中,而数据库服务器,则被部署到一个SAN存储系统中,
实例之间通过
oracle cache fusion通道访问。
9) RAC不是一种高效的内存结构,oracle要通过一系列手段来保证数据块的版本一致。
10) 可以将某类或几类的业务分配到某一个或者几个实例上,避免cache fuson导致的等
待事件发生
11) dataguard保护模式
1) 最高保护模式
即假如日志写不入standby数据库,会关闭
2) 最高性能模式
该方式对性能影响最小,为默认保护模式,不需要日志实时复制到standby数据
库,如果日志无法传递到standby,则一直尝试知道成功为止
3)最高可用性
正常情况下,跟最高保护模式一样,但当日志无法写入时,会切换到最高性能模
式,主数据库不会DOWN。
OK后又切换为最高保护模式。
4)standby的类型,分为物理,逻辑。
A)物理standby: 物理结构上跟主数据库完全一致,包括数据块到文件,再到数据
库中的对象和主数据库
都保持一致,通过REDO日志去备份,可以以只读方式打开,当重新MOUNT后,才继续接收
主数据库的REDO日志
B)逻辑standby: 从REDO日志中提取SQL执行,可以允许对STANDBY数据库修改,比
物理STANDBY要慢
12) ASM:只需要创建一个ASM实例来管理ASM存储即可,剩下的就是将所有表空间的数据文
件指向ASM存储。ASM使用后,不需要关心每个磁盘的利用率,也不需要关心表空间的使用
率,这种情况下,表空间可以设置为自动扩展。ASM的实例状态永远为start状态,没控制
文件,ASM也不会有mount和open状态。
13) ASM可以通过rebalance操作,将数据在所有磁盘中重新分布,
14) 内存相关参数
SGA_TARGET:希望把SGA的目标大小控制在某个范围内。可以使用oracle的分析建议
器,sga增大,物理读次数会减少,但不能无限制增大SGA,要衡量下相关的平衡问题。
15)io参数
1、db_file_multiblock_read_count:oracle在一次连续扫描时,允许IO读取的最大
数据块数,但每次I/O大小不能超过oracle运行的操作系统最大IO值(通常1MB)
在OLTP中,每次读取的记录数少,可以设置该值小点;而OLAP,因为查询量大,
可以设置大些,但多数据块的读取只发生在以下两种情况下:
FULL TABLE SCAN、INDEX FAST FULL SCAN
在ORCLE 10G R2以后的版本中,oracle不建议修改它的默认值
2 db_writer_process
参数意思是:设置多个db_write进程,加快数据从缓冲区向磁盘写入速度。
,负责将数据缓冲区的脏数据(修改过的数据块)写入磁盘中,
3、disk_asynch_io:
允许oracle在数据写入时以异步方式写入,效果更高,不用等操作系统反馈,
继续下一个块的读入;
4 DBWR_io_slaves:
模拟一个异步IO系统的,当只有一个db_writer时有意义,即只有一个
DBW0后台进程。
5 db_files:用来约束数据库打开的文件数,默认值为200
6 cursor_sharing:告诉ORACLE什么情况下可以用共同游标,三个值:
EXACT:orcle的推荐值。要求SQL语句完全相同时,才重用。
SIMILAR:oracle认为某条SQL语句的谓词条件可能影响执行计划时,才会被重新分
析
force:无条件重用SQL
OLAP中,应该使用EXACT,因为不大需要SQL重用。
发表评论
-
mybatis generator中的字段大小写生成问题
2017-10-22 19:35 11388mybatis generator插件中,如果 mysql数据 ... -
MySQL统计一个列中不同值的数量
2017-07-11 14:04 16288https://yiqiwuliao.com/post/mys ... -
mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法
2017-03-02 09:44 1793权限问题,授权 给 root 所有sql 权限 mysql ... -
几个不错的MYSQL 优化TIPS
2016-11-19 12:30 812图片来自http://imysql.com/的PDF分享 [ ... -
powerdesign 逆向ORACLE的坑
2016-09-27 17:08 570要注意的是,在WIN 64中,如果要用powerdesin 来 ... -
( 转)mysql中删除两条重复记录中的一条
2015-10-19 20:19 1332| id | createTime | labId | pub ... -
mysql中sql语句=,>的时候的索引设置
2015-05-02 12:27 1309在 https://www.percona.com/blog/ ... -
mysql中profile的使用
2015-04-30 11:11 2231mysql 的 sql 性能分析器主要用途是显示 sql 执行 ... -
mysql中的sql mode
2015-04-13 11:29 1153mysql sql mode小结 1 sql mode可以 ... -
PROCEDURE ANALYSE()为mysql提高性能提供建议
2015-04-02 16:37 1470procedure analyse();语法如下 select ... -
mongodb中意外退出的问题
2015-02-11 14:32 1340mongodb启动的时候,意外退出: Unclean shut ... -
mysql 5.5中保留字查询
2014-06-05 23:16 1488mysql 5.5中保留字查询 http://www.5is ... -
(转)oracle 临时表空间的增删改查
2014-03-18 12:44 1147oracle 临时表空间的增删改查 1、查看临时表空间 (d ... -
pl-sql developer安装
2014-02-07 09:16 1134一直都是机器本机上有oracle,所以装pl sql deve ... -
oracle中的nvl,nvl2等参数
2013-12-26 11:18 22851.nul函数将一个null值转换为一个实际的值。 数据类型可 ... -
Oracle中的ROWNUM rowid 以及MySQL中实现rownum功能类似的语句
2013-12-26 11:08 2364http://gong-10140.iteye.com/blo ... -
ORACLE XE版本的限制
2013-12-07 08:11 367110g中用户数据最大为4G, 11G中最大为11G,如果超出大 ... -
oracle中监控索引是否可用
2013-11-04 07:22 1079在oracle中,可以使用如下的方法监控索引是否可用: a ... -
mysql 5.6中的时间类型的新精度介绍
2013-10-28 09:33 8414留意到mysql 5.6中,可以使用select now(6) ... -
<<oracle索引技术》读书笔记1
2013-08-25 16:23 1330expert indexing in oracle datab ...
相关推荐
“让Oracle跑得更快2:基于海量数据的数据库设计与”这一主题,正是聚焦于解决这一问题,旨在通过合理的数据库设计和性能优化策略,提升Oracle在处理大规模数据集时的效率。 ### 一、海量数据处理 海量数据处理的...
让Oracle跑得更快2基于海量数据的数据库设计与优化
让Oracle跑得更快基于海量数据的数据库设计与优化].谭怀远.第2版
标题和描述均指向一个主题:“让Oracle跑得更快”,这显然是一份专注于提升Oracle数据库性能的资料。Oracle作为全球领先的关系型数据库管理系统之一,其性能优化对于提高数据处理速度、增强系统响应能力和确保业务...
《让Oracle跑得更快:Oracle 10g性能分析与优化思路》PDF版本下载
Oracle数据库分区和压缩技术应用——让Oracle跑得更快.pdf
"让Oracle跑得更快1、2集合"的主题显然聚焦于如何提升Oracle数据库的运行效率,这涉及到多个方面的知识,包括但不限于SQL优化、索引策略、数据库设计、存储结构、并行处理以及资源管理等。 首先,SQL优化是提高...
鉴于提供的文件信息中没有包含可分析的具体内容,我无法针对"让Oracle跑得更快.pdf"这一电子书提供详细的知识点。然而,基于标题中提到的“Oracle”和“跑得更快”,我可以提供一些普遍性的知识点和建议,这些建议...
《让Oracle跑得更快 2 基于海量数据的数据库设计与优化》是一本深入探讨如何在大数据环境下提升Oracle数据库性能的专业书籍。该书详细阐述了针对大规模数据的数据库设计策略以及优化技术,旨在帮助读者理解并解决...
《让Oracle跑得更快:基于海量数据的数据库设计与优化》是谭怀远先生的著作,专注于探讨如何在处理大规模数据时提升Oracle数据库的性能。这本书的第二版深入讲解了Oracle数据库在面对海量数据时的设计策略和优化技巧...
Oracle优化方面的书籍,需要你已经有一定的SQL基础,里面介绍了一系列的优化技巧,也较会你去了解Oracle底层的执行计划。本书籍为chm格式的,发现打开为不可显示的,请察看文件属性,然后将锁定...
### 让你的Oracle跑得更快 #### 概述 在当今快速发展的信息技术领域,数据库性能优化已成为企业提高竞争力的关键因素之一。Oracle作为全球最流行的数据库管理系统之一,在金融、电信、制造等多个行业中广泛应用。...
oracle畅销书,很不错的。 0下载分分享给大家。 由于文件较大,分两部分上传,都下载才可以解压。 反正不要积分,辛苦大家了!
国内第一本真正意义上从工作经验出发,以作者的心得体会全面论述Oracle数据库性能优化的书籍。 作者内心经历的表白,站在全局角度对性能做分析,而不是拘泥于具体的技术细节,呈现给读者一种新的阅读思路。 书中...
资源名称:让Oracle跑得更快—Oracle 10g性能分析与优化思路内容简介:在这本书里读者将会学到作者在性能优化方面的一些思路和思考,一些故障处理的方法和原则,这些东西是作者在实践中长期积累的心得体会,当读者...
让Oracle跑得更快.Oracle.10g性能分析与优化思路
sql fundament 读书笔记 oracle 原厂 培训 金领DBA
<< JSP+Oracle数据库开发与实例>>光盘内容及其使用方法 __________________________________________________________________ 目录内容及使用方法: 本目录提供了<<JSP+Oracle数据库开发与实例>>一书从第1到第14章...
Oracle 性能分析 优化思路
oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记oracle adg安装个人笔记...