现象
windows server 2006的Oracle 12c,在服务里启动了数据库,正常,但是在通过sqlplus连接进去后发现数据库是空闲实例,开始启动数据库,结果报错:
SQL> startup
ORA-48173: error checking directory existence during ADR initialization [D:\app\diag\rdbms\orclcdb]
ORA-48187: specified directory does not exist
OSD-00002: additional error information
O/S-Error: (OS 5) Access is denied.
原因
数据库的服务,登录名被更改了。
该套环境本身是12.2.0.1的环境,然后我又安装了19c的环境,可能被修改掉了,
解决
修改服务里的Oracle数据库,使用本地系统账号登陆即可。
- Right-click on service
- Select 'properties'
- Select 'logon'
- Change the default user ID to an Oracle user with Windows administrator privileges
Startup Nomount Fails With ORA-48173 ORA-48187 OSD-00002 (Doc ID 2740770.1)
APPLIES TO:
Oracle Database - Enterprise Edition - Version 11.2.0.4 and later
Information in this document applies to any platform.
SYMPTOMS
After the upgrade, when We try to start the instance in nomount mode but it fails:
SQL> startup nomount;
ORA-48173: error checking directory existence during ADR initialization [<ADR_PATH>]
ORA-48187: specified directory does not exist
OSD-00002: additional error information
O/S-Error: (OS 5) Access is denied.
CAUSE
The O/S-Error: (OS 5) Access is denied error happens when the user does not have permission to write to the filesystem.
SOLUTION
For Linux/UNIX:
--------------------
Execute chmod 770 on the directory to fix this O/S Access Denied error in Linux/UNIX
For Windows:
----------------
On Windows, default is the OracleService service, which runs as the user LocalSystem.
The Windows LocalSystem user is not allowed to write to shared drives.
Change OracleService to logon explicitly as an Oracle user with admin privileges.
In the ControlPanel services:
- Right-click on service
- Select 'properties'
- Select 'logon'
- Change the default user ID to an Oracle user with Windows administrator privileges