前言:
今天碰到一个有意思的事情,多家企业的好几位资深工程师竟也表示没用过:SPPARAMETER。
介绍
SHOW PARAMETER和SHOW SPPARAMETER在Oracle数据库中都是用于查询参数值的命令,但它们之间存在一些重要的区别。
查询的参数来源:
SHOW PARAMETER:这个命令用于查询当前会话中生效的初始化参数,这些参数可以是从PFILE(文本初始化参数文件)或SPFILE(服务器参数文件)中加载的。它显示的是当前会话正在使用的参数值。
SHOW SPPARAMETER:这个命令特定于SQLPlus工具,并且仅在Oracle 11g及更高版本的SQLPlus中有效。它用于查询存储在SPFILE中的参数值。由于SPFILE是二进制文件,通常无法直接查看或编辑,因此SHOW SPPARAMETER命令提供了一种方便的方式来查看这些参数。
显示的内容:
两者都可以显示参数的名称和值,但SHOW SPPARAMETER更具体地指向了SPFILE中的参数。
如果某个参数在SPFILE中没有显式设置,但在PFILE或数据库中有默认值,那么SHOW PARAMETER将显示该默认值,而SHOW SPPARAMETER可能不会显示该参数(因为它只显示SPFILE中的参数)。
用途:
SHOW PARAMETER更通用,因为它可以显示当前会话正在使用的所有参数,无论这些参数是从PFILE还是SPFILE加载的。
SHOW SPPARAMETER则更专注于SPFILE中的参数,对于需要直接查看或验证SPFILE内容的场景非常有用。
总的来说,SHOW PARAMETER和SHOW SPPARAMETER都是用于查询Oracle数据库参数值的命令,但它们在查询的参数来源和显示的内容上有所不同。根据具体的需求和场景,可以选择使用哪个命令。
用例
如下可以看到show parameter与show spparameter/spparameters的区别还是有的,增加了SID字段,可以更清晰更全面的显示一些信息。事实上这是很久以前11g版本的新特性,虽然说改进的点比较小,但是确实能在某些场景上减少了操作。
SYS@orcl1> show parameter undo;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
SYS@orcl1> show spparameter undo;
SID NAME TYPE VALUE
-------- ----------------------------- ----------- ----------------------------
* undo_management string
* undo_retention integer
orcl1 undo_tablespace string UNDOTBS1
orcl2 undo_tablespace string UNDOTBS2
SYS@orcl1> show spparameters undo;
SID NAME TYPE VALUE
-------- ----------------------------- ----------- ----------------------------
* undo_management string
* undo_retention integer
orcl1 undo_tablespace string UNDOTBS1
orcl2 undo_tablespace string UNDOTBS2
声明
本内容旨在个人学习与交流,未涉及企商业机密。