创建第二个数据库实例zlcdb,创建的是容器数据库,可以正常使用后,关闭实例。
再次启动第一个实例orcl,先设置了环境变量:
set oracle_sid=orcl
然后登录到空实例:
sqlplus sys/his as sysdba
再执行startup
提示错误
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file 'C:\app\yonker\virtual\product\12.2.0\dbhome_1\database\initORCL.ora'
检查database目录下有SPFile文件SPFILEORCL.ORA
不应该提示initorcl.ora这个Pfile文件呀,应该是是SPFile优先。
百思不得其解,试着从C:\app\yonker\virtual\admin\orcl\pfile目录下拷贝初始pfile文件:init.ora.2192018101632
拷到database目录下后改名为initOrcl.ora
再次启动,还是同样的错误。
难道是没有认到spfile文件?会不会是权限的原因?
于是,对比了一下两个实例的spfile文件,发现spfileorcl.ora的权限确实有问题。
spfileorcle.ora的权限中有一个OracleServiceOrcl服务的权限
而spfilezlcdb.ora的权限中却是ORA_OraDB12Home1_SVCACCTS这个组的权限。
再到计算机管理的用户组中查看,ORA_OraDB12Home1_SVCACCTS组的成员包含了OracleServiceOrcl服务等多个服务。
于是把spfileorcle.ora的权限的OracleServiceOrcl服务删除,添加ORA_OraDB12Home1_SVCACCTS组的权限后,启用orcl实例成功。
12C添加了一系列的操作系统用户组,包括:ORA_OraDB12Home1_SVCACCTS,ORA_OraDB12Home1_DBA等
以及提出了虚拟帐户概念,有待进一步的学习。