初始化参数

Oracle提供了许多的初始化参数,通过这些参数对数据库实例进行设置。

管理员可以查看这些参数的设置,也可以修改这些参数的值。
初始化参数具有以下功能:
·对实例进行设置,如设置SGA 中每种缓冲区的大小。
·设置数据库的属性,如设置数据块的大小。
·对用户进程进行设置,如设置最大的并发用户进程数。
.指定数据库中一些重要文件的路径。
·对数据库资源的使用进行限制。

参数文件

初始化参数的值存储在参数文件中。

Oracle提供了许多初始化参数,但是在参数文件中只对少量的初始化参数进行了设置,其他大部分参数都采用默认值
在Oracle数据库中有两种参数文件,其中一种称为服务器参数文件,这是一个二进制文件,文件的命名规则是spfile<sid>.ora,其中<sid>代表实例的名称。
另一个文件称为文本参数文件,这是一个文本文件,用户可以直接修改文件内容,文件的命名规则是init<sid>.ora

这两个文件默认都存放在Oracle安装目录的dbs子目录( UNIX/Linux平台)或database子目录( Windows平台)中。
在启动实例时, Oracle将在指定目录先查找服务器参数文件,如果这个文件不存在,就继续查找文本参数文件。
如果这两个文件都不存在,用户就需要在命令行中指定参数文件的路径。
例如,在SQL*Plus 中通过以下命令启动实例:
startup pfile=‘/export/home/oracle/init.ora‘
其中pfile用于指定一个文本参数文件。

也可以通过以下命令在启动实例时指定一个服务器参数文件:
startup spfile=‘/export/home/oracle/spfile.ora‘
需要注意的是,如果用户通过SQL*Plus远程登录,并且希望通过文本参数文件启动实例,那么必须通过pfile指定参数文件的路径,而这个文件是存储在执行SQL*Plus命令的客户端,而不是存储在服务器端。

初始化参数的查看

管理员可以通过EM 或SQL*Plus 中查看初始化参数的设置。

例如,在SQL*Plus 中通过执行以下命令查看数据块的大小:
show parameter db_block size
如果不知道某个初始化参数的具体名称,但是知道这个参数的某一部分,也可以通过这种方式查看初始化参数的值。
例如,以下命令用于查看包含字符串“ log_archive_”的所有参数:
 show parameter log archive_
也可以通过执行SELECT命令,从动态性能视图v$parameter查看初始化参数的信息。
例如:
SELECT value FROM v$parameter WHERE name=‘db_block_size‘;

初始化参数的修改:

根据作用范围的不同,把初始化参数分为三种类型包括:静态参数、实例级参数、会话级参数。
其中静态参数是不能修改的,自从数据库创建之后这些参数就一直保持某个特定值,如表示数据块大小的DB_BLOCK_SIZE。
实例级参数和会话级参数是可以修改的,其中实例级参数在整个实例范围内有效,这样的参数只能由SYS用户修改。
会话级参数只在当前会话范围内有效,会话结束后参数就失去作用,每个用户都可以修改自己的会话级参数。
为了查看初始化参数的详细信息,可以在SQL*Plus 中执行以下SELECT命令:

SELECT value, isdefault, isses_modifiable, issys_modifiable, ismodified FROM v$parameter WHERE name=‘utl_file_dir‘;

有两种方法可以用来修改初始化参数,一种方法是直接编辑文本参数文件,然后重新启动实例,这样新的参数值就会起作用;另一种方法是在EM或SQL*Plus 中动态修改。
Oracle推荐使用后一种方法,因为这种方法可以把对数据库系统的影响减到最小。
有些参数修改以后立即起作用,有些参数修改以后必须重新启动实例才能起作用。

在SQL*Plus 中修改初始化参数的命令是ALTER SYSTEM 。
例如:

ALTER SYSTEM SET utl_file_dir=‘D:\oracle\product\10.2.0\db_1\database‘;

