Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

24

积分

0

好友

2

主题
1#
发表于 2012-5-21 11:04:13 | 查看: 5894| 回复: 3
Failed to create directory “” on rac3, PRKC-1055: Directory name passed was null. PRKC-1055: Directory name passed was null

网上查了下发现杨挺昆的解释是rac3上路径和原来节点路径不一致导致,可是检查下来没有任何问题,4个dump目录完全一致,文件路径日志路径归档日志路径都在ASM中,rac3的ASM3登陆正常。可是这个1055错误还是照旧。。莫非要逼我手动添加rac3参数。。。。
2#
发表于 2012-5-21 13:06:06
尝试 设置 plsql_native_library_dir = '/tmp'


alter system set plsql_native_library_dir = '/tmp'   scope=spfile;

尝试添加节点add instance ,完成后 重置该参数  

alter system reset plsql_native_library_dir scope=spfile;

回复 只看该作者 道具 举报

3#
发表于 2012-5-21 14:17:23
原帖由 maclean 于 2012-5-21 13:06 发表
尝试 设置 plsql_native_library_dir = '/tmp'


alter system set plsql_native_library_dir = '/tmp'   scope=spfile;

尝试添加节点add instance ,完成后 重置该参数  

alter system reset plsql_native_library_ ...


已经通过修改spfile和 srvctl add 的方式把第三个节点加上去了,谢谢。

回复 只看该作者 道具 举报

4#
发表于 2012-5-21 14:53:50
ODM DATA:


DBCA Fails With PRKC-1055 While Adding a New Instance to an Existing RAC Database  

Applies to:
Oracle Server - Enterprise Edition - Version: 10.1.0.2 to 10.2.0.1 - Release: 10.1 to 10.2
Information in this document applies to any platform.
Symptoms
o existing RAC database
o trying to add a new instance via DBCA fails with error
Failed to create directory "" on "<new_node>", "PRKC-1055 : Directory name passed was null".
The DBCA log $ORACLE_HOME/cfgtoollogs/dbca/trace.log shows the following messages:
[AWT-EventQueue-0] [21:49:28:560] [ClusterUtils.areSharedPaths:545] 1. path=/u01/app/oracle/product/10.2.0/db_1/dbs
[AWT-EventQueue-0] [21:49:28:560] [ClusterUtils.areSharedPaths:566] 2. path=/u01/app/oracle/product/10.2.0/db_1/dbs
[AWT-EventQueue-0] [21:49:29:204] [ClusterUtils.areSharedPaths:545] 1. path=/u03/eplse_prod/arch1
[AWT-EventQueue-0] [21:49:29:205] [ClusterUtils.areSharedPaths:566] 2. path=/u03/eplse_prod/arch1
[AWT-EventQueue-0] [21:49:29:800] [ClusterUtils.areSharedPaths:545] 1. path=/u03/eplse_prod/arch2
[AWT-EventQueue-0] [21:49:29:801] [ClusterUtils.areSharedPaths:566] 2. path=/u03/eplse_prod/arch2
[AWT-EventQueue-0] [21:49:30:372] [ClusterUtils.areSharedPaths:545] 1. path=/u03/eplse_prod/dfs
[AWT-EventQueue-0] [21:49:30:372] [ClusterUtils.areSharedPaths:566] 2. path=/u03/eplse_prod/dfs
[AWT-EventQueue-0] [21:49:30:942] [ClusterUtils.areSharedPaths:545] 1. path=/u03/eplse_prod/flash
[AWT-EventQueue-0] [21:49:30:943] [ClusterUtils.areSharedPaths:566] 2. path=/u03/eplse_prod/flash
[AWT-EventQueue-0] [21:49:31:522] [ClusterUtils.areSharedPaths:545] 1. path=/u03/eplse_prod/rdlcf1
[AWT-EventQueue-0] [21:49:31:523] [ClusterUtils.areSharedPaths:566] 2. path=/u03/eplse_prod/rdlcf1
[AWT-EventQueue-0] [21:49:32:127] [ClusterUtils.areSharedPaths:545] 1. path=/u03/eplse_prod/rdlcf2
[AWT-EventQueue-0] [21:49:32:127] [ClusterUtils.areSharedPaths:566] 2. path=/u03/eplse_prod/rdlcf2
[AWT-EventQueue-0] [21:49:32:743] [ClusterUtils.areSharedPaths:545] 1. path=/u03/eplse_prod/rdlcf3
[AWT-EventQueue-0] [21:49:32:743] [ClusterUtils.areSharedPaths:566] 2. path=/u03/eplse_prod/rdlcf3
[TaskScheduler timer] [21:49:35:298] [ClusterUtils.areSharedPaths:545] 1. path=
[TaskScheduler timer] [21:49:35:299] [ClusterUtils.areSharedPaths:566] 2. path=
Please note the last two  lines which are empty after 'path='.

Cause
This is caused by plsql_native_library_dir is set to an empty string on  existing instance:
    plsql_native_library_dir=''
hence the value returned for select value from v$parameter where name='plsql_native_library_dir';
is a null string and consequently above error is reported.

While preparing the new instance DBCA connects to the existing instance (on the node on which dbca was invoked) in order to verify that all directories specified in startup parameters exist on the node and/or are shareable.

DBCA retrieves all non-default parameters using the following query:
select name from v$parameter where isdefault='FALSE'
  union
select name from v$system_parameter where ismodified='MODIFIED'
;
and then queries the value for each individual parameter. If the parameter refers to a directory, DBCA will test if the directory exists on all nodes and will attempt to verify that it is accessible by each instance.


Solution
Connect to the existing instance and query all non-default parameters - e.g.:
col name format a40
col val format a35
select name,''''||value||'''' val from v$parameter where isdefault='FALSE'
union
select name,''''||value||'''' val from v$system_parameter where ismodified='MODIFIED'
order by 1,2;
Check the query output for parameters that refer to directories/files and make sure they do not have a NULL string as value.

In the current case setting
plsql_native_library_dir = '/tmp'
on the existing instance allowed DBCA to successfully add the new instance.

Please note that setting a string parameter to the null string ('') does not remove it from an SPFILE, this can only be achieved using the 'alter system reset' command e.g.:
alter system reset plsql_native_library_dir scope=spfile;
or by re-creating the  SPFILE from a PFILE.

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-25 13:43 , Processed in 0.046884 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569