ORA-01017: 无效 username/password; Oracle 12c "Database Configuration Assistant" 工具抛出登录被拒绝
ORA-01017: invalid username/password; logon denied is thrown by the Oracle 12c "Database Configuration Assistant" tool
我在尝试使用 Oracle 12c 在容器数据库中创建可插拔数据库时遇到 "invalid username/password" 错误。当 "Database Configuration Assistant" 尝试加载容器数据库 ORCL 的信息时发生错误。请在下面找到错误的屏幕截图:
dbcaError
您可以注意到字段 "Username" 和 "Password" 是灰色的。我可以使用 sqlplus(sqlplus / as sysdba)访问 OCRL 数据库。
我可以在日志文件 C:\oracle12c\userName\cfgtoollogs\dbca\dbcaui.log
中看到以下异常
---#开始堆栈跟踪#----------------------------
编号:oracle.install.commons.util.exception.DefaultErrorAdvisor:1824
oracle.sysman.assistants.util.sqlEngine.SQLFatalErrorException: ORA-01017: 无效 username/password;登录被拒绝
at oracle.sysman.assistants.util.sqlEngine.SQLEngine.executeImpl(SQLEngine.java:1739)
at oracle.sysman.assistants.util.sqlEngine.SQLEngine.connect(SQLEngine.java:987)
at oracle.sysman.assistants.util.PluggableDatabaseUtils.isCDB(PluggableDatabaseUtils.java:278)
at oracle.sysman.assistants.dbca.wizard.view.DatabaseListPage.doValidate(DatabaseListPage.java:911)
at oracle.sysman.assistants.util.wizard.WizardPanel.validate(WizardPanel.java:269)
at oracle.install.commons.flow.validation.ValidationHelper.validateView(ValidationHelper.java:168)
at oracle.install.commons.flow.AbstractFlowExecutor.validate(AbstractFlowExecutor.java:391)
at oracle.install.commons.flow.AbstractFlowExecutor.leaveVertex(AbstractFlowExecutor.java:644)
at oracle.install.commons.flow.AbstractFlowExecutor.transition(AbstractFlowExecutor.java:336)
at oracle.install.commons.flow.AbstractFlowExecutor.nextState(AbstractFlowExecutor.java:276)
at oracle.install.commons.flow.AbstractFlowExecutor.nextViewState(AbstractFlowExecutor.java:235)
at oracle.install.commons.flow.DefaultFlowNavigator.goForward(DefaultFlowNavigator.java:58)
at oracle.install.commons.flow.jewt.FlowWizard.run(FlowWizard.java:137)
at oracle.install.commons.flow.jewt.FlowWizard$TransitionManager.run(FlowWizard.java:113)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:682)
知道如何解决这个问题吗?
谢谢。
更新
这是我tnsnames.ora的内容
C:\oracle12c\icirillo\product.1.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
# tnsnames.ora Network Configuration File: C:\oracle12c\icirillo\product.1.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.ivano.mydomain.net)
#(SERVICE_NAME = ORCL)
)
)
更新 2
我想通了另一件事。如果在 DBCA 中我 select "Delete database" (而不是 "Manage Pluggable Database-->create Pluggable database") 当我到达数据库列表表单(上图中的那个)然后单击下一步时,我不会遇到同样的问题,我可以毫无问题地导航到下一个表单(没有显示错误消息)。
更新 3
查看安装日志时,我注意到磁盘 space 有问题。也许这可能破坏了某些东西。我会尝试重新安装。
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 05/18/2017 17:38:43
ORA-19870: error while restoring backup piece C:\ORACLE12C\ICIRILLO\PRODUCT.1.0\DBHOME_1\ASSISTANTS\DBCA\TEMPLATES\SAMPLESCHEMA.DFB
ORA-19504: failed to create file "C:\ORACLE12C\ICIRILLO\ORADATA\ORCL\PDBORCL\EXAMPLE01.DBF"
ORA-27044: unable to write the header block of file
OSD-04008: WriteFile() failure, unable to write to file
O/S-Error: (OS 112) There is not enough space on the disk.
RMAN>
echo set on
[Thread-7] [ 2017-05-18 17:38:45.110 CEST ] [RmanFileRestorer.restoreFiles:222] reset _catalog_foreign_restore
[Thread-7] [ 2017-05-18 17:38:45.220 CEST ] [PlugDatabaseStep.executeImpl:240] ERROR :oracle.sysman.assistants.dbca.backend.storage.FileRestoreException: Error while restoring PDB backup piece
[Thread-7] [ 2017-05-18 17:38:45.220 CEST ] [BasicStep.configureSettings:353] messageHandler being set=oracle.sysman.assistants.util.InteractiveMessageHandler@2f26f304
[Thread-7] [ 2017-05-18 17:38:45.220 CEST ] [CreatePDBAfterCDBCreationStep.executeImpl:376] Error while restoring PDB backup piece
[Thread-7] [ 2017-05-18 17:38:45.220 CEST ] [CreatePDBAfterCDBCreationStep.executeImpl:377] Pluggable Database pdborcl creation failed
对于有效的连接:sqlplus / as sysdba
是使用 IPC
或 BEQ
的 OS 身份验证。
对于不起作用的连接:
- DBCA 使用
查看
listener.ora
中的CDB ROOT连接条目,大部分会像inst1_local
- 对于 SYS 用户,我们需要提供它应该连接的容器,因此我们需要提供指向 CDB ROOT 的监听器入口。在您的情况下,可能
sys@inst1_local
将是用户名
我分两步解决了这个问题。
在我的第一次安装过程中,我使用了一个现有的 Windows 帐户,该帐户属于 Administrators 组,根据 Oracle 文档,这可能会导致一些问题,所以我决定创建一个Oracle 安装期间的新专用 Oracle 帐户。当我这样做时,我在安装程序启动 oradim 时遇到了一个不同的问题:error in process:...\bin\oradim.exe. Enter password for Oracle service user: DIM-00019: create service error. O/S-Error: (OS 87) The parameter is incorrect.
之后我发现如果在作为域控制器的 windows 服务器上安装 Oracle 12c 可能会发生 oradim 错误(情况就是这样,我使用的是 Windows Server 2012 R2 域控制器)。请参考以下链接:
然后我在 Windows 7 上安装了 Oracle 12c,所有问题都解决了。
我在尝试使用 Oracle 12c 在容器数据库中创建可插拔数据库时遇到 "invalid username/password" 错误。当 "Database Configuration Assistant" 尝试加载容器数据库 ORCL 的信息时发生错误。请在下面找到错误的屏幕截图:
dbcaError
您可以注意到字段 "Username" 和 "Password" 是灰色的。我可以使用 sqlplus(sqlplus / as sysdba)访问 OCRL 数据库。
我可以在日志文件 C:\oracle12c\userName\cfgtoollogs\dbca\dbcaui.log
中看到以下异常---#开始堆栈跟踪#---------------------------- 编号:oracle.install.commons.util.exception.DefaultErrorAdvisor:1824 oracle.sysman.assistants.util.sqlEngine.SQLFatalErrorException: ORA-01017: 无效 username/password;登录被拒绝
at oracle.sysman.assistants.util.sqlEngine.SQLEngine.executeImpl(SQLEngine.java:1739)
at oracle.sysman.assistants.util.sqlEngine.SQLEngine.connect(SQLEngine.java:987)
at oracle.sysman.assistants.util.PluggableDatabaseUtils.isCDB(PluggableDatabaseUtils.java:278)
at oracle.sysman.assistants.dbca.wizard.view.DatabaseListPage.doValidate(DatabaseListPage.java:911)
at oracle.sysman.assistants.util.wizard.WizardPanel.validate(WizardPanel.java:269)
at oracle.install.commons.flow.validation.ValidationHelper.validateView(ValidationHelper.java:168)
at oracle.install.commons.flow.AbstractFlowExecutor.validate(AbstractFlowExecutor.java:391)
at oracle.install.commons.flow.AbstractFlowExecutor.leaveVertex(AbstractFlowExecutor.java:644)
at oracle.install.commons.flow.AbstractFlowExecutor.transition(AbstractFlowExecutor.java:336)
at oracle.install.commons.flow.AbstractFlowExecutor.nextState(AbstractFlowExecutor.java:276)
at oracle.install.commons.flow.AbstractFlowExecutor.nextViewState(AbstractFlowExecutor.java:235)
at oracle.install.commons.flow.DefaultFlowNavigator.goForward(DefaultFlowNavigator.java:58)
at oracle.install.commons.flow.jewt.FlowWizard.run(FlowWizard.java:137)
at oracle.install.commons.flow.jewt.FlowWizard$TransitionManager.run(FlowWizard.java:113)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:682)
知道如何解决这个问题吗?
谢谢。
更新
这是我tnsnames.ora的内容 C:\oracle12c\icirillo\product.1.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
# tnsnames.ora Network Configuration File: C:\oracle12c\icirillo\product.1.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.ivano.mydomain.net)
#(SERVICE_NAME = ORCL)
)
)
更新 2
我想通了另一件事。如果在 DBCA 中我 select "Delete database" (而不是 "Manage Pluggable Database-->create Pluggable database") 当我到达数据库列表表单(上图中的那个)然后单击下一步时,我不会遇到同样的问题,我可以毫无问题地导航到下一个表单(没有显示错误消息)。
更新 3 查看安装日志时,我注意到磁盘 space 有问题。也许这可能破坏了某些东西。我会尝试重新安装。
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 05/18/2017 17:38:43
ORA-19870: error while restoring backup piece C:\ORACLE12C\ICIRILLO\PRODUCT.1.0\DBHOME_1\ASSISTANTS\DBCA\TEMPLATES\SAMPLESCHEMA.DFB
ORA-19504: failed to create file "C:\ORACLE12C\ICIRILLO\ORADATA\ORCL\PDBORCL\EXAMPLE01.DBF"
ORA-27044: unable to write the header block of file
OSD-04008: WriteFile() failure, unable to write to file
O/S-Error: (OS 112) There is not enough space on the disk.
RMAN>
echo set on
[Thread-7] [ 2017-05-18 17:38:45.110 CEST ] [RmanFileRestorer.restoreFiles:222] reset _catalog_foreign_restore
[Thread-7] [ 2017-05-18 17:38:45.220 CEST ] [PlugDatabaseStep.executeImpl:240] ERROR :oracle.sysman.assistants.dbca.backend.storage.FileRestoreException: Error while restoring PDB backup piece
[Thread-7] [ 2017-05-18 17:38:45.220 CEST ] [BasicStep.configureSettings:353] messageHandler being set=oracle.sysman.assistants.util.InteractiveMessageHandler@2f26f304
[Thread-7] [ 2017-05-18 17:38:45.220 CEST ] [CreatePDBAfterCDBCreationStep.executeImpl:376] Error while restoring PDB backup piece
[Thread-7] [ 2017-05-18 17:38:45.220 CEST ] [CreatePDBAfterCDBCreationStep.executeImpl:377] Pluggable Database pdborcl creation failed
对于有效的连接:sqlplus / as sysdba
是使用 IPC
或 BEQ
的 OS 身份验证。
对于不起作用的连接:
- DBCA 使用
查看
listener.ora
中的CDB ROOT连接条目,大部分会像inst1_local
- 对于 SYS 用户,我们需要提供它应该连接的容器,因此我们需要提供指向 CDB ROOT 的监听器入口。在您的情况下,可能
sys@inst1_local
将是用户名
我分两步解决了这个问题。
在我的第一次安装过程中,我使用了一个现有的 Windows 帐户,该帐户属于 Administrators 组,根据 Oracle 文档,这可能会导致一些问题,所以我决定创建一个Oracle 安装期间的新专用 Oracle 帐户。当我这样做时,我在安装程序启动 oradim 时遇到了一个不同的问题:
error in process:...\bin\oradim.exe. Enter password for Oracle service user: DIM-00019: create service error. O/S-Error: (OS 87) The parameter is incorrect.
之后我发现如果在作为域控制器的 windows 服务器上安装 Oracle 12c 可能会发生 oradim 错误(情况就是这样,我使用的是 Windows Server 2012 R2 域控制器)。请参考以下链接:
然后我在 Windows 7 上安装了 Oracle 12c,所有问题都解决了。