文章目录
1 初始化参数
在启动实例时会读取初始化参数文件parameter file。
位置路径:$ORACLE_HOME/dbs
1.1 参数文件的两种类型
服务器参数文件(SPFILE) :二进制不能直接读文本
初始化参数文件(PFILE)
- 查看参数信息
show parameter 参数名
select * from v$parameter;
1.2 静态参数和动态参数
- 动态参数
可以直接在内存中修改,并对当前 instance 立即生效 - 静态参数
必须修改参数文件,下次启动后生效
查看一个参数的类型
SQL> select count(*),issys_modifiable from v$parameter group by issys_modifiable;
COUNT(*) ISSYS_MOD
---------- ---------
228 IMMEDIATE
116 FALSE
8 DEFERRED
# 根据是否可修改进行分组查询
IMMEDIATE:动态参数
FALSE:静态参数 (并不是不能修改,而是必须修改参数文件,不能仅修改内存)
DEFERRED:延迟参数 ,在下次连接session时有效
1.3 修改参数
1.3.1 pfile
命名为init<sid>.ora
是一个文本文件,可以通过文本编辑器修改参数,便于一次修改多个参数。对文件进行更改后,在下次实例重启后生效。
pfile只在实例startup时进行读取
创建pfile:
create pfile from spfile;
或
create pfile=‘/u01/pfile.ora’ from spfile
默认路径及命名:$ORACLE_HOME/dbs.initSID.ora
1.3.2 spile
命名为spfile<sid>.ora
是一个二进制文件,不可以通过文本编辑器修改,可通过Oracle命令进行参数修改:
alter system set 参数=值 [scope=memory|spfile|both]
1)scope=memory参数修改立刻生效,但不修改 spfile 文件。不修改spile文件,所以再次重启的时候不保存此次修改,只适合动态参数
2)scope=spfile修改了spfile文件,重启后生效。
3)scope=both前两种都要满足。要求spfile参数文件存在、动态参数。
4)不写 scope 限定词,缺省是3。但不如3严格,即spfile如果不存在,仅仅修改内存中的参数。如果不修改参数文件 ,将无法更改静态参数。
修改完成后进行两个参数文件的统一
create pfile from spfile;
或
create spfile from pfile;
1.4 判断实例通过哪种类型初始化参数文件启动
查看spfile参数信息
SQL> show parameter spfile
NAME TYPE VALUE
------------ ----------- ------------------------------
spfile string /u01/app/oracle/product/11.2.0/dbhome_1/dbs/spfileracpdb1.ora
启动数据库是默认读取spfile,但如果是通过pfile启动的,则value列为空。
但是可以手动更改启动数据库的参数
startup nomount pfiles='initorcl.ora'
如果pfile和spfile都有,默认优先读取spfile
2 数据库实例的启动和关闭
2.1 数据库启动
启动数据库的三个阶段
- nomount:读取初始化参数和控制文件位置、分配内存、启动进程
- mount:到操作系统上找到控制文件是否存在并进行校验
- open:校验控制文件中的所有内容(数据文件和日志文件信息,SCN号)

特殊选项
start force;
相当于 shutdown abort 后紧接着startupstartup nomount;
启动到nomount状态startup mount;
启动到mount状态startup upgrade;
只有sysdba可以连接startup restrict;
只有restrict session权限才可以登录,sys不受限alter system enable restricted session;
open后再限制alter database open read only;
制度方式打开数据库,SCN不会增长
2.2 关闭数据库
shutdown=shutdown normal;
拒绝新的连接,等待所有会话结束,生成检查点shutdown transactional;
拒绝新的连接,等待所有事务结束,生成检查点shutdown immediate;
拒绝新的连接,未提交的事务回滚,生成检查点shutdown abort;
事务不回滚,不生成检查点,下次启动需要做instance recovery
| 关闭模式 | A | I | T | N |
|---|---|---|---|---|
| 允许新连接 | 否 | 否 | 否 | 否 |
| 等待当前会话结束 | 否 | 否 | 否 | 是 |
| 等待当前事务处理结束 | 否 | 否 | 是 | 是 |
| 强制选择检查点并关闭文件 | 否 | 是 | 是 | 是 |
本文围绕Oracle数据库展开,介绍了初始化参数相关内容,包括参数文件的两种类型、静态与动态参数的区别及修改方法,还说明了判断实例启动所用参数文件类型的方式。此外,详细阐述了数据库实例启动的三个阶段及特殊选项,以及关闭数据库的几种方式。
693

被折叠的 条评论
为什么被折叠?



