首页 » ORACLE [C]系列, ORACLE 9i-23c » adrci show ‘No ADR base is set‘ 解决办法

adrci show ‘No ADR base is set‘ 解决办法

oracle 11g后引入adrci 仓库管理trace文件,12c后更把把GI和DB全转到了adrci, 我还是比较喜欢用它小工具,今天一套友商安装的数据库使用adrci 查看日志提示No ADR base is set, 检查了$ORACLE_BASE环境变量也存在,同时也未使用symbolic links 目录,临时解决当然可以使用adrci中SET BASEADR_BASE DIR手动指定ADR BASE, 对于使用频繁的工具,手动set,不能忍。

这个问题通常的原因是$ORACLE_HOME/log/diag 目录下的adrci_dir.mif 文件缺失或损坏、权限错误, 这个文件中指定了ADR base的目录。手动创建一下这个文件就可以解决,Note 不可以使用vi 创建,因为它会附加行尾换行符,可以使用printf command工具。

$ printf "%s" "<ADR base path>" > $ORACLE_HOME/log/diag/adrci_dir.mif

case 1

oracle@anbob2:/home/oracle> adrci
ADRCI: Release 19.0.0.0.0 - Production on Thu Jun 17 08:54:16 2021
Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

No ADR base is set
adrci> exit
oracle@anbob2:/home/oracle> env|grep ORA
ORACLE_PATH=/home/oracle/scifmation/scripts:/home/oracle/sdbo/scripts
ORACLE_SID=orcl2
ORACLE_BASE=/oracle/app/oracle
ORACLE_HOME=/oracle/app/oracle/product/19c/db_1

结果是因为ORACLE_HOME下的log目录不存在。

解决方法

oracle@anbob2$ cd $ORACLE_HOME
oracle@anbob2$ mkdir -p log/diag
oracle@anbob2$  printf "%s" "/oracle/app/oracle" > $ORACLE_HOME/log/diag/adrci_dir.mif

oracle@anbob2:/oracle/app/oracle/product/19c/db_1/log/diag> strings adrci_dir.mif 
/oracle/app/oracle
oracle@anbob2:/oracle/app/oracle/product/19c/db_1/log/diag> adrci

ADRCI: Release 19.0.0.0.0 - Production on Thu Jun 17 10:37:34 2021

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

ADR base = "/oracle/app/oracle"
adrci> 

— enjoy —

打赏

对不起,这篇文章暂时关闭评论。