十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
普通参数:也就是Oracle系统正常使用的一些参数,
创新互联是一家专业提供青浦企业网站建设,专注与成都做网站、网站制作、H5响应式网站、小程序制作等业务。10年已为青浦众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
非凡参数:包括三种,过时参数、强调参数和隐藏参数。
随着Oracle数据库新版本的发布,相应每次都会增加或者删除一些参数。下面具体介绍如何查询当前系统版本中的各种参数情况。
一、过时参数 和 强调参数
Oracle 数据库中,系统提供了几个视图可以查看系统参数的情况。视图 V$OBSOLETE_PARAMETER 中含有所有的过时 (obsolete) 和强调 (underscored) 参数。
这里首先说明一下什么是 Oracle 的过时 (obsolote) 和强调 (underscored) 参数,过时参数,顾名思义就是在 Oracle 以前的版本中存在,但在新版本中已经淘汰了的参数,已经不再使用;而强调参数,是指那些在新版本中保留了下来,但是除非非凡需要不希望用户使用的那些参数。在视图 V$OBSOLETE_PARAMETER 中,包含这些参数的名称和一个标志字 ISSPECIFIED ,该标志字用来指出这个参数是否在 init.ora 文件中已实际设置。 下面的 SQL 脚本列出了当前系统中所有的过时参数名称以及它们是否在当前系统中设定。
/* Formatted on 2010-5-12 17:46:27 (QP5 v5.115.810.9015) */
SELECT name, isspecified FROM v$obsolete_parameter;
上面谈到, Oracle 系统并没有将 V$OBSOLETE_PARAMETER 视图中的所有参数均丢弃,而是将其中的一部分转换为强调参数,下面就来讨论如何查看这些参数是已被丢弃还是被转换。这可以通过系统视图 X$KSPPO 来查看,该视图中包含一个名为 KSPPOFLAG 的字段,用来指明该参数在当前版本中是被丢弃还是被强调,假如该值为 1 ,则表示该参数已被丢弃,该值为 2 ,则表明该参数现为强调参数。
最近,对Linux大页的调整,所以重温了一些Linux内存及SGA等相关概念、参数和配置,这里进行一下记录,省的总Google.
limits.conf文件实际是Linux PAM(插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so 的配置文件,突破系统的默认限制,对系统访问资源有一定保护作用。 limits.conf 和sysctl.conf区别在於limits.conf是针对用户,而sysctl.conf是针对整个系统参数配置。
limits.conf是 pam_limits.so的 配置文件,然後/etc/pam.d/下的应用程序调用pam_***.so模块。譬如说,当用户访问服务器,服务程序将请求发送到PAM模块,PAM模块根据服务名称在/etc/pam.d目 录下选择一个对应的服务文件,然後根据服务文件的内容选择具体的PAM模块进行处理。
格式为:
-c 指定修改core文件的大小,1000指定了core文件大小。也可以对core文件的大小不做限制,如: ulimit -c unlimited
对於需要做许多套接字连接并使它们处於打开状态的应用程序而言,最好通过使用ulimit -n,或者通过设置nofile参数,为用户把文件描述符的数量设置得比默认值高一些
maxlogins - 此用户允许登录的最大数目
注意:要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。查看 /etc/pam.d/login 文件中有:session required /lib/security/pam_limits.so
详细说明:
username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。
type:有 soft,hard 和 -,
soft 指的是当前系统生效的设置值。
hard 表明系统中所能设定的最大值。
soft 的限制不能比har 限制高。
用 - 就表明同时设置了 soft 和 hard 的值。
resource:
示例,若机器上部署了ORACLE数据库,我们需要对oracle用户的资源做下调整,如下:
要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。查看 /etc/pam.d/login 文件中有:
--查看当前系统配置文件ulimit的全局配置
ulimit -a
如果未进行具体设置的话,会使用默认配置,如下查看:
批注:当使用*号让全局用户生效的时候,生效的nproc的值大小是受文件/etc/security/limits.d/90-nproc.conf中nproc值大小制约的,而如果仅仅是针对某个用户,那麽就不受该文件nproc值大小的影响。
Linux系统 /etc/security/limits.conf 配置
参考自
修改 /etc/sysctl.conf 文件之后,执行命令 # sysctl -p 立刻生效
1、kernel.shmmax
用于定义单个共享内存段的最大值
shmmax 设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会
导致需要创建多个共享内存段,这样可能导致系统性能的下降。
2、kernel.shmall
控制共享内存页数。Linux 共享内存页大小为4KB, 共享内存段的大小都是共享内存页大小的整数倍。
例如:一个共享内存段的最大大小是16G,那么需要共享内存页数是 16GB/4KB=16777216KB/4KB=4194304 (页),也就是64Bit 系统下16GB 物理内存,设置 kernel.shmall = 4194304 才符合要求(几乎是原来设置2097152
的两倍)。这时可以将shmmax 参数调整到 16G 了,同时可以修改SGA_MAX_SIZE 和SGA_TARGET 为 12G(您想设置的SGA 最大大小,当然也可以是2G~14G 等,还要协调PGA参数及OS等其他内存使用,不能设置太满,比如16G)。
3、kernel.shmmni
是共享内存段的最大数量(注意这个参数不是 shmmin,是shmmni, shmmin 表示内存段最小大小 ) 。shmmni 缺省值4096 ,一般肯定是够用了。
shared server模式 现在基本都不会用的,对大量都用户访问都是用中间件连接池来处理的
你用的是哪个版本你就应该看你用的版本的文档,DISPATCHERS 是shared server模式才需要的参数,你数据库不是shared server模式配置肯定出错的
DISPATCHERS configures dispatcher processes in the shared server architecture. The parsing software supports a name-value syntax to enable the specification of attributes in a position-independent, case-insensitive manner. For example:
DISPATCHERS = '(PROTOCOL=TCP)(DISPATCHERS=3)'
Attributes may be specified using the full attribute name or any substring beginning with the first 3 characters. For example, SESSIONS can be specified as SES, SESS, SESSI, and so on.
Specify only one of the following attributes: PROTOCOL, ADDRESS, or DESCRIPTION. If you specify either ADDRESS or DESCRIPTION, then you can specify additional network attributes. Doing so supports multi-homed hosts.
INDEX
Use this attribute in an ALTER SYSTEM SET DISPATCHERS statement to indicate which dispatcher configuration you want to modify. (If you specify INDEX in the initialization parameter file, the Oracle Database ignores it.) In an ALTER SYSTEM statement, INDEX specifies the order in which the parameter's values were initialized. The value ranges from 0 (for the first dispatcher configuration) to one less than the total number of dispatcher configurations you define.
For example, if you specify 3 dispatcher configurations in the initialization parameter file, you would modify the third dispatcher configuration by specifying INDEX=2 in the ALTER SYSTEM statement. You could also add an additional dispatcher configuration in the ALTER SYSTEM statement by specifying INDEX=3.
If INDEX is not specified in the ALTER SYSTEM statement, then the PROTOCOL, ADDRESS, or DESCRIPTION attributes must be specified, and if a dispatcher configuration matching this PROTOCOL, ADDRESS, or DESCRIPTION exists, then that configuration will be modified. Otherwise, a new configuration will be added.
alter system set dbwr_io_slaves=2 scope=spfile;
这个跟你系统的磁盘io有关系.改了要重起才起作用