杨廷琨(yangtingkun)
云和恩墨 CTO
高级咨询顾问,Oracle ACE 总监,ITPUB Oracle 数据库管理版版主
参数文件是Oracle数据库文件中级别最低,也是最基本的文件,但是也是数据库实例启动第一个涉及的文件。如果参数文件缺失或者某些参数设置错误,数据库就无法启动。
不要小看这个参数文件,其中隐藏的学问并不少,接下来让我们一一细数关于参数文件的点点滴滴。
多种查询初始化参数方法
查询初始化参数的方法很多,比如 SHOW PARAMETER,或查询 V$PARAMETER 等,这里简单总结一下。
首先初始化参数的设置的方法就有很多种:
还有一种初始化参数可以设置延迟生效,也就是说这个修改只对以后连接到数据库的会话生效,而对当前会话以及其他已经连接到 Oracle 的会话不会生效。
如果再考虑 RAC 环境,数据库中存在多个启动实例的情况,那么查询数据库初始化参数就更加复杂了。
所幸 Oracle 提供的查询初始化参数方法也有很多种途径、方法和来源,请和我们一起熟悉一下以下种种:
SHOW PARAMETERS SHOW SPPARAMETERS CREATE PFILE V$PARAMETER V$PARAMETER2 V$SYSTEM_PARAMETER V$SYSTEM_PARAMETER2 V$SPPARAMETER
以下对这些方法分别进行说明:
首先看一下V$PARAMETER和V$PARAMETER2的区别,这个区别同样适用于V$SYSTEM_PARAMETER和V$SYSTEM_PARAMETER2:
SQL> SELECT NAME, VALUE FROM V$PARAMETER 2 MINUS 3 SELECT NAME, VALUE FROM V$PARAMETER2; NAME ---------------------------------------- control_files VALUE -------------------------------------------------- E:\ORACLE\ORADATA\YTK102\CONTROL01.CTL, E:\ORACLE\ORADATA\YTK102\CONTROL02.CTL, E:\ORACLE\ORADATA\YTK102\CONTROL03.CTL SQL> SELECT NAME, VALUE FROM V$PARAMETER2 2 MINUS 3 SELECT NAME, VALUE FROM V$PARAMETER; NAME VALUE ---------------------------------------- -------------------------------------------------- control_files E:\ORACLE\ORADATA\YTK102\CONTROL01.CTL control_files E:\ORACLE\ORADATA\YTK102\CONTROL02.CTL control_files E:\ORACLE\ORADATA\YTK102\CONTROL03.CTL
现在这两个视图的结果一目了然了。进一步的研究可以看到底层的数据源来自两个不同的位置,V$PARAMETER来自x$ksppcv ,V$PARAMETER2来自x$ksppcv2,数据源的不同也正是前端的不同。