博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用SQL来分析数据库参数(二)
阅读量:2447 次
发布时间:2019-05-10

本文共 5131 字,大约阅读时间需要 17 分钟。

拖延症的我终于接下来第二篇数据库参数的分析。

数据库的参数分析一直以来是调优中的重要一环,而感觉有时候却感觉找不到一些方法,我分析了一下,还是蛮有意思。数据库的参数分析基于下面的几个环境。

10gR2(10.2.0.5.0)

11gR2(11.2.0.4.0)

12cR1(12.1.0.2.0)

大体来说数据库的参数在Oracle中还有很大一部分没有开放,而在很多博客,技术分析中,总是会自然而然的分析到隐含参数,通过这些参数可以让我们一窥Oracle对的运行机制。

那么公开和未公开的比例有多大呢,保守的算法,不到10%的比例。我们来上两个图。

第一个图是数据库所有的参数在10g,11g,12c中的变化情况,可以大体感觉到参数随着版本是越来越多。

而开放的参数呢,就是我们通过v$parameter,show parameter能够查看到的,在10g,11g,12c中大体是这样的一个演进图。

这里你可以很明显看到一个拐点,在11g到12c的过程中,公开的参数相对在减少。

而怎么分析这些参数呢,能不能挖掘出一些重要的信息呢。

下面是参数情况的数据。在10g,11g,12c中大体是这样的一个比例,GENERAL的代表可以通过v$parameter查看到,为ALL的则代表是能够查看到的所有参数。

DB_VERSION           PARAM_TYPE             COUNT(*)

-------------------- -------------------- ----------
10.2.0.5.0           ALL                        1618
10.2.0.5.0           GENERAL                     259
11.2.0.4.0           ALL                        2912
11.2.0.4.0           GENERAL                     351
12.1.0.2.0           ALL                        3975
12.1.0.2.0           GENERAL                     380

我们来简单分析一下。

我抛出了下面的几个问题,如果没有对比数据,这些很难回答,而又了数据,这些就可以轻松应答。

    哪些参数是11g新增的?

    哪些是12c新增的?
    哪些11g的隐含参数,在12c正式引入?     哪些是11g的隐含参数,在12c中被废弃?     哪些是10g的隐含参数,在11g被废弃?     哪些是10g的隐含参数,在11g被正式引入?
    哪些是10g默认的参数,在11g有所变化?
    哪些是11g默认的参数,在12c中有所变化?

要得到这些数据方法也很直白,就是查询视图数据转储。具体方法参见。

我们首先创建一个表来存放这些参数信息。

create table db_param (db_version varchar2(30),param_type varchar2(10),name varchar2(80),value varchar(512),isdefault varchar2(9),isdeprecated varchar2(5),description varchar2(255));

然后使用下面的控制文件导入数据

load data

infile *
append into table db_param_all
fields terminated by '|'
(db_version,param_type,name,value,isdefault,isdeprecated,description)

如果导入有个别的参数失败,也不必失望,哪些很可能是归档路径参数等。

数据得到了,我们来通过SQL进行简单分析。

1)哪些参数是11g新增的?

select name from db_param where db_version='11.2.0.4.0'  and param_type='GENERAL' and name not in (select name from db_param where  db_version='10.2.0.5.0' and param_type='GENERAL');

这样的参数有104个,我举几个例子。

log_archive_dest_31这个参数是归档相关的,在11g中进行了扩展,原本10g里面是10个,11g里面扩展了不少。

限于篇幅就不一一列举了,我举出几个说明即可。

ddl_lock_timeout

deferred_segment_creation
sec_max_failed_login_attempts
diagnostic_dest

2)那些是12c新增的?

select name from db_param where db_version='12.1.0.2.0'  and param_type='GENERAL' and name not in (select name from db_param where  db_version='11.2.0.4.0' and param_type='GENERAL')

这个输出结果只有31条,而纵观参数的变化,主要就是在两个方面,PDB和IMO,可见这两个特性是12c里深入骨髓了。

3)哪些11g的隐含参数,在12c正式引入?

select name from db_param where db_version='12.1.0.2.0'  and param_type='GENERAL'

and '_'||name  in
(select name from db_param where  db_version='11.2.0.4.0' and param_type='ALL'
minus
select name from db_param where  db_version='11.2.0.4.0' and param_type='GENERAL'
);

这些代表着那些隐含参数已经转正了,不过数量确实很少。

active_instance_count

db_block_buffers
parallel_degree_level
resource_manager_plan

4)哪些是11g的隐含参数,在12c中被废弃?

select name from db_param where db_version='12.1.0.2.0'  and param_type='GENERAL' and ISDEPRECATED='TRUE'

and '_'||name  in
(select name from db_param where  db_version='11.2.0.4.0' and param_type='ALL'
minus
select name from db_param where  db_version='11.2.0.4.0' and param_type='GENERAL'
)

经过一番查找,还真找到一个。

active_instance_count

5)哪些是10g的隐含参数,在11g被正式引入?

