Oracle(8)数据库的关闭和启动

本文围绕Oracle数据库展开,介绍了初始化参数相关内容,包括参数文件的两种类型、静态与动态参数的区别及修改方法,还说明了判断实例启动所用参数文件类型的方式。此外,详细阐述了数据库实例启动的三个阶段及特殊选项,以及关闭数据库的几种方式。

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 后紧接着startup
  • startup 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
关闭模式AITN
允许新连接
等待当前会话结束
等待当前事务处理结束
强制选择检查点并关闭文件
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值