2014-10-27 62 views
3

我已经安装了Oracle 12c,并且在创建我的第一个数据库并使用它时遇到问题。 我运行SQL Developer并使用“hr”用户,但它一直告诉我该帐户被锁定。我搜索到stackoverflow答案和官方文件,并试图解开它:Oracle Database12c ORA 01918和连接错误

ALTER USER HR IDENTIFIED BY password ACCOUNT UNLOCK; 

但没有成功。我得到错误ORA01918,这意味着用户不存在。

我试过然后使用安装时创建的用户(SYS作为SYSDBA),但它说用户/密码不正确。我很确定我的系统上安装了Oracle 12c,它是Windows 8.1 x64。

我该怎么办?请帮帮我。

我不明白的其他事情是不是“数据库”这个术语等同于MySQL的“Schema”? “连接”是连接到特定的数据库,是吗? 谢谢。

+1

你在容器数据库或可插拔数据库中运行这个吗?确切地说,你如何连接HR并尝试解锁该账户? – 2014-10-27 16:12:40

回答

5

你是如何配置数据库的?您是否检查了Pluggable database的选项?如果是,请确保您登录到PDB而不是CDB

请阅读Oracle 12c Post Installation Mandatory Steps

默认情况下,pre-installed用户喜欢SCOTTHR等驻留在container database而不是pluggable database

的tnsnames.ora

编辑tnsnames.ora文件添加PDB细节。例如,

PDBORCL = 
    (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) 
    (CONNECT_DATA = 
     (SERVER = DEDICATED) 
     (SERVICE_NAME = pdborcl) 
    ) 
) 

打开所有PDBS

登录后立即打开所有/特定PDBS,创建一个CDB 开机后系统级触发器。

因为PDB没有通过CDB开始打开。让我们来看看:

SHUTDOWN IMMEDIATE; 
STARTUP; 

SQL> SELECT name, open_mode FROM v$pdbs; 

NAME       OPEN_MODE 
------------------------------ ---------- 
PDB$SEED      READ ONLY 
PDBP6       MOUNTED 

所以,为了让所有的PDBS自动开启,这样做:

做“SQLPLUS/AS SYSDBA”,然后执行:

CREATE OR REPLACE TRIGGER open_pdbs 
    AFTER STARTUP ON DATABASE 
BEGIN 
    EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN'; 
END open_pdbs; 
/

它创建CDB启动后的系统级触发器。

SQLPLUS/AS SYSDBA

最常见的误解是关于“SQLPLUS/AS SYSDBA”的用法。

由于我们检查了创建单个CDB的选项,因此“SQLPLUS/AS SYSDBA”命令将始终登录到CDB。通常,开发人员用于在以SYSDBA身份登录后直接解锁“SCOTT”帐户。但这里有一个诀窍:

“SCOTT”和其他示例模式位于PDB中,而不位于CDB中。因此,您需要以sysdba身份登录到PDB。

sqlplus SYS/[email protected] AS SYSDBA 

SQL> ALTER USER scott ACCOUNT UNLOCK IDENTIFIED BY tiger; 

sqlplus scott/[email protected] 

SQL> show user; 
USER is "SCOTT" 
+0

我想我正在运行可插拔数据库。我不知道如何验证这一点。我会阅读你的教程。我希望在一两天内能够回答一个答案。谢谢大家的反馈 – user3389442 2014-10-27 16:34:20

+0

当然,按照我在文章中提到的步骤操作。让我知道如果你有任何问题:-) – 2014-10-27 16:37:13

+0

我遵循你的文章的步骤,最后,它的作品!谢谢。我也有一个问题(对于脱离主题感到抱歉):虽然在启动时未启用,但Oracle服务正在消耗大量内存(我的计算机停留在大约2GB RAM)。只有在需求时才有可能启动它们吗? – user3389442 2014-10-31 18:48:35