试图改变监听日志的名称时,报出TNS-01251错误:
      
        $ lsnrctl 
LSNRCTL 
      
      
        for
      
       Linux: Version 
      
        11.2
      
      .
      
        0.4
      
      .
      
        0
      
       - Production on 
      
        30
      
      -JUN-
      
        2015
      
      
        14
      
      :
      
        51
      
      :
      
        08
      
      
        
Copyright (c) 
      
      
        1991
      
      , 
      
        2013
      
      
        , Oracle.  All rights reserved.
Welcome to LSNRCTL, type 
      
      
        "
      
      
        help
      
      
        "
      
      
        for
      
      
         information.
LSNRCTL
      
      > 
      
        set
      
      
         log_file    
Parameter Value: listener_test.log
Connecting to (ADDRESS
      
      =(PROTOCOL=tcp)(HOST=)(PORT=
      
        1521
      
      
        ))
TNS
      
      -
      
        01251
      
      : Cannot 
      
        set
      
       trace/
      
        log directory under ADR
LSNRCTL
      
      > 
    
  
原因:
Oracle 11g中引入了ADR特性。
如果listener.ora文件中参数DIAG_ADR_ENABLED_listenername设置为on,则会忽略参数log_directory的设置。 trace文件和log文件被创建在ADR_BASE_listener_name指定的路径下。可以通过参数ADR_BASE_listener_name参数指定的位置作为trace和log文件的存放的base目录。
也可以通过在listener.ora中设置,取消ADR特性:
      DIAG_ADR_ENABLED_listener_name=
      
        OFF 
LOG_DIRECTORY_listener_name 
      
      = </path/.../>
    
  


 
					 
					