参数文件及数据库的启动和关闭
2013-05-19 12:43
423 查看
Oracle启动的时候,内存分多大等,一些参数都是在参数文件里。
Oracle9i以前用静态参数文件init$ORACLE_SID.ora—文本文件,静态参数文件只有在oracle启动的时候去读一下,启动完之后就关闭了,本质如果要改oracle的任何参数,只能重启数据库。Oracle9i开始用动态参数文件spfile$ORACLE_SID.ora—二进制文件,oracle启动的时候将参数读一下,但是继续打开这个个文件,在数据库运行期间可以动态修改部分参数。有的参数不能动态改,改了不能立即生效(改完之后需重启数据库)。所以数据库尽量要用动态参数。
Oracle启动过程中参数文件寻找顺序:找spfile($ORACLE_HOME/dbs/spfile$ORACLE_SID.ora)找到这个文件后用这个文件启动,如果找不到spfile,就找静态参数文件init$ORACLE_SID.ora.
Startup mount;
Create pfile fromspfile;--将动态参数文件生成态参数文件,如果改spfile中的参数的时候导致,数据库起不来,可以用这个命令创建pfile,将参数改回来,然后再重新生成pfile
Create spfile frompfile;--将静态参数文件生成动态参数文件
v$parameter 中ISSES_MODIFIABLE和ISSYS_MODIFIABLE说明
v$parameter中ISSES_MODIFIABLE 这一列标志该参数是否可以在session级别被修改;
ISSYS_MODIFIABLE这一列标志该参数是否可以在system级别被修改,其中有三个值:
IMMEDIATE表示修改完之后立即生效,DEFERRED表示必须得等下个session才能生效,也就是当前session还是不起作用的,FALSE表示实例重启后才能生效。
SQL> select name,ISSES_MODIFIABLE,ISSYS_MODIFIABLEfrom v$parameter where name in('workarea_size_policy','audit_file_dest','sga_target','sga_max_size');
NAME ISSES_MODIFIABLE ISSYS_MODIFIABLE
--------------- --------------------------------
sga_max_size FALSE FALSE
sga_target FALSE IMMEDIATE
audit_file_destFALSE DEFERRED
workarea_size_pTRUE IMMEDIATE
olicy
SQL> show parametersga_max_size;
NAME TYPE VALUE
------------------------------------ -----------------------------------------
sga_max_size big integer 7344M
SQL> alter system set sga_max_size=7345M;
alter system set sga_max_size=7345M
ORA-02095: 无法修改指定的初始化参数
SQL> altersystem set sga_max_size=7345M scope=spfile;由于这个参数必须重启数据库才能生效,所以需加scope=spfile,不然会报错。
System altered
关于scope选项的说明请参考:http://blog.csdn.net/zuixinnet/article/details/8884286
SQL> show parameter sga_max_size;
NAME TYPE VALUE
----------------------------------------------- ------------------------------
sga_max_size big integer 7344M
SQL> show parameter workarea_size_policy;
NAME TYPE VALUE
----------------------------------------------- ------------------------------
workarea_size_policy string AUTO
SQL> altersystem set workarea_size_policy=manual;--这个参数是立即生效的,所以设置完之后,看到参数立马就发生变化了。
System altered
SQL> showparameter workarea_size_policy;
NAME TYPE VALUE
----------------------------------------------- ------------------------------
workarea_size_policy string MANUAL
showparameter audit_file
NAME TYPE VALUE
------------------------------------ -----------------------------------------
audit_file_dest string D:\ORACLE\PRODUCT\10.2.0\ADMIN\ZTSYS\ADUMP
SQL> alter systemset audit_file_dest='D:\ORACLE\PRODUCT\10.2.0\ADMIN\ZTSYS';
ORA-02096:此选项的指定初始化参数不可修改
alter system setaudit_file_dest='D:\ORACLE\PRODUCT\10.2.0\ADMIN\ZTSYS'deferred;-- 后面必须得加关键字deferred,否则会报错。
SQL> showparameter audit_file –这里当前会话还是没有改变,需下一个会话才生效
NAME TYPE VALUE
----------------------------------------------- ------------------------------
audit_file_dest string D:\ORACLE\PRODUCT\10.2.0\ADMIN\ZTSYS\ADUMP
SQL> showparameter audit_file_dest –新开一个会话生效了。
NAME TYPE VALUE
----------------------------------------------- ------------------------------
audit_file_dest string D:\ORACLE\PRODUCT\10.2.0\ADMIN\ZTSYS
Oracle启动三个阶段
Nomount –oracle 找到参数文件,根据参数文件划分内存空间和起一些进程
Mount –根据参数文件里面设置的控制文件的位置,找到控制文件,把控制文件打开,控制文件记录了数据库的结构
Open –把数据文件和redolog打开,这些文件在什么位置是记载在控制文件中
Oracle关闭四种方式
Shutdown有四个选项可以选择
默认是normal
1、abort
模拟突然掉电
内存被清空、内存中的数据没有写入数据文件
事务被立即中断
没有提交、没有回滚
2、immediate 一般用这个
强制中断当前正在运行的所有事务,回滚这些事务
回滚完毕,强制中断所有的连接
讲实例中的所有数据写入数据文件
3、transactional
等待正在运行的事务,一直到他们提交或者回滚
所有事务主动结束以后(提交或者回滚),强行中断连接
将实例里面的数据写入数据文件
清空缓存
如果有事务一直没有提交或者回滚,实例无法关闭
4、normal
等待事务的主动提交或者回滚
等待用户主动断开连接
如果有一个用户没有断开连接,那么数据库无法关闭
Oracle9i以前用静态参数文件init$ORACLE_SID.ora—文本文件,静态参数文件只有在oracle启动的时候去读一下,启动完之后就关闭了,本质如果要改oracle的任何参数,只能重启数据库。Oracle9i开始用动态参数文件spfile$ORACLE_SID.ora—二进制文件,oracle启动的时候将参数读一下,但是继续打开这个个文件,在数据库运行期间可以动态修改部分参数。有的参数不能动态改,改了不能立即生效(改完之后需重启数据库)。所以数据库尽量要用动态参数。
Oracle启动过程中参数文件寻找顺序:找spfile($ORACLE_HOME/dbs/spfile$ORACLE_SID.ora)找到这个文件后用这个文件启动,如果找不到spfile,就找静态参数文件init$ORACLE_SID.ora.
Startup mount;
Create pfile fromspfile;--将动态参数文件生成态参数文件,如果改spfile中的参数的时候导致,数据库起不来,可以用这个命令创建pfile,将参数改回来,然后再重新生成pfile
Create spfile frompfile;--将静态参数文件生成动态参数文件
v$parameter 中ISSES_MODIFIABLE和ISSYS_MODIFIABLE说明
ISSES_MODIFIABLE | VARCHAR2(5) | Indicates whether the parameter can be changed with ALTER SESSION (TRUE) or not (FALSE) |
ISSYS_MODIFIABLE | VARCHAR2(9) | Indicates whether the parameter can be changed with ALTER SYSTEM and when the change takes effect: IMMEDIATE - Parameter can be changed with ALTER SYSTEM regardless of the type of parameter file used to start the instance. The change takes effect immediately. DEFERRED - Parameter can be changed with ALTER SYSTEM regardless of the type of parameter file used to start the instance. The change takes effect in subsequent sessions. FALSE - Parameter cannot be changed with ALTER SYSTEM unless a server parameter file was used to start the instance. The change takes effect in subsequent instances. |
ISSYS_MODIFIABLE这一列标志该参数是否可以在system级别被修改,其中有三个值:
IMMEDIATE表示修改完之后立即生效,DEFERRED表示必须得等下个session才能生效,也就是当前session还是不起作用的,FALSE表示实例重启后才能生效。
SQL> select name,ISSES_MODIFIABLE,ISSYS_MODIFIABLEfrom v$parameter where name in('workarea_size_policy','audit_file_dest','sga_target','sga_max_size');
NAME ISSES_MODIFIABLE ISSYS_MODIFIABLE
--------------- --------------------------------
sga_max_size FALSE FALSE
sga_target FALSE IMMEDIATE
audit_file_destFALSE DEFERRED
workarea_size_pTRUE IMMEDIATE
olicy
SQL> show parametersga_max_size;
NAME TYPE VALUE
------------------------------------ -----------------------------------------
sga_max_size big integer 7344M
SQL> alter system set sga_max_size=7345M;
alter system set sga_max_size=7345M
ORA-02095: 无法修改指定的初始化参数
SQL> altersystem set sga_max_size=7345M scope=spfile;由于这个参数必须重启数据库才能生效,所以需加scope=spfile,不然会报错。
System altered
关于scope选项的说明请参考:http://blog.csdn.net/zuixinnet/article/details/8884286
SQL> show parameter sga_max_size;
NAME TYPE VALUE
----------------------------------------------- ------------------------------
sga_max_size big integer 7344M
SQL> show parameter workarea_size_policy;
NAME TYPE VALUE
----------------------------------------------- ------------------------------
workarea_size_policy string AUTO
SQL> altersystem set workarea_size_policy=manual;--这个参数是立即生效的,所以设置完之后,看到参数立马就发生变化了。
System altered
SQL> showparameter workarea_size_policy;
NAME TYPE VALUE
----------------------------------------------- ------------------------------
workarea_size_policy string MANUAL
showparameter audit_file
NAME TYPE VALUE
------------------------------------ -----------------------------------------
audit_file_dest string D:\ORACLE\PRODUCT\10.2.0\ADMIN\ZTSYS\ADUMP
SQL> alter systemset audit_file_dest='D:\ORACLE\PRODUCT\10.2.0\ADMIN\ZTSYS';
ORA-02096:此选项的指定初始化参数不可修改
alter system setaudit_file_dest='D:\ORACLE\PRODUCT\10.2.0\ADMIN\ZTSYS'deferred;-- 后面必须得加关键字deferred,否则会报错。
SQL> showparameter audit_file –这里当前会话还是没有改变,需下一个会话才生效
NAME TYPE VALUE
----------------------------------------------- ------------------------------
audit_file_dest string D:\ORACLE\PRODUCT\10.2.0\ADMIN\ZTSYS\ADUMP
SQL> showparameter audit_file_dest –新开一个会话生效了。
NAME TYPE VALUE
----------------------------------------------- ------------------------------
audit_file_dest string D:\ORACLE\PRODUCT\10.2.0\ADMIN\ZTSYS
Oracle启动三个阶段
Nomount –oracle 找到参数文件,根据参数文件划分内存空间和起一些进程
Mount –根据参数文件里面设置的控制文件的位置,找到控制文件,把控制文件打开,控制文件记录了数据库的结构
Open –把数据文件和redolog打开,这些文件在什么位置是记载在控制文件中
Oracle关闭四种方式
Shutdown有四个选项可以选择
默认是normal
1、abort
模拟突然掉电
内存被清空、内存中的数据没有写入数据文件
事务被立即中断
没有提交、没有回滚
2、immediate 一般用这个
强制中断当前正在运行的所有事务,回滚这些事务
回滚完毕,强制中断所有的连接
讲实例中的所有数据写入数据文件
3、transactional
等待正在运行的事务,一直到他们提交或者回滚
所有事务主动结束以后(提交或者回滚),强行中断连接
将实例里面的数据写入数据文件
清空缓存
如果有事务一直没有提交或者回滚,实例无法关闭
4、normal
等待事务的主动提交或者回滚
等待用户主动断开连接
如果有一个用户没有断开连接,那么数据库无法关闭
相关文章推荐
- oracle学习笔记 参数文件及数据库的启动和关闭
- 第三十三讲--参数文件及数据库的启动和关闭详解
- 参数文件spfile的修改以及数据库的启动关闭
- 相克军_Oracle体系_随堂笔记016-参数文件及数据库的启动和关闭
- 数据库实例启动时查找不同参数文件的顺序(只合适于LINUX,不适用于windows)
- ORA-01078,LRM-00109参数文件问题,导致数据库无法启动
- oracle启动参数文件全部丢失 没有备份 简单三步正常启动数据库
- 监听tomcat服务器启动/关闭并从配置文件中读取参数进行初始化
- 11g rac 修改参数文件导致数据库无法启动 解决方案!
- Oracle表空间文件损坏导致的数据库异常关闭并启动失败问题的解决方法
- 数据库启动与参数文件
- oracle启动数据库和参数文件的关系
- 【Oracle】数据库启动阶段参数文件、控制文件的问题处理
- 数据库启动相关的参数文件
- linux操作系统中登录数据库实例、关闭、启动及设置参数
- 一次对数据库实例、数据库启动、参数文件的操作实验
- 当spfile文件中的参数修改错误,导致数据库无法启动问题
- 当spfile文件中的参数修改错误,导致数据库无法启动问题
- 当spfile文件中的参数修改错误,导致数据库无法启动问题
- 【数据库】oracle 启动和关闭脚本文件