2015-08-13 59 views
3

所以我在Oracle数据库配置中创建了用户w3038519,因为我正在安装Oracle,但它不允许我使用它登录。Oracle只能以sysdba身份登录/无法用已配置的用户登录?

C:\Users\Chris>sqlplus w13038519/mypass 

SQL*Plus: Release 12.1.0.1.0 Production on Fri Aug 14 00:26:16 2015 

Copyright (c) 1982, 2013, Oracle. All rights reserved. 

ERROR: 
ORA-01017: invalid username/password; logon denied 

该账号可以锁定吗?有什么办法可以解锁它或创建另一个用户?以下不工作

sqlplus w13038519/mypass as sysdba 
sqlplus osauthentication/anyuserpass as sysdba 

SQL> create user chris 
    2 identified by chrispass 
    3 ; 
create user chris 
      * 
ERROR at line 1: 
ORA-65096: invalid common user or role name 

SQL> create user C##chris 
    2 identified by chrispass 
    3 ; 
create user C##chris 
* 
ERROR at line 1: 
ORA-65048: error encountered when processing the current DDL statement in 
pluggable database PDBORCL 
ORA-01031: insufficient privileges 

我不能做任何事情,我需要使用SYSDBA,因为你无法创建登录SYSDBA

我看了一些教程和人只安装SYSDBA作为我的触发器已经完成,现在不能使用触发器。

我讨厌甲骨文这么多。它是如此迟钝以至于使用最非理想的平台有

+0

如果它被锁定,它会告诉你这样的登录尝试。尝试查询'dba_users'并查找创建的用户名及其account_status。当你以sysdba身份登录时,你是否尝试创建C## chris? – stee1rat

回答

1

您已经创建了一个容器数据库而不是传统的平台。在这种情况下,当您使用/ as sysdba时,您连接到根容器,在该容器中无法创建管理员用户,只有普通用户(从c##开始),因此您的用户w13038519不能存在于根容器中。运行以下查询:

select con_id from cdb_users where username = 'W13038519'; 

    CON_ID 
---------- 
     3 

这应该返回创建用户的容器数据库。如果你没有结果,你的用户不存在。为了找到容器的名称:

SQL> select name from v$pdbs where con_id = 3; 

NAME 
------------------------------ 
PDB1 

如果你有一个TNS条目指向该容器的数据库,你可以连接:

sqlplus w13038519/[email protected]

如果您不需要多租户Architechture专,您将通过创建传统数据库为自己节省很多麻烦。

+0

不确定是否可以节省麻烦,但只需要学习一件事......直到这是Oracle数据库中的默认和唯一架构 – thatjeffsmith

0

创建用户C## TESTDB由TESTDB标识container = all; ORA-65048:在 可插拔数据库PDBORCL ORA-01031处理当前DDL语句时遇到错误:权限不足

在我的情况下,该工作

ALTER会议设置 “_oracle_script”=真

;

创建由TESTDB标识的用户C## TESTDB; 用户创建;