ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Admin-Parameter File and DB Startup/Shutdown

Admin-Parameter File and DB Startup/Shutdown

原创 Linux操作系统 作者:BenX22 时间:2012-10-05 10:55:21 0 删除 编辑
9i以前使用静态参数文件,位置$ORACLE_HOME/dbs
1:文本文件
2:只在nomount状态时打开,读取文件内参数后关闭
3:只能用编辑器修改任何参数
4:修改参数后需要重启才能生效

查找顺序:initSID.ora---->init.ora


oracle9i开始,oracle引入了动态参数文件spfile,
1:在nomount后一直打开,里面的部分参数是可以动态调整的,调整后立即生效。这区别于pfile。
2:rman可以自动备份spfile。
3:二进制文件,不能修改,否则会破坏这个文件。

查找顺序:spfileSID.ora---->spfile.ora---->initSID.ora---->init.ora

show parameter spfile
都是查看数据库使用的是pfile还是spfile。

修改spfile需要使用命令修改,并且数据库启动到nomount状态。

create pfile from spfile;命令可以再数据库没有启动的状态下执行。


动态参数文件中参数的修改只能使用  ALTER SYSTEM SET  命令进行修改

ALTER SYSTEM SET parameter_name=parameter_value[comment=‘注释......’] scope=[memory|spfile|both] [sid=‘sid’|’*’]
只是修改内存|只是修改spfile|同时修改spfile和内存默认是both(动态参数可以使用三种方式,静态参数只能使用spfile方式)
默认是’*’,在RAC环境中有意义

一个常见错误的解决流程
错误了的修改了spfile里面的参数,数据库启动失败,因为没有办法直接修改spfile,该怎么办?
1、sql>create pfile=‘/u01/app/oracle/initoraclr10g.ora’ from spfile
2、手工的在pfile里面编辑和修改错误的参数
3、sql>create spfile from pfile=‘=‘/u01/app/oracle/initoraclr10g.ora’
4、sql>startup

创建spfile,pfile的时候可以指定另外的路径:
create spfile=‘/oracle/bak/spfileolit.bak’from pfile='/oracle/db/dbs/initolit.ora';

如果是RAC 环境,需要知道$ORACLE_HOME/dbs/下initsid.ora对spfile的链接指向。

实例的启动和关闭
1、nomount阶段
1、寻找参数文件
2、打开参数文件
3、打开告警日志alterSID.log(路径$ORACLE_BASE/ADMIN/SID/bdump)
4、在这个阶段可以重建控制文件

2、mount阶段
根据参数文件中控制文件的路径和名字,打开所有的控制文件(默认有三个控制文件)
如果有一个控制文件不能打开,那么不能进入mount状态
从控制文件中读取数据文件、日志文件的路径和名字,不校验这些文件是否真的存在

3、open阶段
根据控制文件中对数据文件、日志文件的记录,打开所有的文件
有一个文件不能打开,就不能进入这个状态



实例的关闭
1:abort
类似突然掉电
内存被清空、内存中的数据没有写入数据文件
事务被立即中断
没有提交、没有回滚

2:immediate
        强制中断当前正在运行的所有事务,回滚这些事务
回滚完毕,强制中断所有的连接
将实例中的所有数据写入数据文件

3:transactional
等待正在运行的事务,一直到他们提交或者回滚
所有事务主动结束以后(提交或者回滚),强行中断连接
将实例里面的数据写入数据文件
清空缓存
如果有事务一直没有提交或者回滚,实例无法关闭


4:normal
等待事务的主动提交或者回滚
等待用户主动断开连接
如果有一个用户没有断开连接,那么数据库无法关闭

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27064837/viewspace-745743/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-06-13

  • 博文量
    74
  • 访问量
    110115