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> 
 
 
[oracle@DB-Server dbs]$ grep session init_session.ora
*.session_cached_cursors=400
*.sessions=800
[oracle@DB-Server 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-22 06:20:37

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

Linux 下 Oracle 内核参数优化

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

Oracle 隐含参数

Oracle 隐含参数 点击(此处)折叠或打开 set pagesize 9999 set line 9999 col NAME format a40 col KSPPDESC format a50 col KSPPSTVL format a20 SELECT a.INDX,        a.KSPPINM NAME,        a.KSPPDESC,        b.KSPPSTVL FROM x$ksppi a,        x$ksppcv b WHERE a.INDX = b.

Oracle 多参数查询语句_oracle

废话不多说了,直接给大家贴代码了,具体代码如下所示: CREATE OR REPLACE FUNCTION f_get_param( IN_PARAM IN VARCHAR2, IN_FLAG IN VARCHAR2) RETURN VARCHAR2 IS RESULT VARCHAR2(500); v_leng NUMBER; v_left NUMBER; v_right NUMBER; v_param VARCHAR2(200); v_param1 VARCHAR2(200); BEGION

oracle产品服务和技术级别介绍,OrACLE服务

oracle oracle产品服务和技术级别介绍     很多朋友询问正版Oracle数据库产品和盗版产品主要有什么区别呢,其实从产品技术本身来讲,区别不大,可以从OTN网站上下载一个数据库产品,然后安装使用,正版和盗版最大的区别就是,如果你购买了正版产品就可以享受Oracle公司给您提供的服务,数据库一旦出问题了,可以找Oracle公司的技术人员来解决,那么Oracle具体的服务内容是什么呢,我总结了一下: 标准支持服务Standard Product Support 标准服务是获得ORACL

查看Oracle隐藏参数的方法

在ORACLE中,存在很多ORACLE不希望我们去参与修改的参数,对于这些参数我们可以通过下面的语句来查询: select x.ksppinm name, y.ksppstvl value, y.ksppstdf isdefault, decode(bitand(y.ksppstvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE') ismod, decode(bitand(y.ksppstvf,2),2,'TRUE','FALSE') isadj from sys

Oracle Database 11g Express Editon介绍及安装

一.Oracle Database 11g Express版本介绍 公司项目开发中,使用 的数据库是Oracle 10g和MySQL 5.5,最新因为开发需要,需要从后台读取一些数据.使用的客户端是PL/SQL Developer,当然有很多同事喜欢用Toad.当然客户端工具基本上大同小异,估计高手直接用PL*SQL命令行,也是可以进行开发的.在学习学习 SQL Server时,老师推荐我们按照SQL Server 2005 Express,他说首先是免费版,不需要大家去找序列号,而已和以后真实

使用oracle带参数游标问题

问题描述 使用oracle带参数游标问题 GOODS 商品表 已有数据: CATEGORY表 已有数据 PL/SQL 代码: DECLARE V_GOODS GOODS%ROWTYPE; --存放商品表记录 V_CATEGORYID CHAR(32); --商品类别ID /*根据指定商品类别ID查询出该类别下商品价格最低的商品记录*/ CURSOR CUR_GOODS(CATEGORYID VARCHAR) IS SELECT * FROM (SELECT * FROM GOODS G WHER

oracle初始化参数设置_oracle

正在看的ORACLE教程是:oracle初始化参数设置. ALTER DATABASE DATAFILEd:\ORANT\DATABASE\USER1ORCL.ORA RESIZE 1000M;CREATE TABLESPACE INDEX_DATA DATAFILEd:\ORANT\DATABASE\INDEX_DATA SIZE 500M;ALTER DATABASE DATAFILEd:\ORANT\DATABASE\RBS1ORCL.ORA RESIZE 300M;ALTER DATAB

如何根据v$parameter查询Oracle隐含参数

Oracle的隐含参数在Oracle的官方文档中是不会出现的,这些参数主要是Oracle内部用于控制某些功能的开关,或者就像今天eygle讲的,Oracle牛逼之处就是可能几年前开发的一个功能就放到当时的版本中,让你"试用",但你却不知道,如果碰巧因为遇见了这个问题的bug,Oracle会告诉你可以使用这个参数关掉,等用户"试用"了几年之后,相对来说稳定了,Oracle发布新版本,说推出了一个新功能,且稳定运行了N年- 那么如何知道某个隐含参数是何含义.全称是什么.