码迷,mamicode.com
首页 > 其他好文 > 详细

修改二进制参数文件(SPFILE)的方法之一

时间:2016-06-21 11:01:42      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:修改 spfile 参数文件

    在某些情况下,我们会因为使用alter system set ... 来修改初始化参数时出错,而当下次重启数据库时,发现因为参数出错而不能启动数据库的问题。这时,就需要修改二进制参数文件。以下记录下修改二进制参数文件方法中的一种。


1、由于二进制参数文件(SPFILE)不能直接编辑,所以,需要将数据库启动到nomount状态下,将二进制的参数文件输出为可编辑的文本参数文件(PFILE)。

[oracle@host11 ~]$ sqlplus / as sysdba


SQL*Plus: Release 11.2.0.3.0 Production on Tue Jun 21 09:39:05 2016


Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to an idle instance.


SQL> startup nomount

ORACLE instance started.


Total System Global Area  835104768 bytes

Fixed Size    2232960 bytes

Variable Size  721423744 bytes

Database Buffers  109051904 bytes

Redo Buffers    2396160 bytes

SQL> create pfile=‘/oradata2/test.ora‘ from spfile;       --意为将默认的二进制参数文件输出为可编辑的文本参数文件,存储到/oradata2/test.ora中。


File created.


2、用VI或其它文本编辑工具,编辑/oradata2/test.ora中的内容并保存。


3、将第1步已经加载到nomount状态的数据库关闭,并指定用刚刚编辑后的文本参数文件启动。将用该文本参数文件重建二进制的参数文件。

SQL> shutdown

ORA-01507: database not mounted



ORACLE instance shut down.

SQL> startup nomount pfile=‘/oradata2/test.ora‘;       --指定用/oradata2/test.ora文本参数文件启动数据库至NOMOUNT状态。

ORACLE instance started.


Total System Global Area  835104768 bytes

Fixed Size    2232960 bytes

Variable Size  721423744 bytes

Database Buffers  109051904 bytes

Redo Buffers    2396160 bytes


SQL> create spfile from pfile=‘/oradata2/test.ora‘;    --指定用/oradata2/test.ora文本参数文件重建二进制的参数文件


File created.


4、关闭数据库,重新启动数据库(默认使用二进制参数文件启动)

SQL> shutdown immediate

ORA-01507: database not mounted



ORACLE instance shut down.

SQL> startup

ORACLE instance started.


Total System Global Area  835104768 bytes

Fixed Size    2232960 bytes

Variable Size  721423744 bytes

Database Buffers  109051904 bytes

Redo Buffers    2396160 bytes

Database mounted.

Database opened.

SQL> show parameter pfile           --检查确认是否是以我们期望的二进制参数文件启动的数据库


NAME     TYPE    VALUE

------------------------------------ ---------------------- ------------------------------

spfile     string    /u01/app/oracle/product/11.2.0/dbhome_1/dbs/spfileorcl.ora



注意事项:

1、修改完文本参数文件后,不能马上去创建二进制的参数文件。必须要重启数据库,并指定用编辑后的文本参数文件启动。否则,会由于原二进制参数文件还在使用中,而不能创建二进制参数文件。

操作演示及报错提示如下:

SQL> create spfile from pfile=‘/oradata2/test.ora‘;     

create spfile from pfile=‘/oradata2/test.ora‘

*

ERROR at line 1:

ORA-32002: cannot create SPFILE already being used by the instance



2、在用文本参数文件创建二进制参数文件时,必须指定文本参数文件的路径和名称,否则,会使用默认的文本参数文件来创建二进制参数文件。

操作演示及报错提示如下

SQL> startup nomount pfile=‘/oradata2/test.ora‘;

ORACLE instance started.


Total System Global Area  835104768 bytes

Fixed Size    2232960 bytes

Variable Size  721423744 bytes

Database Buffers  109051904 bytes

Redo Buffers    2396160 bytes

SQL> create spfile from pfile;

create spfile from pfile

*

ERROR at line 1:

ORA-01078: failure in processing system parameters

LRM-00109: could not open parameter file

‘/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora‘


本文出自 “大脸猫” 博客,请务必保留此出处http://bfc99.blog.51cto.com/265386/1791263

修改二进制参数文件(SPFILE)的方法之一

标签:修改 spfile 参数文件

原文地址:http://bfc99.blog.51cto.com/265386/1791263

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!