内容简介:参数文件:
参数文件:
spfile<SID>.ora 动态参数文件,是二进制文件,9i以后引入并建议使用
init<SID>.ora 静态参数文件,是文本文件
动态参数,部分参数可以动态修改。建议9i以后就使用spfile。
静态参数文件:在oracle启动时应用到oracle数据库中,数据库启动后就不再使用,会关闭这个文件,如果要修改静态参数文件,只能重启数据库。
动态参数文件:oracle启动时读一下,将参数应用到数据库中,但不关闭这个文件,这个文件可以动态修改。只是部分参数可以动态修改。(可以动态修改,但修改完成后不会马上生效,需要重启),所以数据库一般使用动态参数文件。
[oracle@oracle dbs]$ pwd
/u01/app/oracle/product/11.2.2/db_1/dbs
[oracle@oracle dbs]$ ls
hc_DBUA0.dat init.ora orapwORCL peshm_ORCL_0 spfileORCL.ora
hc_ORCL.dat lkORCL peshm_DBUA0_0 snapcf_ORCL.f
Oracle 启动过程中参数文件寻找顺序
通过$ORACLE_SID找到实例名称,通过实例名称在目录(/u01/app/oracle/product/11.2.2/db_1/dbs)下找到spfile$ORACLE_SID.ora的文件.找到这个文件后通过里面的参数来启动数据库实例,如果文件找不到,会查找init$ORACLE_SID.ora静态文件。
动态,静态参数文件的生成
create pfile from spfile; # 通过动态参数文件生成静态参数文件
[oracle@oracledbs]$ pwd
/u01/app/oracle/product/11.2.2/db_1/dbs
[oracle@oracledbs]$ ls
hc_DBUA0.dat init.ora lkORCL peshm_DBUA0_0 snapcf_ORCL.f
hc_ORCL.dat initORCL.ora orapwORCL peshm_ORCL_0 spfileORCL.ora
[oracle@oracledbs]$ ll initORCL.ora
-rw-rw-r--. 1 oracleoracle 1196 Oct 14 16:06 initORCL.ora
[oracle@oracledbs]$ date
Sun Oct 1416:06:58 CST 2018
通过spfileORCL.ora生成initORCL.ora文件
create spfile from pfile; # 通过静态参数文件生成动态参数文件
用于修改错误配置的spfile
参数的修改:
ALTER SYSTEM SETparameter_name=parameter_value [comment=’ 注释’] scope=[memory|spfile|both] [sid=’sid’|’*’]
参数:内存中有参数,参数文件里也有。
Scope=memory: 表示只修改内存中的参数,并马上生效,不修改参数文件里面的参数.
Scope=spfile: 表示修改参数文件,不会在内存中马上生效,重启数据库后生效
Scope=both : 表示以上两者的合集
eg:alter system set sga_max_size=2285000000 scope=both;
通过查看v$parameter知道修改的参数是立即生效还是重启后生效:
SYS AS SYSDBA@ORCL>select name,value,ISSYS_MODIFIABLEfrom v$parameter;
一个常见错误的解决流程
错误了的修改了spfile里面的参数,数据库启动失败,因为没有办法直接修改spfile,怎么办?
数据库启动三个阶段:
Startup nomount (找到spfile参数文件并打开,根据参数文件配置参数启动实例,启动内存空间和后台进程)
SYS ASSYSDBA@ORCL>startup nomount
ORACLE instance started.
Total System Global Area 422670336 bytes
Fixed Size 1336960 bytes
Variable Size 356518272 bytes
Database Buffers 58720256 bytes
Redo Buffers 6094848 bytes
#ps –ef | grepORCL
oracle 2045 1 015:52 ? 00:00:00 ora_psp0_ORCL
oracle 2047 1 015:52 ? 00:00:00 ora_dia0_ORCL
oracle 2049 1 015:52 ? 00:00:00 ora_mman_ORCL
oracle 2051 1 015:52 ? 00:00:00 ora_dbw0_ORCL
oracle 2053 1 015:52 ? 00:00:00 ora_dbw1_ORCL
oracle 2055 1 015:52 ? 00:00:00 ora_lgwr_ORCL
oracle 2057 1 015:52 ? 00:00:00 ora_ckpt_ORCL
oracle 2059 1 015:52 ? 00:00:00 ora_smon_ORCL
oracle 2061 1 015:52 ? 00:00:00 ora_reco_ORCL
oracle 2063 1 015:52 ? 00:00:00 ora_mmon_ORCL
[oracle@oracle ~]$ipcs -a
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x1a3ad540 98304 oracle 660 4096 0
------ Semaphore Arrays --------
key semid owner perms nsems
0x64f5b758 327682 oracle 660 154
------ Message Queues --------
key msqid owner perms used-bytes messages
SYS AS SYSDBA@ORCL>showparameter control
NAME TYPE VALUE
------------------------------------ --------------------------------------------------
control_file_record_keep_time integer 7
control_files string /u01/app/oracle/oradata/ORCL/c
ontrol01.ctl, /u01/app/oracle/
flash_recovery_area/ORCL/contr
ol02.ctl
control_management_pack_access string DIAGNOSTIC+TUNING
alter database mount (根据参数文件中记录的控制文件位置打开控制文件)
SYS AS SYSDBA@ORCL>alter database mount;
Database altered.
alter database open (根据控制文件信息打开数据文件,redolog日志文件,open数据库)
SYS AS SYSDBA@ORCL>alter database open;
Database altered.
注:nomount之前就可以根据pfile创建spfile,根据spfile创建pfile.
数据库关闭四种方式:
默认是normal:
1. abort (模拟自然断电,内存被清空,内存中的数据没有写入数据数据文件,事务被立即中断,没有提交,没有回滚。再次启动库时需要实例恢复,万不得已才用这种方式关闭数据库)
2.immediate (强制中断当前正在运行的所有事务,回滚这些事务,回滚完毕,强制中断所有的连接,将实例中的所有数据写入数据文件,所有未提交事物全部回滚,强制断开用户连接,最常使用)
3.transactional (等待正在运行的事务,一直到他们提交或者回滚,所有事务主动结束以后(提交或回滚),强制中断连接,将实例里面的数据写入数据文件,清空缓存,如果有事务一直没有提交或回滚,实例无法关闭,等待事物自动提交或回滚,强制断开用户连接,很少使用)
4.normal (等待事务的主动提交或者回滚,等待用户主动断开连接,如果有一个用户没有断开连接,那么数据库无法关闭,默认shutdown的参数,很少使用)
以上所述就是小编给大家介绍的《Oracle-OCP学习笔记:参数文件及数据库的启动和关闭》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Android获取软键盘的高度、键盘的打开与关闭、监听键盘处于打开还是关闭状态
- 关于python关闭
- Swift关闭UITextView键盘
- Android 书本打开和关闭动画
- CentOS 7 关闭透明大页
- Oracle数据库启动和关闭
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
你凭什么做好互联网
曹政 / 中国友谊出版公司 / 2016-12 / 42.00元
为什么有人可以预见商机、超越景气,在不确定环境下表现更出色? 在规则之外,做好互联网,还有哪些关键秘诀? 当环境不给机会,你靠什么翻身? 本书为“互联网百晓生”曹政20多年互联网经验的总结,以严谨的逻辑思维分析个人与企业在互联网发展中的一些错误思想及做法,并给出正确解法。 从技术到商业如何实现,每个发展阶段需要匹配哪些能力、分解哪些目标、落实哪些策略都一一点出,并在......一起来看看 《你凭什么做好互联网》 这本书的介绍吧!