oracle关闭审计报错:alter system set audit_trail=none scope=spfile;

报错,报oracle的spfile这个二进制文件已经损坏,

ORA-01078: failure in processing system parameters

ORA-01565: error in identifying file'/u01/app/oracle/10g/dbs/spfileorcl.ora'

ORA-27046:filesizeisnot a multiple of logical block size

Additional information:

原因分析:oracle的spfileorcl.ora这个二进制文件失效,被编辑或者被损坏。

oracle修改系统项的参数的时候,需要再系统中修改,然后重新启动数据库。

如果直接修改oracle的spfilesid.ora的话,这个文件时不可编辑的,这是个二进制文件。

spfilesid.ora这个文件详解:

oracle参数文件_参数文件



这里面放置的是oracle的体系结构,就是在创建数据库的时候设置的那些参数都在oracle启动文件里放置。



OracleSPFILE里放置的内容,每一项值的意义:

:orcl._db_cache_sizeoracle高速缓存大小

orcl._java_pool_sizeoraclejava池的大小:java池是为数据库中运行的JVM分配的一段固定大小的内存。

Orcl._large_pooloracle大池的大小。共享服务器使用大池作为会话内存,并行执行特性使用大池作为消息缓冲区,rman备份可以使用大池作为磁盘IO缓冲区。

Orcl._shared_pool_size:共享池包括共享游标,存储过程,状态对象,字典缓存等数据

Orcl._streams_pool_size:流池,oraclestream专用的一个内存池。Oracle 流是数据库的一个数据共享工具。

Orcl._pga_aggregate_target:一个上限目标,而不是启动数据库时预分配的大小。

Oracle11G使用的是自动内存管理。


Audit_trail的值如果是none的话审计就是默认关闭的,如果是DB的话就是开启的。

Audit_file_dest:这是oracle审计的信息的放置位置。

Oracle数据库启动的时候的,先寻找spfile,现寻找pfile,也就是initsid.ora文件。

这些是数据库的参数文件,参数文件里存放的是oracle数据库启动时候的体系结构的基础设置值,就好像是linux下的sysconfig.conf文件,里面是设置。

如果spfile损坏了,可以通过pfile来启动oracle,然后通过Pfile来恢复spfile

如果pfile不存在,可以使用默认的pfile 来恢复spfile。但是很多的配置还是需要修改。

Oracle 的默认的pfile的位置:$ORACLE_BASE/admin/sid/pfile



命令:create spfile from pfile='$ORACLE_BASE/admin/$ORACLE_SID/pfile'


然后启动数据库。

修改spfile中的参数值:

spfile是个二进制文件,不能用文本编辑器来编辑。

可以使用alter system 命令来执行,

alter system set parameter=value scope=spfile。在sqlplus中执行的命令可以直接修改OS下spfile文件中的内容,