【故障现象】
用户在Window Sever 2012R2上面安装oracle database 10gR2数据库,在执行DBCA时出现如下错误,
ORA-12546: TNS permission denied
也会有如下报错:
【故障解决】
参考网上找到一些方法来解决,经过测试证明无效。过程如下:
首先查看DBCA安装时的日志,位置在ORACLE_HOME目录下的 cfgtoollogs/oui/installActions<日期时间>.log 文件。如:
$ORACLE_HOME/cfgtoollogs/oui/installActions2021-05-08_01-04-20AM.log
在日志中有这样一段
INFO: Configuration assistant "Oracle Net Configuration Assistant" succeeded
INFO: Command = C:\Windows\system32\cmd /c call E:\oracle\DB10g/bin/dbca.bat -progress_only -createDatabase -templateName General_Purpose.dbc -gdbName shoupslc -sid shoupslc -sysPassword 0572dbbb45ee48148350e4ae61f687c4e2c1f90c25cfe6cf29 -systemPassword 05810f7b5950f645b9d3f9e88d25553ea2c14e55feef7058a2 -sysmanPassword 05f9ec96e2d8d2312b8604420f298e111a9d203393dbef67c7 -dbsnmpPassword 0511d330c91a61c67b859c33c9c3738e0f7f451a9254c20f64 -emConfiguration LOCAL -datafileJarLocation E:\oracle\DB10g\assistants\dbca\templates -datafileDestination E:\oracle\oradata -responseFile NO_VALUE -characterset AL32UTF8 -obfuscatedPasswords true -sampleSchema true -recoveryAreaDestination NO_VALUE
INFO: Configuration assistant "Oracle Database Configuration Assistant" succeeded
INFO: Command = E:\oracle\DB10g/bin/isqlplusctl.bat start
其中可以发现下面命令中的反斜杠方向是错误的。
INFO: Command = C:\Windows\system32\cmd /c call E:\oracle\DB10g/bin/dbca.bat
这很可能是一个BUG。接下来我们需要手动执行这个命令,来重新启动dbca命令。
启动方法:
使用powershell执行命令:
1.powershell编码设置成utf-8:
chcp 65001
2.执行dbca命令
C:\Windows\system32\cmd /c call E:\oracle\DB10g\bin\dbca.bat -progress_only -createDatabase -templateName General_Purpose.dbc -gdbName shoupslc -sid shoupslc -sysPassword 0572dbbb45ee48148350e4ae61f687c4e2c1f90c25cfe6cf29 -systemPassword 05810f7b5950f645b9d3f9e88d25553ea2c14e55feef7058a2 -sysmanPassword 05f9ec96e2d8d2312b8604420f298e111a9d203393dbef67c7 -dbsnmpPassword 0511d330c91a61c67b859c33c9c3738e0f7f451a9254c20f64 -emConfiguration LOCAL -datafileJarLocation E:\oracle\DB10g\assistants\dbca\templates -datafileDestination E:\oracle\oradata -responseFile NO_VALUE -characterset AL32UTF8 -obfuscatedPasswords true -sampleSchema true -recoveryAreaDestination NO_VALUE
3.完成后,重新设置sys和system的密码。
4.执行如下命令:
E:\oracle\DB10g\bin\isqlplusctl.bat start
而我使用如下的方法来彻底解决!建议的方法如下:
1.首先安装10.2.0.4版本,安装包名:10204_vista_w2k8_x64_production_db.zip
2.升级到10.2.0.5版本,安装包名:p8202632_10205_MSWIN-x86-64.zip
3.安装p8350262_10205_Generic.zip补丁
4.使用DBCA创建数据库