对于Oracle 12c的商业版本,可以指定现有的Windows域帐户来运行Oracle Windows服务 - “Oracle Home User”。但是对于Oracle XE 18c,我们在Windows上安装时没有这样的选择。
可能是某些安装后的解决方法可以使用此功能或类似的东西?
我们的目标是通过UTL_FILE包访问远程NT共享上的文件。但它需要在域级别设置权限 - 对于默认安装的Oracle服务指定的本地虚拟帐户来说几乎不可能。
在我被Oracle ACE告知XE18c无法使用Oracle Home用户之后,我决定尝试一些旧技巧。
在Windows Server 2012R2上干净安装XE18c后:
1)我在服务MMC中停止了OracleServiceXE。
2)我已将OracleServiceXE Properties选项卡中的LogOn帐户属性从'NT Service \ OracleServiceXE'更改为'MYDOMAIN \ myuser',后者具有远程共享的必要权限。
3)我删除了一个键HKLM \ SOFTWARE \ ORACLE \ KEY_OraDB18Home1 \ ORACLE_SVCUSER_TYPE(设置为'V')。
4)我已将键HKLM \ SOFTWARE \ ORACLE \ KEY_OraDB18Home1 \ ORACLE_SVCUSER的值更改为“MYDOMAIN \ myuser”。
5)我在Services MMC中启动了OracleServiceXE。
在这里,我能够在'sys as sysdba'下本地登录,运行'shutdown'和'startup',然后通过SQL Plus从远程工作站连接。没问题。
6)Oracle内部明显的后续步骤证明了这一概念(在XEPDB1中创建用户,将注册共享UNC路径作为目录,授予权限,为新用户测试UTL_FILE样本)也是成功的。