ORACLE推导参数Derived Parameter介绍

Oracle的推导参数(Derived Parameters)其实是初始化参数的一种。推导参数值通常来自于其它参数的运算,依赖其它参数计算得出。官方文档关于推导参数(Derived Parameters)的概念如下:

Derived Parameters

Some initialization parameters are derived, meaning that their values are calculated from the values of other parameters. Normally, you should not alter values for derived parameters, but if you do, then the value you specify will override the calculated value.

For example, the default value of the SESSIONS parameter is derived from the value of the PROCESSES parameter. If the value of PROCESSES changes, then the default value of SESSIONS changes as well, unless you override it with a specified value.

很奇怪的是官方资料关于推导参数(Derived Parameters)的介绍非常少,几乎就是那么一点,无法从v$parameter等系统视图获取那些是推导参数(Derived Parameters),查了一些资料似乎还有下面一些参数是推导参数.

· _enqueue_hash_chains- The default value is derived from processesparameter.

·

· db_block_checkpoint_batch - This parameter specifies the number of blocks that the DBWR writes in one batch when performing a checkpoint. Setting this value too high causes the system to flood the I/O devices during the checkpoint, severely degrades performance, and increases response times--maybe to unacceptable levels.

·

· enqueue_resources - This parameter specifies the number of resources that can be locked by the lock manager. The default value is derived fromprocesses and is usually sufficient.

·

· nls_currency - This parameter is derived from nls_territory, and specifies the string to use as the local currency symbol for the L number format element.

·

· nls_date_format - This parameter is derived from nls_territory and definesthe default date format to use with the to_char and to_date functions. The value of this parameter is any valid date format mask.

·

· nls_iso_currency - Derived from nls_territory, this parameter defines the string to use as the international currency symbol for the C number format element.

·

· nls_numeric_characters - This is derived from nls_territory, and defines the characters to be used as the group separator and decimal.

·

· nls_sort - Derived from nls_language, this parameter is set to BINARY, the collating sequence for ORDER BY is based on the numeric values of the characters. A linguistic sort decides the order based on the defined linguistic sort. A binary sort is much more efficient and uses much less overhead.

·

· sessions - This parameter specifies the total number of user and system sessions, and is set to 1.1 times the value of the processes parameter.

以前在这篇文章里面ORACLE会话连接进程三者总结,我一直有个关于修改了session值后,session与process的关系公式不成立了的问题,当时一直没有搞明白,当时不知道推导参数概念,现在想想其实非常简单,其实就是因为我修改sessions这个推导参数,覆盖了推导值。下面再演示一下:

 
SQL> show parameter process;

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

aq_tm_processes                      integer     0

db_writer_processes                  integer     1

gcs_server_processes                 integer     0

job_queue_processes                  integer     10

log_archive_max_processes            integer     10

processes                            integer     870

SQL> show parameter session;

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

java_max_sessionspace_size           integer     0

java_soft_sessionspace_limit         integer     0

license_max_sessions                 integer     0

license_sessions_warning             integer     0

logmnr_max_persistent_sessions       integer     1

session_cached_cursors               integer     400

session_max_open_files               integer     10

sessions                             integer     962

shared_server_sessions               integer

SQL> select ceil(870*1.1) +5 from dual;

 

CEIL(870*1.1)+5

---------------

            962

同时修改参数sessions和processes,然后重启数据库,然后检查参数processes与sessions的关系。

SQL> alter system set sessions=800 scope=spfile;
 

System altered.

 

SQL> alter system set processes=600 scope=spfile;                    

 

System altered.

 

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

 

 

SQL> startup;

ORACLE instance started.

 

Total System Global Area 1509949440 bytes

Fixed Size                  2096472 bytes

Variable Size            1358955176 bytes

Database Buffers          100663296 bytes

Redo Buffers               48234496 bytes

Database mounted.

Database opened.

SQL> show parameter processes;

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

aq_tm_processes                      integer     0

db_writer_processes                  integer     1

gcs_server_processes                 integer     0

job_queue_processes                  integer     10

log_archive_max_processes            integer     10

processes                            integer     600

SQL> show parameter session

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

java_max_sessionspace_size           integer     0

java_soft_sessionspace_limit         integer     0

license_max_sessions                 integer     0

license_sessions_warning             integer     0

logmnr_max_persistent_sessions       integer     1

session_cached_cursors               integer     400

session_max_open_files               integer     10

sessions                             integer     800

shared_server_sessions               integer

SQL> select ceil(1.1*600)+5 from dual;

 

CEIL(1.1*600)+5

---------------

            665

如上所示,processes与sessions的关系已经不成立了:sessions=(1.1 * processes) + 5(Oracle 10g)。主要还是因为推导参数session设置后,覆盖了推导值。这个参数值已经写入了参数文件spfile或pfile当中。

SQL> create pfile=‘/u01/app/oracle/product/10.2.0/db_1/dbs/init_session.ora‘ from spfile;
 

File created.

 

SQL> 

 

 

[[email protected] dbs]$ grep session init_session.ora

*.session_cached_cursors=400

