Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104595513
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-03-31 13:06:10

来源:赛迪网    作者:小桥

Oracle 11g对于初始化增加了一个特别有用的功能,它可以根据内存中的参数设置来创建初始化参数文件。

Oracle从9i推出SPFILE之后,就给出了使用PFILE创建SPFILE以及由SPFILE创建PFILE的语法。

在Oracle 11g中,Oracle增强了这种语法,使得创建PFILE或SPFILE时,不在需要指定一个物理的文件,而是可以从当前内存中的设置来获取参数配置。

采用这种方式创建的PFILE或SPFILE,可以保证获得的参数就是当前运行的参数,而如果从PFILE或SPFILE则无法确保文件中的参数设置与数据库运行的参数设置一致。

语法很简单,将创建时的FROM语句后面的文件类型PFILE或SPFILE改为MEMORY就可以了。

代码片段:

[oracle@yangtk ~]$ sqlplus "/ as sysdba"

SQL*Plus: Release 11.1.0.6.0 - Production on Thu Jan 10 15:06:30 2008

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


Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> create pfile='/home/oracle/initora11g_p.ora' from memory;

File created.

SQL> create spfile='/home/oracle/spfileora11g_p.ora' from memory;

File created.

注意:上面的这种方式要求数据库至少处于NOMOUNT状态,否则会出现报错:

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> create pfile='/home/oracle/initora11g_p.ora' from memory;
create pfile='/home/oracle/initora11g_p.ora' from memory
*
ERROR at line 1:
ORA-00922: missing or invalid option


SQL> create spfile='/home/oracle/spfileora11g_p.ora' from memory;
create spfile='/home/oracle/spfileora11g_p.ora' from memory
*
ERROR at line 1:
ORA-00922: missing or invalid option


SQL> startup nomount
ORACLE instance started.

Total System Global Area 267825152 bytes
Fixed Size 1299316 bytes
Variable Size 176163980 bytes
Database Buffers 88080384 bytes
Redo Buffers 2281472 bytes
SQL> create pfile='/home/oracle/initora11g_p.ora' from memory;

File created.

SQL> create spfile='/home/oracle/spfileora11g_p.ora' from memory;

File created.
阅读(671) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~