AnyBackup-客户端进行 Oracle 权限配置时,提示错误:接口调用失败(ORA-12705: Cannot access NLS data files or invalid environm
关键字
Oracle 、权限配置
适用产品
· AnyBackup CDM 7.0.x
· AnyBackup Express 7.0.x
问题描述
在 AnyBackup 管理控制台对客户端进行 Oracle 权限配置时,输入用户密码后,点击确定,弹出提示对话框:
实例授权失败!
原因是:任务执行异常, 原因:接口调用失败(ORA-12705: Cannot access NLS data files or invalid environment specified ).

问题影响
Oracle 数据库实例授权失败。
问题原因
AnyBackup 客户端安装目录下 AnyBackupClient/ClientService/user/oracleenv 文件未配置正确的 NLS_LANG 环境变量,NLS_LANG 环境变量用于定义语言,地域以及字符集属性,若 AnyBackup 客户端无法获得正确的 NLS_LANG 环境变量值,将无法成功连接数据库。
解决方案
为了解决此问题,需要修改客户端安装目录下 AnyBackupClient/ClientService/user/oracleenv 文件,配置 NLS_LANG 环境变量为对应环境的准确值,请按照以下步骤执行:
1.通过 SSH 工具登录客户端服务器操作系统,切换到 Oracle 数据库安装用户,查询环境变量 NLS_LANG 的值。
su - oracle
echo $NLS_LANG
2.切换到 root 用户,编辑客户端安装目录下 AnyBackupClient/ClientService/user/oracleenv 文件,配置环境变量 NLS_LANG 的值为第 1 步查询到的值。
su - root
vi AnyBackupClient/ClientService/user/oracleenv
按 i 键进入编辑模式,修改 NLS_LANG 字段为:
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
按 Esc 键,输入:wq 保存退出。
3.登录 AnyBackup 管理控制台,对客户端重新进行 Oracle 权限配置。
更多信息
关于 NLS_LANG 环境变量的更多说明,可参考 Oracle 官方支持文档: NLS_LANG 环境变量详细说明。