Initialization Parameters
- Static vs. Dynamic
• 可以通过视图v$parameter和v$spparameter查
看当前的启动参数的设置, 前者返回的是当前
实例运行时参数设置, 后者则是spfile中保存的
参数设置, 通常情况下两者相同. 不同的情况可
能发生在: DBA修改了某个静态参数的值, 并且
写入了spfile; 或者修改某个动态参数的值, 但未
写入spfile.
• 通过如下sql语句判断参数是静态的还是动态的:
select NAME, ISSES_MODIFIABLE, ISSYS_MODIFIABLE
from v$parameter where name like '%%';
6.
Initialization Parameters
- Alter Parameter Value
• 使用alter system语句修改初始化参数, 该语句会在系统级别修改
参数的值, 格式如下:
alter system set pname=pvalue
[scope=both|memory|spfile]
scope选项各个值的含义分别是:
– both 同时修改内存和spfile
– memory 仅修改内存
– spfile 仅修改spfile
默认情况下scope值为both. 需要注意以下情况会导致
该语句失败:
– 修改静态参数但scope未指定为spfile;
– 使用pfile启动数据库但指定scope为spfile;
• 根据不同的参数, 可以在system级别, session级别或者同时允许在
这两个级别进行设置. 比如optimizer_mode参数既可以在system级
别也可以在session级别设置, nls_date_format参数则只允许在会
话级别进行设置. 会话级别设置则使用alter session 语句, 该语句
的格式: alter session set pname=pvalue
7.
Initialization Parameters
- Basic Parameters
• 通常DBA需要考虑的是基础启动参数, 使用如下sql
查询有哪些基础参数:
select name,value from v$parameter
where isbasic='TRUE' order by name;
下面是基础参数的一个列表(这些参数将分别在之
后的章节中讨论):
Database Startup
-Startup: nomount, mount and open
• oracle数据库的启动可以分为这些阶段: 启动实例(内存+
进程), 挂载数据库(mount), 打开数据库(open). 数据库具
有如下状态:
– SHUTDOWN(关闭)
– NOMOUNT
此时数据库实例已经启动但数据库没有被挂载.
– MOUNT
此时数据库实例已经启动, 并且已读取控制文件.
– OPEN
数据库实例已经启动, 数据文件被打开, 等待客户端用户连接.
• 在不同的数据库启动阶段需要读取相应的文件, 那么
oracle是如何读取到这些文件的呢? 下面按照数据库启动
的各个阶段进行介绍.
– NOMOUNT
此阶段需要读取数据库初始化参数文件, 参考《 Parameter file》
15.
Database Startup
- Startup:nomount, mount and open
– MOUNT
此阶段需要读取控制文件, 控制文件是通过前一
阶段读取的CONTROL_FILES参数进行定位的. 这一
阶段会读取数据库数据文件/在线重做日志文件
的位置信息, 但此时不会定位和读取这些文件.
– OPEN
此阶段会根据前一阶段读取的文件位置信息对这
些文件进行定位和打开.
Data Dictionary Views
•Oracle数据字典是对数据库的定义, 动态性能视图则包含
了当前实例的运行性能信息, 这两者对于实例性能的监
控和诊断非常具有参考价值.
• Data Dictionary Views
数据字典包含的是数据库元数据, 它包括: 数据库的物理
和逻辑描述, 数据库对象(表/索引/PLSQL过程)描述, 完整
性约束, 用户定义, 安全信息, 以及性能监控信息. 数据字
典以段(segment) 存储在SYSTEM/SYSAUX表空间中. 常用
的数据字典视图有:
– DBA_OBJECTS A row for every object in the database
– DBA_DATA_FILES A row describing every datafile
– DBA_USERS A row describing each user
– DBA_TABLES A row describing each table
– DBA_ALERT_HISTORY Rows describing past alert conditions