ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 深入浅出Oracle学习笔记(2)

深入浅出Oracle学习笔记(2)

原创 Linux操作系统 作者:gvora 时间:2009-04-28 23:31:28 0 删除 编辑

第二章       参数及参数文件

数据库创建过程中pfilespfile的交接:

当使用DBCA自定义(不使用模版)创建数据库时,可以生成数据库创建脚本。这里面存在一个init.ora文件,这个文件是根据用户创建数据库之前定义的参数自动生成的,该参数文件被用来在创建过程中启动数据库。通过CreateDB.sql可以看到这个引用。在数据库创建完成之后,Oracle调用postDBCreation.sql脚本来进行一系列的后续处理,最后Oracle通过init.ora文件创建了spfile文件。新创建的spfile在下一次启动数据库时生效。

V$spparameter视图用来记录spfile的参数设置信息。

在运行期间Oracle并不锁定spfile,所以spfile可能意外丢失。

非缺省目录下的spfile如何调用:

可以创建一个包含spfile参数的pfile文件,指向spfileSpfile参数用于定义非缺省路径的spfile文件。

Alter system set …….scope=memory/spfile/both

RAC环境中参数的修改:

如果不指定SID名称,或者指定为“*”,那么修改缺省的对所有实例生效。

alter system set open_cursors=500 sid='*' scope=memory;    ----仅在RAC下才有效

select sid,name,value from v$spparameter where name='open_cursors';

alter system set open_cursors=150 scope=spfile sid='RACDB1';      -----修改RAC下某一个实例的参数

当在Oracle 10g中设置了SGA_TARGET参数启动了自动SGA调整之后,Oracle会同时启动一系列的新的隐含参数来控制SGA各组件的大小。可以从alert log中注意到每次启动这些参数的设置通常都是不同的(Oracle自动调整的结果)。

重置spfile中设置的参数:

Alter system reset parameter_name sid=’sid|*’

该命令通常用于RAC环境中,在单实例环境中需要指定sid=’*’reset一个参数,Oracle将从spfile文件中去除该参数。

Oraclespfile纳入到RMAN的备份恢复策略当中,如果配置了控制文件自动备份,那么Oracle会在数据库发生重大变化(如增减表空间)时自动进行控制文件及spfile文件的备份。

select * from v$rman_configuration;       ----RMAN设置信息

自动备份的控制文件及spfile文件缺省的格式和命名规则:

c-IIIIIIIIII-YYYYMMDD-QQ

c--控制文件    IIIIIIIIII—DBID    YYYYMMDD—时间戳      QQ—序号00~FF,十六进制表示

RMAN>restore spfile to ‘/tmp/spfileorcl.ora’ from autobackup;       --使用自动备份恢复spfile

RMAN>restore controlfile to ‘/tmp/control01.ctl’ from autobackup;    --使用自动备份恢复controlfile

注意:如果数据库无法mount,就不能使用上述方式恢复自动备份的控制文件或参数文件。此时,Oracle需要提供数据库的DBID才能找到相应的自动备份用以恢复。如果无法得知DBID,可以直接指定备份集来进行恢复。

RMAN>restore controlfile to ‘/tmp/control01.ctl’ from ‘c-332213………’;

如果数据库无法nomount,那么通过上面语句恢复spfile会报错。此时,可以手工临时编辑一个pfile文件启动实例,即可进行spfile恢复。也可使用RMAN启动默认实例(DUMMY),进行spfile文件恢复。

如何设置Events事件:

SQL> alter system set event='10841 trace name context forever' scope=spfile;

系统已更改。

10841事件是用来解决Oracle 9iJDBC Thin Driver问题的一个方法。

 

SQL> alter system reset event scope=spfile sid='*';

系统已更改。

 

注意:Oracle 10g之前,LOG_ARCHIVE_START控制数据库可否自动归档,如果在修改数据库的归档模式时忘记修改该参数,结果导致数据库重新启动后无法自动归档,最后挂起,影响服务。从Oracle10g开始,修改数据库的归档模式不需要再设置LOG_ARCHIVE_START参数。

 

警告日志文件中主要记录:

内部错误(ORA-600ORA-07445等错误信息)和块损坏错误(ORA-1578);

影响数据库结构和参数的操作和诸如create databasestartupshutdownarchivelogrecover之类的语句;

例程启动时所有的非缺省初始化参数。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15203236/viewspace-592126/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-12-30

  • 博文量
    62
  • 访问量
    288360