oracle导出pfile,一个关于oralce10g 中利用pfile生成spfile的过程

用事实说话,无猜想,无推断:

C:\Documents and Settings\Administrator.WWW-9C571C50D8E>sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 7月 2 10:49:26 2011

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

SQL> conn /as sysdba

已连接到空闲例程。

SQL> startup

ORACLE 例程已经启动。

Total System Global Area  612368384 bytes

Fixed Size                  1250428 bytes

Variable Size             281021316 bytes

Database Buffers          322961408 bytes

Redo Buffers                7135232 bytes

数据库装载完毕。

数据库已经打开。

SQL> show parameter spfile

NAME                                 TYPE        VALUE

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

spfile                               string      E:\ORACLE\PRODUCT\10.2.0\DB_1\

DBS\SPFILEFANTASY.ORA             --此处value有值,证明数据库默认使用spfile参数文件(二进制)启动数据库,路径为$ORACLE_HOME\DBS\SPFILEFANTASY.ORA

SQL> select value from v$spparameter where name='control_files';

VALUE

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

E:\oracle\product\10.2.0\oradata\fantasy\control01.ctl

E:\oracle\product\10.2.0\oradata\fantasy\control02.ctl

E:\oracle\product\10.2.0\oradata\fantasy\control03.ctl

E:\oracle\product\10.2.0\oradata\fantasy\control04.ctl

SQL> select value from v$system_parameter where name='control_files';

VALUE

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

E:\ORACLE\PRODUCT\10.2.0\ORADATA\FANTASY\CONTROL01.CTL, E:\ORACLE\PRODUCT\10.2.0

\ORADATA\FANTASY\CONTROL02.CTL, E:\ORACLE\PRODUCT\10.2.0\ORADATA\FANTASY\CONTROL

03.CTL, E:\ORACLE\PRODUCT\10.2.0\ORADATA\FANTASY\CONTROL04.CTL

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> exit

从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options 断开

C:\Documents and Settings\Administrator.WWW-9C571C50D8E>sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 7月 2 10:52:25 2011

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

SQL> conn /as sysdba

已连接到空闲例程。

SQL> create pfile from spfile;  --手动创建pfile参数文件

文件已创建。

SQL> startup pfile=E:\oracle\product\10.2.0\db_1\database\initfantasy.ora  --数据库从pfile参数文件(文本)启动,路径为$ORACLE_HOME\database\initfantasy.ora

ORACLE 例程已经启动。

Total System Global Area  612368384 bytes

Fixed Size                  1250428 bytes

Variable Size             281021316 bytes

Database Buffers          322961408 bytes

Redo Buffers                7135232 bytes

数据库装载完毕。

数据库已经打开。

SQL> show parameter spfile

NAME                                 TYPE        VALUE

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

spfile                               string                                      --此处value为null,证明是以pfile参数文件启动的

SQL> select value from v$spparameter where name='control_files';

VALUE

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

SQL> select value from v$system_parameter where name='control_files';

VALUE

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

E:\ORACLE\PRODUCT\10.2.0\ORADATA\FANTASY\CONTROL01.CTL, E:\ORACLE\PRODUCT\10.2.0

\ORADATA\FANTASY\CONTROL02.CTL, E:\ORACLE\PRODUCT\10.2.0\ORADATA\FANTASY\CONTROL

03.CTL, E:\ORACLE\PRODUCT\10.2.0\ORADATA\FANTASY\CONTROL04.CTL

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> exit

从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options 断开

C:\Documents and Settings\Administrator.WWW-9C571C50D8E>sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 7月 2 10:54:37 2011

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

SQL> conn /as sysdba

已连接到空闲例程。

SQL> create spfile from pfile;  --手动创建spfile参数文件

文件已创建。

SQL> startup  --pfile与spfile同时存在,数据库优先以spfile参数文件启动

ORACLE 例程已经启动。

Total System Global Area  612368384 bytes

Fixed Size                  1250428 bytes

Variable Size             281021316 bytes

Database Buffers          322961408 bytes

Redo Buffers                7135232 bytes

数据库装载完毕。

数据库已经打开。

SQL> show parameter spfile

NAME                                 TYPE        VALUE

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

spfile                               string      E:\ORACLE\PRODUCT\10.2.0\DB_1\

DATABASE\SPFILEFANTASY.ORA      --手动创建的spfile参数文件路径已变,为$ORACLE_HOME\database\SPFILEFANTASY.ORA

SQL> select value from v$spparameter where name='control_files';

VALUE

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

E:\oracle\product\10.2.0\oradata\fantasy\control01.ctl

E:\oracle\product\10.2.0\oradata\fantasy\control02.ctl

E:\oracle\product\10.2.0\oradata\fantasy\control03.ctl

E:\oracle\product\10.2.0\oradata\fantasy\control04.ctl

SQL> select value from v$system_parameter where name='control_files';

VALUE

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

E:\ORACLE\PRODUCT\10.2.0\ORADATA\FANTASY\CONTROL01.CTL, E:\ORACLE\PRODUCT\10.2.0

\ORADATA\FANTASY\CONTROL02.CTL, E:\ORACLE\PRODUCT\10.2.0\ORADATA\FANTASY\CONTROL

03.CTL, E:\ORACLE\PRODUCT\10.2.0\ORADATA\FANTASY\CONTROL04.CTL

--pfile/spfile历史

9i之前,Oracle实例只能使用文本类型的参数文件PFILE(Parameter File)来存储实例的相关设定;

当使用alter system set parameter=value修改当前参数时,必须手动同步修改PFILE的内容,当下次重启时,才能让实例参数值与之前设定的一致。

9i之后,引入了新类型参数文件,称为服务器参数文件SPFILE(Server Parameter File);

与pfile相比,spfile的内容具有持续性,即当使用alter system set parameter=value修改参数值时,Oracle服务器自动修改spfile的内容。

--创建服务器参数文件

初始的spfile可以由pfile产生,当Oracle软件安装完成后,$ORACLE_HOME/dbs路径下有一个默认参数文件init.ora

create spfile from pfile;

create spfile ['=spfile_name'] from pfile ['=pfile_name'];

create pfile ['=pfile_name'] from spfile ['=spfile_name'];

11g之后,可以将实例的参数值作为源创建spfile或pfile:

create spfile from memory;

create pfile from memory;

--使用服务器参数文件

SQL>startup pfile=/home/oracle/initorcl.ora  --使用pfile启动实例

如果startup后面没有指定参数文件,则先寻找$ORACLE_HOME/dbs路径下的spfile.ora;

若找不到spfile.ora,则查看spfile.ora是否存在;

如果还是没有,才会使用init.ora作为启动实例时使用的参数文件

SQL>startup

搜寻参数文件的顺序如下:

$ORACLE_HOME/dbs/spfile.ora  (UNIX)  --%ORACLE_HOME\database\spfile.ora  (Windows)

$ORACLE_HOME/dbs/spfile.ora  (UNIX)  --%ORACLE_HOME\database\spfile.ora  (Windows)

$ORACLE_HOME/dbs/init.ora  (UNIX)  --%ORACLE_HOME\database\init.ora  (Windows)

若以上位置都找不到,则会出现找不到init.ora的错误提示,其实是个误导信息,错误原因不在pfile,而在于前两个spfile不存在

SQL> show parameter spfile

NAME                                 TYPE        VALUE

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

spfile                               string      E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\SPFILEFANTASY.ORA

/*若value值为某个spfile参数文件的名称,则表示实例是由spfile启动的;若value值为空,则表示此实例是由pfile启动的*/

[本帖最后由 lchh0917 于 2011-7-2 16:19 编辑]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值