我在Windows Server 2016 VM上安装了Oracle 18c,并具有以下选项:仅软件,单实例数据库,标准版2,使用虚拟帐户。
当我尝试运行ORADIM命令创建数据库时,该命令从不将控制权返回给提示符,而我不得不强制关闭它。
oradin日志文件中没有任何错误消息,该实例以及所有相关的Oracle服务已创建。
我在Windows事件查看器中发现的唯一错误与Oracle VSS Writer服务有关:
“卷影复制服务错误:承载具有名称Oracle Vss Writer-XXXX和ID {yyy}的作家的进程不在具有足够访问权限的用户下运行。请考虑在本地帐户下运行此进程,该帐户是本地系统,管理员,网络服务或本地服务。”
我的理解是,由于Vss服务启动失败,因此未返回ORADIM命令,有人可以确认吗? ORADIM命令与虚拟用户安装兼容吗?要使其正常运行,我需要怎么做?
答案 0 :(得分:1)
如果这是一个测试数据库,则:
答案 1 :(得分:0)
我能够确认oradim命令是否由于Oracle Vss Service启动失败而冻结:我启动了oradim命令,一旦创建了Oracle Vss Writer Service,我便将关联的Log On用户修改为LocalService并启动了该服务。 ,oradim命令立即将控制权返回到命令窗口。
因此,尽管我认为可能有更好的解决方案,但我在安装脚本中想到了这种变通方法,
start oradim -new -sid %ORACLE_SID% -startmode manual
SET ORACLEVSS_NAME=OracleVssWriter%ORACLE_SID%
:VSSSRVCLOOP
SC QUERY %ORACLEVSS_NAME% > NUL
IF NOT ERRORLEVEL 1060 GOTO SVCCREATED
TIMEOUT 5 > NUL
GOTO VSSSRVCLOOP
:SVCCREATED
net stop %ORACLEVSS_NAME%
SC CONFIG %ORACLEVSS_NAME% obj= "NT AUTHORITY\LocalService" password= ""
net start %ORACLEVSS_NAME%