select name from db_param where db_version='11.2.0.4.0'  and param_type='GENERAL'  

and '_'||name  in
(select name from db_param where  db_version='10.2.0.5.0' and param_type='ALL'
minus
select name from db_param where  db_version='10.2.0.5.0' and param_type='GENERAL'
)涉及的参数只有

db_block_buffers

6)哪些是10g默认的参数,在11g有所变化?

这部分内容就尤其需要注意了,这些参数的设计在11g有了重大的变化

sga_max_size                      TRUE    FALSE

audit_trail                       FALSE   TRUE  
db_keep_cache_size                FALSE   TRUE  
db_recycle_cache_size             FALSE   TRUE  
db_writer_processes               TRUE    FALSE
log_archive_dest_3                FALSE   TRUE  
log_archive_dest_state_2          FALSE   TRUE  
log_archive_dest_state_3          FALSE   TRUE  
log_archive_min_succeed_dest      FALSE   TRUE  
fal_server                        FALSE   TRUE  
log_archive_trace                 FALSE   TRUE  
log_archive_config                FALSE   TRUE  
log_archive_format                FALSE   TRUE  
log_archive_max_processes         FALSE   TRUE  
archive_lag_target                FALSE   TRUE  
db_file_multiblock_read_count     TRUE    FALSE
standby_file_management           FALSE   TRUE  
undo_management                   TRUE    FALSE
undo_retention                    TRUE    FALSE
utl_file_dir                      TRUE    FALSE
job_queue_processes               TRUE    FALSE
background_dump_dest              TRUE    FALSE
user_dump_dest                    TRUE    FALSE
core_dump_dest                    TRUE    FALSE

7)哪些是11g默认的参数,在12c中有所变化?

select db_12c.name,db_11g.name,db_12c.isdefault,db_11g.isdefault--,db_12c.value,db_11g.value

from (select name,value,isdefault from db_param where db_version='12.1.0.2.0'  and param_type='GENERAL' ) db_12c,
(select name,value,isdefault from db_param where db_version='11.2.0.4.0'  and param_type='GENERAL'  ) db_11g
where db_12c.name=db_11g.name and db_12c.isdefault!=db_11g.isdefault;输出如下,大概有20个

standby_file_management      TRUE    FALSE

sec_case_sensitive_logon     FALSE   TRUE
local_listener               TRUE    FALSE
dg_broker_start              TRUE    FALSE
db_keep_cache_size           TRUE    FALSE
db_recycle_cache_size        TRUE    FALSE
log_archive_dest_1           TRUE    FALSE
log_archive_dest_state_2     TRUE    FALSE
log_archive_dest_state_3     TRUE    FALSE
log_archive_min_succeed_dest TRUE    FALSE
fal_server                   TRUE    FALSE
log_archive_trace            TRUE    FALSE
log_archive_config           TRUE    FALSE
log_archive_format           TRUE    FALSE
log_archive_max_processes    TRUE    FALSE
archive_lag_target           TRUE    FALSE

我重点想说的是两个参数standby_file_management 和sec_case_sensitive_logon,大小写登录敏感在11g是一个新特性,但是到了12c里面竟然参数被废弃了。

由此可见数据库中,我们只是一瞥其中的奥妙,里面还有很多很多的未知问题等待着我们。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23718752/viewspace-2128470/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23718752/viewspace-2128470/

你可能感兴趣的文章
hue功能_Philips Hue的“新实验室”部分中的最佳实验功能
查看>>
微软office在线文档_如何使用Microsoft Office密码保护文档和PDF
查看>>
如何在SHIELD Android TV上调整过扫描
查看>>
outlook 禁用不安全_如何在Outlook中禁用删除确认对话框
查看>>
找到丢失的磁贴跟踪器后如何获取通知
查看>>
PlayStation 4 Pro上的“升压模式”是什么?
查看>>
android 更改软键盘_如何在Android上更改Google键盘的主题
查看>>
kodi 缓存文件夹_如何将Kodi图稿与视频存储在同一文件夹中
查看>>
windows隐藏磁盘_如何在Windows的磁盘清理工具中启用隐藏选项
查看>>
如何在Linux或macOS终端中使用Bash历史记录
查看>>
photos设置成中文_如何在OS X的Photos中设置和使用扩展程序
查看>>
大剧院自助签证_如果您的项目是《剧院》,请使用演员
查看>>
windows终端终端_Windows终端介绍
查看>>
小额免密_如何在您的应用中进行小额付款
查看>>
用开源代码如何建立网站_建立全球开源法律网络
查看>>
c&c++语言参考手册_C ++值类别快速参考:第2部分
查看>>
javascript优化_优化性能的十大JavaScript技巧
查看>>
ruby on rails_Ruby on Rails在市场开发中的重要地位
查看>>
react 编程式路由_如何做React式编程。 第2部分:副作用
查看>>
传统网络面临问题_我们每天都面临的最流行的计算机问题
查看>>