Oracle学习笔记六:参数文件管理

一、参数文件讲解

1.1、参数文件的作用

使用STARTUP命令启用数据以后,它第一步就会调用spfileSID.ora参数文件,通过这个文件里面的定义和一些设置,来启动数据库实例。我们数据库的很多设置、配置、优化、调整,都是在这个参数文件里面来控制的。

1.2、参数文件的分类

1)静态初始化参数文件 PFILE(9i之前)

PFILE initSID.ora是一个编辑器修改的文本文件。可以手动对该文件进行修改,但是需要在下次数据库启动修改才能生效,它的缺省路径是$ORACLE_HOME/dbs。

2)动态初始化参数文件 SPFILE(10g之后)

SPFILE是一个不用重启数据库就能将改变生效的二进制文件。它保存在Oracle服务器端,能通过ALTER SYSTEM命令直接对参数进行修改,同时能指定改变是临时在内存中生效还是从现在开始永久生效,修改的值能被删除,并重置到实例缺省的值。

1.3、创建SPFILE

SPFILE能使用命令CREATE SPFILE命令从initSID.ora中创建,并且在数据库开启前或开启后都能执行。

CREATE SPFILE FROM PFILE;

1.4、数据库启动查找顺序

Oracle启动时,查找顺序为spfile<sid>.ora-->spfile.ora-->init<sid>.ora。

1)spfile<sid>.ora

Unix/Linux缺省目录:$ORACLE_HOME/dbs/

Windows缺省目录:%ORACLE_HOME%\database

2)spfile.ora

Unix/Linux缺省目录:$ORACLE_HOME/dbs/

Windows缺省目录:%ORACLE_HOME%\database

3)init<sid>.ora

Unix/Linux缺省目录:$ORACLE_HOME/dbs/

Windows缺省目录:%ORACLE_HOME%\database

二、参数文件案例一

2.1、案例说明:某业务系统需要增加物理内存,增加内存后,需要调整数据SGA、PGA内存参数。

1)名词解释:

SGA:System Global Area是Oracle Instance的基本组成部分,在实例启动时分配。系统全局域SGA主要由三部分构成:共享池、数据缓冲区、日志缓冲区。

PGA:Process Global Area是为每个连接到Oracle Database的用户进程保留的内存。

2)在服务器上运行中输入cmd打开命令提示符。

3)连接Oracle数据库:

sqlplus "/as sysdba"

4)分别输入以下指令:

show parameter sga

show parameter pga

show parameter memory

可以看到,sga_target和pag_aggregate_target的值都为0,说明它们都没有使用Oracle 10g时的管理参数。

可以看到,memory_max_target和memory_target的值都不为0,它们使用的是Oracle 11g时自动内存的管理参数。

5)memory_max_target和memory_target的值,最大不可以超过80%的物理内存,建议先设到60%左右。此处演示设为1.5G:

alter system set memory_max_target=1536M scope=spfile;

alter system set memory_target=1536M scope=spfile;

shutdown immediate;

startup

show parameter memory

三、参数文件案例二

3.1、案例说明

1)如上例,修改SGA参数时本来要设为1536M,但是不小心设成了153M,并且已经执行了关闭数据库。此时,因为内存过小导致数据库无法启动。该怎么办呢?答案是可以通过pfile来完成spfile的重建。

3.2、ORACLE_HOME环境变量设置

1)在服务器对着"此电脑"点击"右键",选择"属性"。

2)点击"高级系统设置"。

3)在高级页下,点击"环境变量"。

4)在系统变量下点击"新建"。

5)输入变量名"ORACLE_HOME",点击"浏览目录"选择Oracle安装主目录,然后点击"确定"。

6)由于设置了ORACLE_HOME变量,sqlplus命令对应的环境变量也可以改一下。在系统变量下找到"Path",点击"编辑"。

7)将"C:\app\Administrator\product\11.2.0\dbhome_1\BIN"更改为"%ORACLE_HOME%\bin"。

8)一直点击"确定"后完成环境变量的设置,然后重启服务器。

3.3、更改memory

1)在服务器上运行中输入cmd打开命令提示符。

2)输入以下命令查看database文件:

cd %ORACLE_HOME%\database

dir

可以看到,下面有各个数据库的参数文件:

3)连接Oracle数据库:

sqlplus "/as sysdba"

4)使用spfile文件来重建pfile文件。

create pfile='pfile.ora' from spfile='spfiletest.ora';

5)在Oracle安装目录的database文件夹下,使用记事本打开pfile.ora文件。

6)将*.memory_max_target和*.memory_target的值改为1610612736(此值为字节,此处设为1.5G。1.5G=1.5*1024*1024*1024B=1610612736B),然后保存。

7)在sqlplus,将pfile文件重建各个数据库的spfile文件,然后启动数据库。可以看到,数据库已可以正党启动。

create spfile='spfileorcl.ora' from pfile='pfile.ora';

create spfile='spfiletest.ora' from pfile='pfile.ora';

startup

 

posted @ 2020-10-13 20:18  缥缈的尘埃  阅读(503)  评论(0编辑  收藏  举报