• 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:appAdministratorproduct11.2.0dbhome_1BIN"更改为"%ORACLE_HOME%in"。

    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

  • 相关阅读:
    memory runs at single channel问题解决
    ASP php获取文件URL地址等方法
    zencart的modules下数据库操作templates排版和common首页引用
    php生成html 伪静态??
    Linux服务器自动备份压缩MySQL数据库的实用方法
    dos 命令集
    Zencart 500错误查找和解决方法
    破解JS加密:url unicode加密而已
    .htaccess 保护文件夹
    TCP 的那些事儿(上)
  • 原文地址:https://www.cnblogs.com/atomy/p/13809017.html
Copyright © 2020-2023  润新知