这条命令在执行时将产生错误信息,原因是这个参数的值不能立即起作用,必须把实例后参能生效。
在修改参数时,可以通过SCOPE关键字指定参数什么时候生效

例如:

ALTER SYSTEM SET utl_file_dir=‘D:\oracle\product\10.2.0\db_1\database‘ scope=spfile;

SCOPE有三个可选值,含义如下:
MEMORY :参数值立即其作用,但是实例重新启动后新的参数值将失效。
SPFILE :将参数值记录在服务器参数文件中,重新启动实例后参数值将生效。
BOTH :一方面参数值立即生效,另一方面把参数值记录在服务器参数文件中,这样就可以永久其作用。这个值是默认值

下面是动态性能视图v$parameter的相关信息:

V$PARAMETER displays information about the initialization parameters(初始化参数) that are currently in effect(有效的) for the session. A new session inherits parameter values from the instance-wide values displayed by the V$SYSTEM_PARAMETER view.

Column Datatype Description

NUM


NUMBER


Parameter number


NAME


VARCHAR2(80)


Name of the parameter


TYPE


NUMBER


Parameter type:

  • 1 - Boolean
  • 2 - String
  • 3 - Integer
  • 4 - Parameter file
  • 5 - Reserved
  • 6 - Big integer

VALUE


VARCHAR2(4000)


Parameter value for the session (if modified within the session); otherwise, the instance-wide parameter value


DISPLAY_VALUE


VARCHAR2(4000)


Parameter value in a user-friendly format. For example, if the VALUE column shows the value 262144 for a big integer parameter, then theDISPLAY_VALUE column will show the value 256K.


DEFAULT_VALUE


VARCHAR2(255)


The default value for this parameter


ISDEFAULT


VARCHAR2(9)


Indicates whether the parameter is set to the default value (TRUE) or the parameter value was specified in the parameter file (FALSE)


ISSES_MODIFIABLE


VARCHAR2(5)


Indicates whether the parameter can be changed with ALTER SESSION(TRUE) or not (FALSE)


ISSYS_MODIFIABLE


VARCHAR2(9)


Indicates whether the parameter can be changed with ALTER SYSTEM and when the change takes effect:

  • IMMEDIATE - Parameter can be changed with ALTER SYSTEMregardless of the type of parameter file used to start the instance. The change takes effect immediately.
  • DEFERRED - Parameter can be changed with ALTER SYSTEMregardless of the type of parameter file used to start the instance. The change takes effect in subsequent sessions.
  • FALSE - Parameter cannot be changed with ALTER SYSTEM unless a server parameter file was used to start the instance. The change takes effect in subsequent instances.

ISPDB_MODIFIABLE


VARCHAR2(5)


Indicates whether the parameter can be modified inside a PDB (TRUE) or not (FALSE).

In a non-CDB, the value of this column is NULL.


ISINSTANCE_MODIFIABLE


VARCHAR2(5)


For parameters that can be changed with ALTER SYSTEM, indicates whether the value of the parameter can be different for every instance (TRUE) or whether the parameter must have the same value for all Real Application Clusters instances (FALSE). If the ISSYS_MODIFIABLE column is FALSE, then this column is always FALSE.


ISMODIFIED


VARCHAR2(10)


Indicates whether the parameter has been modified after instance startup:

  • MODIFIED - Parameter has been modified with ALTER SESSION
  • SYSTEM_MOD - Parameter has been modified with ALTER SYSTEM(which causes all the currently logged in sessions‘ values to be modified)
  • FALSE - Parameter has not been modified after instance startup

ISADJUSTED


VARCHAR2(5)


Indicates whether Oracle adjusted the input value to a more suitable value (for example, the parameter value should be prime, but the user input a non-prime number, so Oracle adjusted the value to the next prime number)


ISDEPRECATED


VARCHAR2(5)


Indicates whether the parameter has been deprecated (TRUE) or not (FALSE)


