zoukankan      html  css  js  c++  java
  • oracle 数据库启动时加载spfile问题 及处理办法

    oracle数据库在启动时报错 提示找不到相关的配置文件 ,这时明确oracle数据启动时加载的原理

    1.oracle实例启动时,寻找参数文件的顺序为
       spfileSID.ora----->spfile.ora------>initSID.ora

    2.spfile与pfile的区别
      (1)pfile是文本文件,可以使用文本编辑器进行编辑,而spfile是二进制文件,不能使用任何编辑器进行修改,但是可以使用strings查看文件的内容
      (2)pfile里面是静态参数,不能在线修改,而spfile里面有动态参数,可以在线修改,而不用重启oracle

    3.可以通过以下命令查看oracle使用pfile启动,还是spfile启动
       SQL> show parameter spfile
       NAME                                 TYPE        VALUE
       ------------------------------------ ----------- ------------------------------
       spfile                               string      /u01/app/oracle/product/10.2.0
                                                     /db_1/dbs/spfileora.ora
       如果value有值,说明是从spfile启动,否则是通过pfile启动

    4.oracle的spfile,pfile存放位置
      pfile:$ORACLE_HOME/dbs目录下,如果数据库是用dbca创建的话,则在$ORACLE_BASE/admin/ora/pfile还有一个pfile文件,并且   在$ORACLE_HOME/dbs目录下创建一个spfileSID.ora的spfile文件
      spfile:$ORACLE_HOME/dbs目录下

    5.spfile与pfile互相创建
      (1)如果oracle是从pfile启动,则可以使用如下命令创建spfile
          SQL> create spfile from pfile
      (2)如果oracle是从spfile启动,则可以使用以下命令创建pfile
          SQL> create pfile from spfile

    6.利用pfile启动oracle实例
      SQL>STARTUP PFILE = $ORACLE_HOME/dbs/initORCL.ora

    ================================================================

     (一)Pfile文件 
    Pfile(Parameter File,参数文件)是基于文本格式的参数文件,含有数据库的配置参数。 
    Oracle 9i在安装时为每个数据库建立了一个Pfile,默认的名称为“init+例程名.ora”,这是一个文本文件,可以用任何文本编辑工具打开。 
     

    (二)SPfile文件

    SPfile(Server Parameter File,服务器参数文件)是基于二进制格式的参数文件,含有数据库及例程的参数和数值,但不能用文本编辑工具打开。

    动态修改参数 

    动态修改参数 
    alter system set parameter=Value

    scope={spfile|both|memory};

    SCOPE参数有三个可选值:

    MEMORY:只改变当前实例运行;

    SPFILE:只改变SPFILE的设置(如果修改的是静态参数,则必须指定SCOPE=SPFILE,否则将会报ORA-02095错。);

    BOTH:改变实例及SPFILE(使用BOTH选项实际上等同于不带参数的ALTER SYSTEM语句)。

    (三)spfile和pfile的对比表

    image

    (四)Oracle启动时的调用

    用startup(默认)启动的顺序

    1、直接在默认路径下查找spfileSID.ora --(spfile)

    如果没有再查找2

    2、直接在默认路径下查找spfile.ora      

    如果没有再查找3

    3、直接在默认路径下查找initSID.ora --(pfile) 

    如果还没有 就会报错……

    用startup pfile= 的方式启动。

    1、指定的pfile:

    startup pfile=$ORACLE_HOME/dbs/initSID.ora

    2、使用spfile启动,需要变通一下如:vi一个pfile文件aaa.ora,包含以下内容:

    spfile=$ORACLE_HOME/dbs/spfileSID.ora

    再用startup pfile=$ORACLE_HOME/dbs/aaa.ora启动即可。

    若使用这两种方式,级别会高于直接用startup启动的方式。

    常见操作命令:

    sql>tnsping orcl(实例名称) --查看远程的listener是否启动 

    sql>crs_stat -t    查看集群资源运行状态记录

    sql>SRVCTL Status

    显示指定数据库的当前状态

    srvctl status database -d database_name

    srvctl status instance -d database_name -i instance_name [,instance_name-list]

    实例:显示数据和所有实例状态

    srvctl status database -d mydb
    sql>lsnrctl start

    sql>lsnrctl status

    sql>lsnrctl stop

    sql>shutdown immediate;
    实例:显示指定实例的状态

    srvctl status instance -d mydb -i mydb,mydb

    具体操作截图如下:

     

  • 相关阅读:
    自定义View之实现流行的底部菜单栏中间突起:高仿“咸鱼APP”的底部菜单
    android获取内置和外置SD卡路径
    Android Environment.getExternalStorageDirectory() 获取的是内部存储还是外部存储?
    bitmap过大无法显示图片的问题
    Android Notification的使用
    Android Device Monitor 文件管理的常见问题
    BroadcastReceiver广播相关
    Android Studio 设置代码提示和代码自动补全快捷键--Eclipse 风格
    Android Studio com.android.support:percent 导入错误
    约束布局constraint-layout导入失败的解决方案
  • 原文地址:https://www.cnblogs.com/xplangren/p/10850536.html
Copyright © 2011-2022 走看看