ORA-09817 WIRTE TO AUDIT FILE FAILED

    技术2022-07-10  152

    标题EBS常见开发环境–上下游订单传送不通 解决思路: 确认的方法是

    1.先确认是不是 同步核算的定时请求已经不跑了

    8005环境定时请求查看 select

    from fnd_conc_req_summary_v a

    where a.PHASE_CODE = ‘P’

    查询到此时并没有问题。。。。

    2.8005环境进后台服务器

    cd $ADMIN_SCRIPTS_HOME

    ./adoafmctl.sh stutus

    状态无问题

    —-—-—-—-—-—-—-—

    3.8050环境查看后台

    cd $ADMIN_SCRIPTS_HOME

    ./adoafmctl.sh stutus

    状态有问题 -》》》》》》此时已经确认到8050环境已经有问题了

    —-—-—-—-—-—-—-—-—-—-—-—-—–

    查询到此时监听已经停了 但是PLSQL后台登录数据库是没有问题的

    —-—-—-—-—-—-—-—-—-—-—-—-—-

    此时在服务器上登录sqlplus 后台

    发现问题。。。

    sqlplus /as sysdba的时候报。。。

    ORA-09817 WIRTE TO AUDIT FILE FAILED…

    解决方法

    1.命令行内输入df -lh 查看磁盘空间,如果发现有磁盘空间用满的现象,则转到第二步

    2.SELECT VALUE FROM V$PARAMETER WHERE NAME = ‘user_dump_dest’//找到trace文件夹的路径

    —/u01/erptemp/db/tech_st/11.2.0/admin/test_temp/diag/rdbms/test/test/trace

    rm -rf *

    确认应用层 log out的路径 获取方法如下 查找一个应用层的请求。。。

    SELECT 'Request id: ’ || request_id,

    'Trace id: ' || oracle_process_id, 'Trace Flag: ' || req.enable_trace, 'Trace Name: ' || dest.value || '/' || lower(dbnm.value) || 'ora' || oracle_process_id || '.trc' "trace_1", 'Trace Name: ' || dest.value || '/' || dbnm.value || 'ora' || oracle_process_id || '_SYSADMIN_CR' || req.request_id || '.trc' "trace_2", —'Prog. Name: '||prog.user_concurrent_program_name, 'File Name: ' || execname.execution_file_name || execname.subroutine_name, 'Status : ' || decode(phase_code, 'R', 'Running') || '-' || decode(status_code, 'R', 'Normal'), 'SID Serial: ' || ses.sid || ',' || ses.serial#, 'Module : ' || ses.module

    FROM apps.fnd_concurrent_requests req,

    v$session ses, v$process proc, v$parameter dest, v$parameter dbnm, apps.fnd_concurrent_programs_vl prog, apps.fnd_executables execname

    WHERE req.request_id = 25436808

    AND req.oracle_process_id = proc.spid(+)

    AND proc.addr = ses.paddr(+)

    AND dest.name = ‘user_dump_dest’

    AND dbnm.name = ‘db_name’

    AND req.concurrent_program_id = prog.concurrent_program_id

    AND req.program_application_id = prog.application_id

    AND prog.application_id = execname.application_id

    AND prog.executable_id = execname.executable_id;

    —race Name: /u01/erptemp/db/tech_st/11.2.0/admin/test_temp/diag/rdbms/test/test/trace/test_ora_15951.trc

    —Trace Name: /u01/erptemp/db/tech_st/11.2.0/admin/test_temp/diag/rdbms/test/test/trace/test_ora_15951_SYSADMIN_CR25436808.trc

    SELECT t.logfile_name

    ,t.outfile_name

    FROM fnd_concurrent_requests t

    WHERE t.request_id = 25436808—请求ID

    /u01/erptemp/inst/apps/test_temp/logs/appl/conc/log/l25436808.req

    /u01/erptemp/inst/apps/test_temp/logs/appl/conc/out/o25436808.out

    此时到指定的路径下执行。。。

    find . -name “.req”| xargs rm -rf “.req”

    find . -name “.out”| xargs rm -rf “*.out”

    , 执行完上述不走之后,即可腾出一部分的空间。

    4.尝试先关闭数据库(登陆进去oracle数据库之后运行命令shutdown

    immediate),然后再重启电脑。如果正常关闭数据库失败,那就直接关闭电脑。

    5.重启oracle数据库

    切换到root用户,然后依次输入下列命令,数据库服务启动成功。

    lsnrctl start

    普通用户下

    sqlplus / as sysdba

    登录进去之后

    startup

    完成上述步骤之后oracle应该就可以好了。 lsnrctl status

    lsnrctl stop

    lsnrctl start test

    —-—-—-—-—-—-—-—-—–

    重启完监听后执行

    ./adstpall.sh apps/apps

    ./adstrall.sh apps/apps

    —-—-—-—-—-—-—-—-——-

    查状态 ./ adoafm status

    重启完之后重启并发管理器

    系统管理员执行下停止并发管理器

    用 ./adcmctl.sh start 重启。。 select * from cux_track_log_t a where a.tt_type = 'PO_ORDER’order by a.creation_date desc; select * from scux_po_interfaces_t c where c.intf_batch_id = ‘9945148’

    Processed: 0.016, SQL: 9