ISBASIC


VARCHAR2(5)


Indicates whether the parameter is a basic parameter (TRUE) or not (FALSE)


DESCRIPTION


VARCHAR2(255)


Description of the parameter


UPDATE_COMMENT


VARCHAR2(255)


Comments associated with the most recent update


HASH


NUMBER


Hash value for the parameter name


CON_ID


NUMBER


The ID of the container to which the data pertains. Possible values include:

  • 0: This value is used for rows containing data that pertain to the entire CDB. This value is also used for rows in non-CDBs.
  • 1: This value is used for rows containing data that pertain to only the root
  • n: Where n is the applicable container ID for the rows containing data
时间: 2024-10-25 07:54:55

初始化参数的相关文章

SpringMVC初始化参数绑定--日期格式

一.初始化参数绑定[一种日期格式] 配置步骤: ①:在applicationcontext.xml中只需要配置一个包扫描器即可 <!-- 包扫描器 --> <context:component-scan base-package="cn.happy.controller"></context:component-scan> ②:在处理器类中配置绑定方法  使用@InitBinder注解 在这里首先注册一个用户编辑器 参数一为目标类型   proper

SpringMvc中初始化参数绑定

初始化参数绑定与类型转换很类似,初始化绑定时,主要是参数类型 ---单日期 在处理器类中配置绑定方法  使用@InitBinder注解 在这里首先注册一个用户编辑器 参数一为目标类型   propertyEditor为属性编辑器,此处我们选用 CustomDateEditor属性编辑器, 参数一为想转换的日期格式,参数二表示是否允许为空 package cn.controller; import java.text.DateFormat; import java.text.SimpleDateF

web.xml中servlet初始化参数的设置

<context-param><param-name>param1</param-name><param-value>value1</param-value></context-param><context-param><param-name>param2</param-name><param-value>value2</param-value></context-pa

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

SpringMVC 的初始化参数绑定

初始化参数绑定:日期格式 一:首先我们先做一种日期格式的绑定,配置初始化参数绑定和自定义类型转换有着异曲同工之妙 配置步骤如下: 1.我们首先配置applicationContext.xml,进行扫描器的配置 2.其次我们定义它的处理器,以及进行方法的绑定(@InitBinder) 3.单个日期格式进行测试: <form action="${pageContext.request.contextPath }/first.do" method="post">

javaee学习-servlet初始化参数

1.需要定义ServletConfig对象来接收servlet配置的初始化参数. 2.当servlet配置了初始化参数后,web容器在创建servlet实例对象时, 会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet.进而,程序员通过ServletConfig对象就可以得到当前servlet的初始化参数信息. 3.注意:获取servlet初始值(需要在init()方法中初始化)//注意,这里必

web.xml 中以编码方式添加filter并设置初始化参数AbstractAnnotationConfigDispatchServletInitializer

web.xml中配置filter <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=&q

修改oracle初始化参数

1.初始化参数文件 启动实例,会读取初始化参数 (1)spfile (服务器参数文件)二进制文件 不能手动修改 spfile<SID>.ora SQL> show parameter spfile; NAME     TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile     string +DATA/orcl/spfileorcl.ora (2

获得初始化参数

视频地址:http://www.imooc.com/video/5878 代码详见:E:\workspace-Java\20167021\ServletGetInitParameterServletDemo index.jsp 中配置: <body> <H1>获取初始化参数演示案例</H1> <a href="servlet/GetInitParameterServlet">获取初始化参数</a></body> w

RCU-数据库初始化参数

C:\Windows\System32>sqlplus sys/As123456 as sysdba SQL> show parameter processes; SQL> shutdow immediate; 数ORACLE 例程已经关闭. SQL> startup; ORACLE 例程已经启动. RCU-6107:_b_tree_bitmap_plans的数据库初始化参数先决条件失败 当前值为null.该值应null FALSE. alter session set "