Oracle Study之案例--Oracle Sqlplus错误

本文记录了在AIX系统环境下Oracle数据库启动时遇到的ORA-09925错误,详细分析了该错误产生的原因并提供了具体的解决步骤,包括检查磁盘空间、文件权限以及inode使用情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统环境:

操作系统:AIX5.3

数据库:  Oracle 10gR2


wKiom1S3elTR8RPtAAIs2ex0EMc791.jpg

    案例分析:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
1 、查看空间信息
[oracle@aix220 ~]$df -m
Filesystem    MB blocks      Free %Used    Iused %Iused Mounted  on
/dev/hd4        17408.00    1238.15    93 %     37699     12 % /
/dev/hd2         8192.00    6310.39    23 %     46534      4 % /usr
/dev/hd9var      2048.00    1725.55    16 %      1704      1 % / var
/dev/hd3         2048.00    1902.58     8 %       420      1 % /tmp
/dev/fwdump      3072.00    3071.21     1 %         4      1 % / var /adm/ras/platform
/dev/hd1         2048.00    1821.98    12 %        74      1 % /home
/proc                 -         -    -         -     -  /proc
/dev/hd10opt     2048.00    1374.77    33 %      8934      3 % /opt
/dev/lv00        1024.00     991.80     4 %        18      1 % / var /adm/csd
/dev/arch       10240.00    8347.63    19 %  
/dev/lv02       15360.00   10097.80    35 %    123693      4 % /u01
 
2 、查看文件权限
[oracle@aix220 ~]$ls -ld /u01/app/oracle/admin/master/
drwxr-x---     8  oracle   dba              512  Feb  17  16 : 40  /u01/app/oracle/admin/master/
[oracle@aix220 ~]$ls -ld /u01/app/oracle/admin/master/adump/
drwxr-x---     2  oracle   dba             1536  Feb  17  19 : 48  /u01/app/oracle/admin/master/adump/
 
3 、查看文件系统信息
[oracle@aix220 dbs]$cat /etc/filesystems
 
/u01:
         dev             = /dev/lv02
         vfs             = jfs
         log             = /dev/loglv00
         mount           =  true
         options         = rw
         account         =  false
 
[root@aix220 /]#lsvg -l oraclevg
oraclevg:
LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT
loglv00             jfslog      1        1        1     closed/syncd  N/A
lv02                jfs         120      120      1     closed/syncd  /u01
 
[root@aix220 /]#df -m
Filesystem    MB blocks      Free %Used    Iused %Iused Mounted  on
/dev/hd4        17408.00    1238.18    93 %     37700     12 % /
/dev/hd2         8192.00    6310.39    23 %     46534      4 % /usr
/dev/hd9var      2048.00    1725.56    16 %      1704      1 % / var
/dev/hd3         2048.00    1902.58     8 %       420      1 % /tmp
/dev/fwdump      3072.00    3071.21     1 %         4      1 % / var /adm/ras/platform
/dev/hd1         2048.00    1821.98    12 %        74      1 % /home
/proc                 -         -    -         -     -  /proc
/dev/hd10opt     2048.00    1374.77    33 %      8934      3 % /opt
/dev/lv00        1024.00     991.80     4 %        18      1 % / var /adm/csd
/dev/arch       10240.00    8347.63    19 %        52      1 % /arch
/dev/lv01        5120.00    4959.25     4 %        16      1 % /flash
/dev/lv03       25600.00   24796.43     4 %        17      1 % /home/oracle/arch_master
rhel152:/backup/cuug15/storage30   14111.05   13052.23     8 %        31      1 % /backup
 
mount文件系统失败:
[root@aix220 /]#mount /u01
Replaying log  for  /dev/lv02.
mount: /dev/lv02  on  /u01: Unformatted  or  incompatible media
The superblock  on  /dev/lv02 is dirty.  Run a full fsck to fix.
 
修复文件系统:
[root@aix220 /]#fsck -y  /dev/lv02 
......
** Phase  5  - Check Inode Map
** Phase  6  - Check Block Map
Bad Block Map (SALVAGED)
** Phase 6b - Salvage Block Map
Superblock is marked dirty (FIXED)
123665  files  10749336  blocks  20707944  free
***** Filesystem was modified *****
 
