Oracle9i新特点:SPFILE的使用--How to set events with spfile and etc

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

Oracle9i新特点:SPFILE的使用

--How to set events with spfile and etc.

Last Updated: Wednesday, 2004-10-27 0:39 Eygle

本文发表于itpub技术丛书《Oracle数据库DBA专题技术精粹》,未经许可,严禁转载本文.

原文出处:

http://www.eygle.com/faq/Oracle9i.New.Feature.Spfile.05.htm

七. 设置Events事件

Events事件是Oracle的重要诊断工具及问题解决办法,很多时候需要通过Events设置来屏蔽或者更改Oracle的行为,下面我们来看一下怎样修改spfile,增加Events事件设置:

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

System altered.

SQL> startup force;

ORACLE instance started.

Total System Global Area 101782380 bytes

Fixed Size 451436 bytes

Variable Size 75497472 bytes

Database Buffers 25165824 bytes

Redo Buffers 667648 bytes

Database mounted.

Database opened.

SQL> show parameter event

NAME TYPE VALUE

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

event string 10841 trace name context forever

顺便提一句,10841事件是用于解决Oracle9i中JDBC Thin Driver问题的一个方法,假如你的alert.log文件中出现以下错误提示:

Wed Jan 7 17:17:08 2004

Errors in file /opt/oracle/admin/phsdb/udump/phsdb_ora_1775.trc:

ORA-00600: internal error code, arguments: [ttcgcshnd-1], [0], [], [], [], [], [], []

Wed Jan 7 17:17:18 2004

Errors in file /opt/oracle/admin/phsdb/udump/phsdb_ora_1777.trc:

ORA-00600: internal error code, arguments: [ttcgcshnd-1], [0], [], [], [], [], [], []

Wed Jan 7 17:17:24 2004

Errors in file /opt/oracle/admin/phsdb/udump/phsdb_ora_1783.trc:

ORA-00600: internal error code, arguments: [ttcgcshnd-1], [0], [], [], [], [], [], []

Wed Jan 7 17:17:31 2004

Errors in file /opt/oracle/admin/phsdb/udump/phsdb_ora_1785.trc:

ORA-00600: internal error code, arguments: [ttcgcshnd-1], [0], [], [], [], [], [], []

Wed Jan 7 17:17:39 2004

Errors in file /opt/oracle/admin/phsdb/udump/phsdb_ora_1777.trc:

ORA-00600: internal error code, arguments: [ttcgcshnd-1], [0], [], [], [], [], [], []

Wed Jan 7 17:17:45 2004

Errors in file /opt/oracle/admin/phsdb/udump/phsdb_ora_1783.trc:

ORA-00600: internal error code, arguments: [ttcgcshnd-1], [0], [], [], [], [], [], []

Wed Jan 7 17:17:52 2004

Errors in file /opt/oracle/admin/phsdb/udump/phsdb_ora_1787.trc:

ORA-00600: internal error code, arguments: [ttcgcshnd-1], [0], [], [], [], [], [], []

Wed Jan 7 17:18:11 2004

Errors in file /opt/oracle/admin/phsdb/udump/phsdb_ora_1791.trc:

ORA-00600: internal error code, arguments: [ttcgcshnd-1], [0], [], [], [], [], [], []

Wed Jan 7 17:18:19 2004

Errors in file /opt/oracle/admin/phsdb/udump/phsdb_ora_1785.trc:

ORA-00600: internal error code, arguments: [ttcgcshnd-1], [0], [], [], [], [], [], []

那么,很不幸,你很可能是碰到了bug: 1725012

通过设置以上事件,可以屏蔽和解决这个ORA-00600错误.

具体你可以参考Metalink相关文档。

八. 导出SPFILE文件

SPFILE文件可以导出为文本文件,使用导出、创建过程你可以向SPFILE中添加参数。

SQL> create pfile='e:\initeyglen.ora' from spfile;

文件已创建。

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

Initeyglen.ora文件的内容

*.aq_tm_processes=1

*.background_dump_dest='e:\oracle\admin\eyglen\bdump'

*.compatible='9.2.0.0.0'

*.control_files='e:\oracle\oradata\eyglen\control01.ctl',

'e:\oracle\oradata\eyglen\control02.ctl',

'e:\oracle\oradata\eyglen\control03.ctl'

*.core_dump_dest='e:\oracle\admin\eyglen\cdump'

*.db_block_size=8192

*.db_cache_size=25165824

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_name='eyglen'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=eyglenXDB)'

*.fast_start_mttr_target=300

*.hash_join_enabled=TRUE

*.instance_name='eyglen'

*.Java_pool_size=33554432

*.job_queue_processes=10

*.large_pool_size=8388608

*.open_cursors=300

*.pga_aggregate_target=25165824

*.processes=150

*.query_rewrite_enabled='FALSE'

*.remote_login_passWordfile='EXCLUSIVE'

*.shared_pool_size=50331648

*.sort_area_size=524288

*.sql_trace=FALSE

*.star_transformation_enabled='FALSE'

*.timed_statistics=TRUE

*.undo_management='AUTO'

*.undo_retention=10800

*.undo_tablespace='UNDOTBS1'

*.user_dump_dest='e:\oracle\admin\eyglen\udump'

