欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

OracleStudy之案例--OracleSqlplus错误

程序员文章站 2022-04-22 09:33:52
...

Oracle Study之案例--Oracle Sqlplus错误 系统环境: 操作系统:AIX5.3 数据库: Oracle 10gR2 650) this.width=650;" src="http://www.68idc.cn/help/uploads/allimg/151111/12142C928-0.jpg" title="ax1.png" alt="wKiom1S3elTR8RPtAAIs2ex0EMc791.jpg" />

Oracle Study之案例--Oracle Sqlplus错误

系统环境:

操作系统:AIX5.3

数据库: Oracle 10gR2


OracleStudy之案例--OracleSqlplus错误

案例分析:

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:--没有可用空间

OracleStudy之案例--OracleSqlplus错误##############################
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_.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