mount文件系统成功:
[root@aix220 /]#mount /u01
[root@aix220 /]#df -m
Filesystem    MB blocks      Free %Used    Iused %Iused Mounted  on
/dev/hd4        17408.00    1238.16    93 %     37699     12 % /
/dev/hd2         8192.00    6310.39    23 %     46534      4 % /usr
/dev/hd9var      2048.00    1725.55    16 %      1704      1 % / var
/dev/hd3         2048.00    1902.58     8 %       420      1 % /tmp
/dev/fwdump      3072.00    3071.21     1 %         4      1 % / var /adm/ras/platform
/dev/hd1         2048.00    1821.98    12 %        74      1 % /home
/proc                 -         -    -         -     -  /proc
/dev/hd10opt     2048.00    1374.77    33 %      8934      3 % /opt
/dev/lv00        1024.00     991.80     4 %        18      1 % / var /adm/csd
/dev/lv02       15360.00   10111.30    35 %    123674      4 % /u01
 
执行sqlplus命令成功:
[root@aix220 /]#su - oracle
[oracle@aix220 ~]$sqlplus  '/as sysdba'
 
SQL*Plus: Release  10.2. 0.1. 0  - Production  on  Tue Feb  17  19 : 46 : 03  2015
 
Copyright (c)  1982 2005 , Oracle.  All rights reserved.
 
Connected to an idle instance.
 
SQL>

   数据库库报ORA-09925: Unable to create audit trail file,当时查 df -h有可用空间,目录的权限也正确,未df -i查看Inodes使用情况,审计目录下有将近24W个文件,初步猜测是因为审计生成文件过多导致目录所在分区的Inodes用光了,当时删除部分审计TRACE文件后正常未查看 Inodes使用情况。

汇总了下:ORA-09925的原因大致有以下三种:--其实可以根据报错判断是权限问题还是磁盘空间问题

原因一:目录权限问题--目录权限被改,无权限向目录写审计数据
Oracle bin目录(实际是整个oracle目录)的属主被更改: --ls -al bin
解决方法
chown -R oracle.oinstall /opt/orace
原因二确实磁盘没空间了 --df -h
原因三:磁盘Inodes用光--df -i 

参考:模拟Linux磁盘分区有可用空间无可用Inodes时报错:No space left on device

报错示例:--部分网络
示例1:可以根据报错信息判断是目录权限问题导致不能写入

ORA-09925: Unable to create audit trail file
Linux Error: 13: Permission denied
Additional information: 9925
ORA-09925: Unable to create audit trail file
Linux Error: 13: Permission denied
Additional information: 9925

示例2:--只读文件系统--没有写权限(可能是文件系统出问题)

ORA-09925: Unable to create audit trail file 
Linux-x86_64 Error: 30: Read-only file system 
Additional information: 9925 
ORA-01075: you are currently logged on

示例3:--没有可用空间

wKiom1S4dWTwKcNbAAG6a2Edp1Y833.jpg##############################
MOS上的一段描述及解决:
Problem Description ------------------- 
Problem occurs when: $ORACLE_HOME/rdbms/audit directory is full or $ORACLE_HOME/rdbms/audit directory doesn't exist as a side effect of this problem oracle asks for password after connect internal

Solution Description -------------------- 
Make space available in $ORACLE_HOME/rdbms/audit by removing files that are not needed or Make sure the directory exists and is readable by oracle or Change init.ora audit_file_dest to an existing directory. Change init.ora parameter means restart instance as workaround kill pmon. 

Explanation ----------- 
The behavior on Unix is to write a file named ora_<process_id>.aud into the directory specified by audit_file_dest. The default directory is /rdbms/audit. The file will contain an entry for the audited action, which would be internal logins or startup. On ports which support an OS audit trail, these records will be written there. This feature is not affected by the settings of the audit_trail parameter. 

ORA-09925: "Unable to create audit trail file"

Cause: ORACLE was not able to create the file being used to hold audit trail records.

Action: Check the UNIX error number for a possible operating system error. 
If there is no error, contact ORACLE customer support. 

References ----------

[NOTE:1018924.102] ORA-09925 ON DATABASE STARTUP [NOTE:1056988.6] ORA-09925 DURING HOT BACKUPS [NOTE:21073.1]

OERR: ORA-9925 "Unable to create audit trail [BUG:723955] SQLPLUS ALLOWS DB STARTUP (BUT NOT SHUTDOWN)

IF AUDIT_FILE_DEST DOESN'T EXIST

Search Words ------------ ORA-09925 audit trail audit_file_dest











本文转自 客居天涯 51CTO博客,原文链接:http://blog.51cto.com/tiany/1604445,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值