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 是使用 IPCBEQ 的 OS 身份验证。

对于不起作用的连接:

  1. DBCA 使用 查看listener.ora中的CDB ROOT连接条目,大部分会像inst1_local
  2. 对于 SYS 用户,我们需要提供它应该连接的容器,因此我们需要提供指向 CDB ROOT 的监听器入口。在您的情况下,可能 sys@inst1_local 将是用户名

我分两步解决了这个问题。

  1. 在我的第一次安装过程中,我使用了一个现有的 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.

  2. 之后我发现如果在作为域控制器的 windows 服务器上安装 Oracle 12c 可能会发生 oradim 错误(情况就是这样,我使用的是 Windows Server 2012 R2 域控制器)。请参考以下链接:

然后我在 Windows 7 上安装了 Oracle 12c,所有问题都解决了。