签到成功

知道了

CNDBA社区CNDBA社区

诡异的错误:ORA-48141: error creating directory during ADR initialization--原来是单引号惹的祸

2018-06-08 21:43 4678 0 原创 Oracle 11G
作者: Expect-乐

错误信息

SQL> startup nomount pfile='/tmp/initorcl.ora';
ORA-48141: error creating directory during ADR initialization [/u01/app/oracle/diag/rdbms//u01/app/oracle/fast_recovery]
ORA-48189: OS command to create directory failed
Linux-x86_64 Error: 2: No such file or directory
Additional information: 2

错误原因

搭建DG时候,把主库的参数文件拷贝到备库并修改后,然后将备库启动到nomount阶段时出现了这个错误,刚开始以为就哪个参数配置错误了,但是找了半天还是没找到,而且提示信息也很奇怪,怎么会有这种路径。也搜了半天还是没找到。

http://www.cndba.cn/Expect-le/article/2845

—以下是错误的参数文件内容http://www.cndba.cn/Expect-le/article/2845http://www.cndba.cn/Expect-le/article/2845

[oracle@cndba tmp]$ cat initorcl.ora 
orcl.__db_cache_size=394264576
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=406847488
orcl.__sga_target=608174080
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=188743680
orcl.__streams_pool_size=4194304
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/fast_recovery_area/orcl/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_unique_name='orcl
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4322230272
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.local_listener='LISTENER_ORCL'
*.memory_target=1012924416
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'/

和主库对比后也没发现什么不对的地方,而且也被错误信息给误导了。ORA-48141: error creating directory during ADR initialization,就没注意其他参数。后来一行一行看,才发现db_unique_name=’orcl 少了一个单引号。但是oracle并没有报db_unique_name配置不正确,可以看出oracle不会对参数的值进行检查,启动的时候根据单引号和一些规则来解析参数的值,如果少了某个单引号,会导致参数值完全不对了。下面举一个例子,数据库启动也正常。http://www.cndba.cn/Expect-le/article/2845

** 例子1
—修改参数:

http://www.cndba.cn/Expect-le/article/2845
http://www.cndba.cn/Expect-le/article/2845

*.db_name='orcl   --少一个单引号
*.db_unique_name='orcldg'

—启动数据库

http://www.cndba.cn/Expect-le/article/2845
http://www.cndba.cn/Expect-le/article/2845http://www.cndba.cn/Expect-le/article/2845

SQL> startup nomount pfile='/tmp/initorcl.ora';
ORACLE instance started.
Total System Global Area 1010479104 bytes
Fixed Size            2234640 bytes
Variable Size          608175856 bytes
Database Buffers      394264576 bytes
Redo Buffers            5804032 bytes
SQL> show parameter name
NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert             string
db_name                  string     orcldg'
db_unique_name                 string     orcldg'
global_names                 boolean     FALSE
instance_name                 string     orcl
lock_name_space              string
log_file_name_convert             string
processor_group_name             string
service_names                 string     orcldg'

可以看到db_unique_name多了一个单引号。没遇到过,不容易一次就找到错误点。刚遇到的,随手记一下。

http://www.cndba.cn/Expect-le/article/2845

版权声明:本文为博主原创文章,未经博主允许不得转载。

参数文件

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Expect-乐

Expect-乐

关注

Without the continuous bitter cold, there can be no fragrant plum blossom

  • 336
    原创
  • 6
    翻译
  • 100
    转载
  • 41
    评论
  • 访问:1372824次
  • 积分:1957
  • 等级:核心会员
  • 排名:第3名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