Oracle启动参数在哪查看?

99ANYc3cd6
预计阅读时长 11 分钟
位置: 首页 参数 正文

使用 V$PARAMETER 视图 (最常用)

这是在数据库已启动时查看当前生效参数值的标准方法,它显示的是内存中的参数值。

oracle 查看启动参数
(图片来源网络,侵删)

查看所有参数

SELECT name, value, description 
FROM v$parameter 
ORDER BY name;

查看特定参数

如果你想查找特定的参数,可以使用 LIKE 操作符或直接指定名称。

-- 查找所有与 'db_block' 相关的参数
SELECT name, value 
FROM v$parameter 
WHERE name LIKE 'db_block%';
-- 查找 'db_block_size' 参数
SELECT name, value 
FROM v$parameter 
WHERE name = 'db_block_size';

区分默认值和修改过的值

V$PARAMETER 视图中的 ISDEFAULT 列可以告诉你该参数是否使用了 Oracle 的默认值。

SELECT name, value, isdefault 
FROM v$parameter 
WHERE isdefault = 'FALSE';

这个查询非常有用,因为它能快速显示出所有被手动修改过的参数,帮助你进行配置审计。


使用 V$SYSTEM_PARAMETER 视图

这个视图与 V$PARAMETER 类似,但它只显示那些属于 SCOPE=SPFILESCOPE=BOTH 的系统级参数,它通常用于查看那些可以在运行时修改并持久化到 SPFILE 的参数。

SELECT name, value, isdefault, isses_modifiable, issys_modifiable 
FROM v$system_parameter 
ORDER BY name;

isses_modifiableissys_modifiable 列可以告诉你该参数是否可以在会话或系统级别动态修改。


使用 SHOW 命令 (SQL*Plus)

如果你正在使用 SQL*Plus 工具,SHOW 命令是最快捷的查看方式之一。

查看所有参数

SHOW ALL

查看特定参数

-- 查看 db_block_size
SHOW PARAMETERS db_block_size
-- 查看所有以 'control_files' 开头的参数
SHOW PARAMETERS control_files

使用 SPFILEPFILE 文件 (查看源配置文件)

这些视图直接从服务器参数文件或初始化参数文件中读取参数值,反映了数据库启动时使用的配置,而不是内存中的当前值。

从 SPFILE 查看参数

如果你的数据库使用的是 SPFILE (Server Parameter File),这是查看所有参数(包括那些未在内存中生效的)的最佳方式。

-- 查看所有参数及其来源文件
SELECT name, value, isspecified, value_from 
FROM v$parameter 
WHERE isspecified = 'TRUE'
ORDER BY name;
-- 或者,更直接地查询 SPFILE 的内容(需要特定权限)
-- 这个查询会解析 SPFILE 并显示所有参数
CREATE TABLE temp_params AS
SELECT * FROM TABLE(dbms_utility.get_parameter_value('你的SPFILE路径, /u01/app/oracle/product/19c/dbhome_1/dbs/spfileorcl.ora'));
-- 查询创建的临时表
SELECT * FROM temp_params;

注意:直接解析 SPFILE 的方法比较复杂,通常使用 V$PARAMETER 视图并结合 isspecified 列就足够了。

从 PFILE 查看参数

如果你的数据库使用的是 PFILE (Plain Text Parameter File),你可以直接用操作系统命令查看。

  • 在 Linux/Unix 上:
    cat /u01/app/oracle/product/19c/dbhome_1/dbs/init<ORACLE_SID>.ora
  • 在 Windows 上:
    type C:\app\oracle\product\19c\dbhome_1\dbs\init<ORACLE_SID>.ora

使用 ALTER SYSTEM 命令查看动态修改的参数

当你使用 ALTER SYSTEM SET ... 命令修改参数后,可以通过以下视图查看修改历史和当前状态。

-- 查看所有通过 ALTER SYSTEM 命令修改过的参数及其当前值
SELECT name, value 
FROM v$parameter 
WHERE isspecified = 'TRUE';

总结与对比

方法 适用场景 优点 缺点
V$PARAMETER 数据库已启动,查看当前内存中的参数值 标准视图,信息全面,包含 ISDEFAULT 等关键字段 无法直接显示 SPFILE 中存在但未生效的参数
V$SYSTEM_PARAMETER 数据库已启动,查看系统级可修改参数 区分会话和系统级修改能力 范围比 V$PARAMETER
SHOW 命令 在 SQL*Plus 中快速查询 简单、快捷,适合交互式操作 仅限 SQL*Plus 环境
SPFILE / PFILE 查看源配置文件中的参数值 最权威,反映启动配置,不受运行时修改影响 需要文件访问权限或使用特定 SQL 函数
ALTER SYSTEM 查看动态修改过的参数 快速定位被手动更改的配置 无法显示默认或静态参数

实用建议

  1. 日常查看:使用 SELECT name, value, isdefault FROM v$parameter WHERE isdefault = 'FALSE';,这是最常用、最高效的方式,能帮你快速了解所有非默认配置。
  2. 快速检查:在 SQL*Plus 中使用 SHOW PARAMETERS <parameter_name>
  3. 源文件审计:当你需要比对启动配置和当前运行状态时,直接查看 SPFILEPFILE 文件。
  4. 参数修改历史:使用 isspecified = 'TRUE' 来追踪哪些参数被动态修改过。
-- 展开阅读全文 --
头像
mac mini 2025拆机
« 上一篇 今天
华为Watch GT详细参数有哪些?
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码

最近发表

标签列表

目录[+]