*.sessions=800

[[email protected] dbs]$ grep process init_session.ora

*.job_queue_processes=10

*.log_archive_max_processes=10

*.processes=600

参考资料:

http://www.dba-oracle.com/t_derived_parameters.htm

时间: 2024-08-01 10:45:32

ORACLE推导参数Derived Parameter介绍的相关文章

Linux 下 Oracle 内核参数优化

数据库的性能优化涉及到整个数据库运行环境的方方面面,诸如操作系统,Oracle自身,存储,网络等等几个大块.而操作系统则是Oracle稳定运行与最大化性能的基石.本文主要描述基于Linux系统下 Oracle 内核参数的配置. 校验下面的列表中显示的内核参数的值被设置为大于或等于下面所显示的最小值. 如果你的系统中下面的任意参数的当前值已经大于或高于下面列出的值,请不要做任何修改. 下面的步骤给出了如何去校验并设置这些参数的值. 通过执行下面的命令进行校验 /sbin/sysctl -a | e

Oracle shared_pool_reserved_size参数设置说明

进入SQLPLUS,查询shared_pool,往往看到结果如下: SQL> show parameter shared_pool NAME                                    TYPE              VALUE------------------------------------ ----------- ------------------------------shared_pool_reserved_size           big in

Oracle 初始化参数文件pfile和spfile

pfile和spfile的区别 pfile :Oracle 9i之前,ORACLE一直采用PFILE方式存储初始化参数,该文件为文本文件,可以在操作系统级别修改.当spfile文件修改出现错误导致oracle无法启动时,可以使用 pfile文件启动数据库 spfile:从Oracle 9i开始,Oracle引入了SPFILE文件,该文件为二进制格式,不能通过手工修改,只能在sql下通过alter system set 修改其中的参数. 如 ALTER SYSTEM SET REMOTE_LOGI

oracle整体知识的大致介绍(1)-概念

表空间: oracle允许不同类型的数据分开存放,表空间是数据库的逻辑划分. 数据文件: 表空间由同一磁盘上的一个或多个文件组成,这些文件叫做数据文件. 实例: 是存放和控制数据库的软件机制. oracle启动实例时,需要读取init.ora文件. oracle有一个物理结构.一个逻辑结构. 物理结构: 由4类文件组成 数据文件 日志文件,有恢复作用 控制文件,库名.数据文件的位置以及建立日期 参数文件 SGA:全局共享区 包括:       共享池.数据块缓冲区.日志,字典缓冲区. oracl

JavaScript函数的默认参数(default parameter)

JavaScript函数的默认参数(default parameter) js函数参数的默认值都是undefined, ES5里,不支持直接在形参里写默认值.所以,要设置默认值,就要检测参数是否为undefined,按需求赋值. function multiply(a, b) { b = typeof b !== 'undefined' ? b : 1; return a*b; } multiply(5); // 5 multiply(5, 0); // 0 上面是MDN的相关例子,是比较严谨的

Inf2Cat应用的参数使用详细介绍

http://msdn.microsoft.com/zh-cn/subscriptions/ff547089 ? Inf2Cat Inf2Cat (Inf2Cat.exe) 是一个命令行工具,该工具确定驱动程序包的?INF 文件是否可以针对指定的 Windows 版本列表进行数字签名.如果可以,那么 Inf2Cat 会生成适用于指定 Windows 版本的未签名的目录文件. Inf2Cat /driver: PackagePath /os: WindowsVersionList [/nocat]

请求(Request)的参数(Parameter)里包含特殊字符(#等)的正确处理方式

遇到一个问题 在一个地址链接(URL)里使用  url?param1=val1&param2=val2  的方式传递参数,结果在获取参数值时发现不是当初设定的值. 具体案例 以特殊字符井号(#)为例. 部分参数值丢了 JS里设置参数 window.location="some_web_project/xxx.jsp?param_key=abc#xyz"; Java中取参数值 Sting paramVal = request.getParameter("param_ke

PHPStorm2017去掉参数提示 parameter name hints

PHPStorm2017去掉参数提示 parameter name hints JetBrains 的各种语言的 IDE 都灰常灰常好用, 个个都是神器, PHPStorm 作为PHP开发的神器也不必多说了 今天升级到 PHPStorm 2017.1 发现增加了好些新功能, 有个默认开启的参数名和类型提示功能, 虽然功能挺强大的, 不过我用不着, 还是关掉的好, 有同样需求的同学可以看看 例子比较特殊这么看起来确实有点费眼睛的感觉还是关掉的好 配置面板中搜索 parameter name hin

Linux 内核参数 和 Oracle相关参数调整

Linux 内核参数 和 Oracle相关参数调整 分类: Oracle Basic Knowledge2009-10-14 12:23 9648人阅读 评论(0) 收藏 举报 oraclelinuxsemaphorearraysdatabaseoracle10g Linux 内核参数的大小和Oracle 有很大的关闭,比如ORA-27102的错误,就是因为内核参数的大小不当造成.具体参考Blog: Upon startup of Linux database get ORA-27102: ou