天天看点

oracle11 新特性,转:Oracle11新特性——初始化文件管理 1

打算写一系列的文章介绍11g的新特性和变化。

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

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

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

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

语法其实很简单,将创建时的FROM语句后面的文件类型PFILE或SPFILE改为MEMORY即可:

[[email protected] ~]$ sqlplus "/ as sysdba"

SQL*Plus: Release11.1.0.6.0 - Production on Thu Jan 10 15:06:30

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

Oracle Database11gEnterprise Edition Release11.1.0.6.0 - ProductionWith 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 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 optionSQL> 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.