我是Oracle的新手,我想练习SQL。
我下载了版本11g x64。我按照指令创建了一个工作区和用户。
然而,当我试图创建一个表时,我会得到一个错误"ORA-20000: User在模式上没有特权。错误检查权限。
但是,当我去查看管理中的用户时,会说我是工作区管理员。我也无法使用我在安装时创建的密码作为系统或SYS登录。
我很困惑。
发布于 2018-10-06 18:36:22
你要处理的有两个术语:
当您安装了11g XE数据库(它内置了Apex版本4.x,我认为它不是Apex 11g,它不存在)时,在操作系统命令提示符下运行SQL*Plus并以SYS的形式连接:
C:\>sqlplus sys@xe as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on Sub Lis 6 20:26:19 2018
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Enter password:
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
SQL> 在数据库中列出用户:
SQL> select username, account_status from dba_users order by username;
USERNAME ACCOUNT_STATUS
------------------------------ --------------------------------
ANONYMOUS OPEN
APEX_PUBLIC_USER LOCKED
APEX_040000 LOCKED
APPQOSSYS EXPIRED & LOCKED
CTXSYS EXPIRED & LOCKED
DBSNMP EXPIRED & LOCKED
DIP EXPIRED & LOCKED
FLOWS_FILES LOCKED
HR LOCKED
IMPORTER OPEN
MDSYS EXPIRED & LOCKED
MIKE OPEN
ORACLE_OCM EXPIRED & LOCKED
OUTLN EXPIRED & LOCKED
SCOTT OPEN
SYS OPEN
SYSTEM OPEN
XDB EXPIRED & LOCKED
XS$NULL EXPIRED & LOCKED
19 rows selected.
SQL>见HR (人力资源)用户?锁上了。我们将解锁它并更改它的密码(改为"hr"),以便您可以在Apex中使用它,因为它已经包含了几个充满数据的表。
SQL> alter user hr account unlock;
User altered.
SQL> alter user hr identified by hr;
User altered.
SQL>以HR的身份进行连接,只为了查看其中包含了什么:
SQL> connect hr/hr@xe
Connected.
SQL> select * From tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
COUNTRIES TABLE
DEPARTMENTS TABLE
DEPT TABLE
EMPLOYEES TABLE
EMP_DETAILS_VIEW VIEW
INSTRUCTOR TABLE
JOBS TABLE
JOB_HISTORY TABLE
LOCATIONS TABLE
PRODUCT TABLE
REGIONS TABLE
RIGHTS TABLE
TEACHES TABLE
USERS TABLE
14 rows selected.
SQL>如果要创建自己的表,请在人力资源架构中进行。就像我说过的,让SYS和SYSTEM单独使用;它们是特殊的,您不会将它们用于日常用途。如果你做了不寻常的事情,你可能会毁了数据库。
好的;现在运行Apex,连接为admin,导航到“管理工作区”,并:
完成之后,将admin和登录作为新创建的用户进行注销--提供工作区名称、用户名和密码--这将允许您进入。一旦您进入Apex -作为开发人员-您可以创建您的第一页(交互式报告可能是一个很好的选择)。
祝好运!
编辑:在11 Apex 上内置的Apex
alter user hr identified by hr)。如果希望查看哪些工作区已经存在,请以SYS的形式连接到数据库(在操作系统命令提示符下使用SQLPlus ):
C:\>sqlplus sys@xe as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on Ned Lis 7 12:40:34 2018
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Enter password:
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
SQL> select * from all_users where username like 'APEX%';
USERNAME USER_ID CREATED
------------------------------ ---------- --------
APEX_040000 47 29.05.14
APEX_PUBLIC_USER 45 29.05.14
SQL> -- describe table that contains info about workspaces
SQL> desc apex_040000.apex_workspaces
Name Null? Type
----------------------------------------- -------- ----------------------------
WORKSPACE NOT NULL VARCHAR2(255)
SOURCE_IDENTIFIER VARCHAR2(8)
SCHEMAS NUMBER
LAST_PURGED_SESSION DATE
ALLOW_APP_BUILDING_YN VARCHAR2(1)
ALLOW_SQL_WORKSHOP_YN VARCHAR2(1)
ALLOW_WEBSHEET_DEV_YN VARCHAR2(1)
ALLOW_TEAM_DEVELOPMENT_YN VARCHAR2(1)
ALLOW_TO_BE_PURGED_YN VARCHAR2(1)
SESSIONS NUMBER
APPLICATIONS NUMBER
APPLICATION_PAGES NUMBER
APEX_USERS NUMBER
APEX_DEVELOPERS NUMBER
APEX_WORKSPACE_ADMINISTRATORS NUMBER
FILES NUMBER
SQL_SCRIPTS NUMBER
TRANSLATION_MESSAGES NUMBER
FILE_STORAGE NUMBER
LAST_LOGGED_PAGE_VIEW DATE
PAGE_VIEWS NUMBER
WORKSPACE_ID NOT NULL NUMBER
SQL> col workspace format a10
SQL> select workspace, source_identifier, apex_developers
2 from apex_040000.apex_workspaces;
WORKSPACE SOURCE_I APEX_DEVELOPERS
---------- -------- ---------------
HR HR 1
INTERNAL 0
SQL>如果HR工作区已经包含,这意味着您已经创建了它。
在web浏览器中,以管理员身份连接(使用地址admin)。(工作区名称为“内部”;您不必输入它)。用户名=管理员,密码=.嗯,不太确定。试试SYS密码。如果你不能连接,你可以更改密码。在磁盘上找到名为APXCHPWD.SQL (“APXCHPWD.SQL”)的文件;例如,它将位于C:\oraclexe\app\oracle\product\11.2.0\server\apex\apxchpwd.sql目录中。在连接为SYS的SQLPlus中,执行该文件:
SQL> show user
USER is "SYS"
SQL> @C:\oraclexe\app\oracle\product\11.2.0\server\apex\apxchpwd.sql
Enter a value below for the password for the Application Express ADMIN user.
Enter a password for the ADMIN user []
Session altered.
...changing password for ADMIN
PL/SQL procedure successfully completed.
Commit complete.
SQL>管理员现在将有您刚刚输入的密码,所以-返回到Apex管理,连接;您将不得不更改密码,所以-做它,并再次连接。
现在您将看到“管理工作区”按钮。在那里,有很多的链接,可以做一些事情。如果需要,可以删除HR工作区(遵循“”链接)并再次创建它。
下一步是创建一个开发人员-使用“管理开发人员和用户”链接。一旦您这样做,您应该能够以开发人员身份登录到Apex,使用"HR“作为工作区名称,使用开发人员用户名和密码作为凭据。
为了能够同时调整Apex作为管理员并作为开发人员进行连接,使用不同的浏览器打开一个新连接(例如,Chrome表示一件事,Internet Explorer用于另一件事情)--如果您使用相同的浏览器(但不同的选项卡,甚至完全不同的浏览器会话),它将无法工作--新连接将终止先前的连接。
我希望以上这些都能让你开始工作。
显然,内置的Apex版本是4.0.2 (相当旧的版本,至少5-6年),但在一开始就可以了。升级到更新的版本并不困难--下载并运行SQL文件,为您完成一切。只需遵循安装指南。
我还建议您阅读并遵循4.0 Apex用户指南,这样我就不必在Stack Overflow上创建教程了:)
https://stackoverflow.com/questions/52682031
复制相似问题