Oracle-OCP学习笔记:参数文件及数据库的启动和关闭

栏目: 数据库 · 发布时间: 6年前

内容简介:参数文件:

参数文件:

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学习笔记:参数文件及数据库的启动和关闭


以上所述就是小编给大家介绍的《Oracle-OCP学习笔记:参数文件及数据库的启动和关闭》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

你凭什么做好互联网

你凭什么做好互联网

曹政 / 中国友谊出版公司 / 2016-12 / 42.00元

为什么有人可以预见商机、超越景气,在不确定环境下表现更出色? 在规则之外,做好互联网,还有哪些关键秘诀? 当环境不给机会,你靠什么翻身? 本书为“互联网百晓生”曹政20多年互联网经验的总结,以严谨的逻辑思维分析个人与企业在互联网发展中的一些错误思想及做法,并给出正确解法。 从技术到商业如何实现,每个发展阶段需要匹配哪些能力、分解哪些目标、落实哪些策略都一一点出,并在......一起来看看 《你凭什么做好互联网》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具