然后我们可以使用这个pfile,或者手动修改其中的参数以启动数据库。

我们修改这个pfile,增加一行

*.log_archive_start=true

使用这个PFILE启动数据库

SQL> startup pfile='e:\initeyglen.ora'

ORACLE 例程已经启动。

Total System Global Area 135338868 bytes

Fixed Size 453492 bytes

Variable Size 109051904 bytes

Database Buffers 25165824 bytes

Redo Buffers 667648 bytes

数据库装载完毕。

数据库已经打开。

SQL> show parameter log_archive_start

NAME TYPE

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

VALUE

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

log_archive_start boolean

TRUE

SQL>

然后我们可以使用新的PFILE创建SPFILE

SQL> create spfile from pfile='e:\initeyglen.ora';

文件已创建。

重新启动数据库,新的SPFILE生效。

SQL> startup

ORACLE 例程已经启动。

Total System Global Area 135338868 bytes

Fixed Size 453492 bytes

Variable Size 109051904 bytes

Database Buffers 25165824 bytes

Redo Buffers 667648 bytes

数据库装载完毕。

数据库已经打开。

SQL> show parameter spfile

NAME TYPE

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

VALUE

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

spfile string

%ORACLE_HOME%\DATABASE PFILE%

ORACLE_SID%.ORA

SQL> show parameter log_archive_start

NAME TYPE

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

VALUE

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

log_archive_start boolean

TRUE

SQL>

九. 关于920的PFILE

在$ORACLE_BASE\admin\db_name pfile下,你很可能可以看到一个类似这样[init.ora.192003215317]名字的文件,这就是初始化

参数文件,只是跟上了时间戳。

对于Oracle920,缺省的就使用spfile启动,但是这个spfile不是凭空而来,而是根据这个文件创建而来,你可以去掉这个长后缀,就是标准的

pfile文件了。

假如手动创建数据库,可以看到以下的过程:

SQL> create spfile='e:\oracle\ora10G\database pfilesunny.ora'

FROM pfile='E:\oracle\admin unny cripts\init.ora';

文件已创建。

假如你想要使用pfile启动数据库,那么你可以把spfile改名,NT缺省位于$ORACLE_HOME\database下,这样Oracle就不会使用这个spfile了 。

你使用create pfile from spfile命令创建的pfile,也应该在这个目录下

以下是一个完整的例子:

E:\Oracle\Ora9iR2\database>dir *.ora

驱动器 E 中的卷是 Doc

卷的序列号是 980C-8EFF

E:\Oracle\Ora9iR2\database 的目录

2003-02-26 10:49 1,028 INITeyglen.ORA

2003-02-10 14:35 2,048 PWDeyglen.ORA

2003-02-26 11:05 3,584 SPFILEEYGLEN.ORA

3 个文件 6,660 字节

0 个目录 937,455,616 可用字节

E:\Oracle\Ora9iR2\database>sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - ProdUCtion on 星期三 2月 26 11:16:29 2003

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> connect / as sysdba

已连接到空闲例程。

SQL> startup

ORACLE 例程已经启动。

Total System Global Area 135338868 bytes

Fixed Size 453492 bytes

Variable Size 109051904 bytes

Database Buffers 25165824 bytes

Redo Buffers 667648 bytes

数据库装载完毕。

数据库已经打开。

SQL> show parameter spfile

NAME TYPE

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

VALUE

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

spfile string

%ORACLE_HOME%\DATABASE PFILE%

ORACLE_SID%.ORA

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> host rename SPFILEEYGLEN.ORA SPFILEEYGLEN.ORA.bak

SQL> host dir *.ora

驱动器 E 中的卷是 Doc

卷的序列号是 980C-8EFF

E:\Oracle\Ora9iR2\database 的目录

2003-02-26 10:49 1,028 INITeyglen.ORA

2003-02-10 14:35 2,048 PWDeyglen.ORA

2 个文件 3,076 字节

0 个目录 937,435,136 可用字节

SQL> startup

ORACLE 例程已经启动。

Total System Global Area 135338868 bytes

Fixed Size 453492 bytes

Variable Size 109051904 bytes

Database Buffers 25165824 bytes

Redo Buffers 667648 bytes

数据库装载完毕。

数据库已经打开。

SQL> show parameter spfile

NAME TYPE

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

VALUE

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

spfile string

SQL>

SQL> host rename SPFILEEYGLEN.ORA.bak SPFILEEYGLEN.ORA

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup

ORACLE 例程已经启动。

Total System Global Area 135338868 bytes

Fixed Size 453492 bytes

Variable Size 109051904 bytes

Database Buffers 25165824 bytes

Redo Buffers 667648 bytes

数据库装载完毕。

数据库已经打开。

SQL> show parameter spfile

NAME TYPE

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

VALUE

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

spfile string

%ORACLE_HOME%\DATABASE PFILE%

ORACLE_SID%.ORA

SQL>

<<上一页 下一页>>

本文作者:

eygle,Oracle技术关注者,来自中国最大的Oracle技术论坛itpub.

www.eygle.com是作者的个人站点.你可通过Guoqiang.Gai@gmail.com来联系作者.欢迎技术探讨交流以及链接交换.

原文出处:

http://www.eygle.com/faq/Oracle9i.New.Feature.Spfile.05.htm

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航