Oracle Application Express 11g - PullRequest
       10

Oracle Application Express 11g

0 голосов
/ 06 октября 2018

Я новичок в Oracle и хочу практиковать SQL.

Я скачал Application Express Edition 11g для Windows x64.Я следовал инструкциям и создал рабочее пространство и пользователя.

Однако, когда я пытаюсь создать таблицу, я получаю сообщение об ошибке "ORA-20000: у пользователя xxx нет привилегий на схеме. Ошибка при проверке привилегий.

Однако, когда я иду и смотрю наПользователь в администрации говорит, что я администратор рабочей области. Я также не могу войти в систему как SYSTEM или SYS, используя пароль, который я создал при установке.

Я очень смущен.

1 Ответ

0 голосов
/ 06 октября 2018

Есть два термина, с которыми вы имеете дело:

  • база данных, которая содержит таблицы и данные - таблицы принадлежат таким пользователям, как SYS или SYSTEM - вы не должны их использовать вообще, кромеразблокирование существующего пользователя (HR или SCOTT; какой бы он ни был), чтобы использовать его для отработки
  • Application Express, который является инструментом, который вы используете для доступа к базе данных и создания приложений, которые будут управлять данными, хранящимися в ваших таблицах.Как только вы войдете в систему как администратор, вы сможете создавать рабочие пространства (которые сопоставляются с пользователями / схемами базы данных) и разработчики (которые будут создавать приложения).Этот пользователь с правами администратора сильно отличается от владельцев базы данных (sys / system), поэтому вы не можете войти в Apex, используя sys в качестве имени пользователя и пароль

Когда вы установили базу данных XE 11g (который имеет встроенную версию 4.x Apex, я думаю - это не 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>

Если вы хотите создать свои собственные таблицы, сделайте это в схеме HR.Как я уже сказал, оставьте SYS и SYSTEM в покое;они особенные, вы не используете их в повседневных целях.Если вы делаете что-то необычное , вы можете уничтожить базу данных.

OK;Теперь запустите Apex, подключитесь как администратор, перейдите в «Управление рабочими пространствами» и:

  • создайте рабочее пространство - следуйте указаниям мастера.На вопрос «повторно использовать существующую схему» ответьте «Да» и выберите HR из списка значений
  • Управление разработчиками и пользователями - создание пользователя.Следуй за волшебником.В качестве рабочей области выберите ранее созданную рабочую область, установите пароль

После того, как вы закончите, выйдите из системы admin и войдите в систему как вновь созданный пользователь - укажите имя рабочей области, имя пользователя и пароль - что должно позволить вам войтиКогда вы в Apex - как разработчик - вы можете создать свою первую страницу (интерактивный отчет может быть хорошим выбором).

Удачи!

[РЕДАКТИРОВАТЬ:встроенный Apex в 11gXE]

  • нажмите Пуск - Все программы - База данных Oracle 11g Express Edition - Начало работы
  • откроется страница с несколькими красными кнопками;последний из них - «Приложение Экспресс»;щелкните по нему
  • при входе в систему запрашивается пользователь базы данных с привилегиями администратора БД;введите имя пользователя = SYS (или SYSTEM) и его пароль
  • , и вы будете перенаправлены на страницу «Создание рабочего пространства Apex».Ярлыки предметов подчеркнуты;это означает, что они содержат help (не стесняйтесь нажимать).Первый пункт - это переключатель «Пользователь базы данных», который предлагает «Создать новый» и «Использовать существующий» - вы бы выбрали «Использовать существующий»
  • для «Имя пользователя базы данных», выберите «HR» из списка выбора.HR сейчас разблокирован, верно?Если срок его действия истек, убедитесь, что вы изменили его, чтобы установить пароль (alter user hr identified by hr)
  • Имя пользователя (и пароль) Application Express представляет имя пользователя, связанное с Apex (т. Е. Не пользователь базы данных) - выиспользуйте его для входа в Apex

Если вы хотите увидеть, какие рабочие пространства уже существуют, подключитесь к базе данных как 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 уже содержит, это означает, что вы его уже создали.

В веб-браузере подключитесь как администратор (используйте адрес http://127.0.0.1:8080/apex/apex_admin). (имя рабочей области «внутреннее»; вам не нужно его вводить). Имя пользователя = admin, пароль = ... huh, не уверен. Попробуйте пароль SYS. Если вы не можете подключиться, вы можете изменить этот пароль. Найдите файл с именем APXCHPWD.SQL («Apex change password») на вашем диске, например, он будет в C: \ oraclexe\ app \ oracle \ product \ 11.2.0 \ server \ apex \ apxchpwd.sql. В SQLPlus, подключенном как SYS, выполните этот файл:

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, подключитесь;вам придется сменить этот пароль, сделайте это и подключитесь снова.

Теперь вы увидите кнопку «Управление рабочими пространствами».Там есть множество ссылок, которые делают stuff .При желании вы можете удалить рабочее пространство HR (перейдя по ссылке «Удалить рабочее пространство») и снова создать его.

Следующим шагом является создание разработчика - используйте ссылку «Управление разработчиками и пользователями».Как только вы это сделаете, вы сможете войти в Apex как разработчик, используя «HR» в качестве имени рабочего пространства, имя пользователя и пароль разработчика в качестве учетных данных.

Для того, чтобы иметь возможность одновременно настроить Apex как admin и подключитесь как разработчик, откройте новое подключение с помощью другого браузера (например, Chrome для одного, Internet Explorer для другого) - если вы используете один и тот же браузер (но разные вкладкиили даже новый сеанс браузера полностью), он не будет работать - новое соединение прекратит предыдущее.

Я надеюсь, что приведенное выше поможет вам начать.

Судя по всему, встроенная версия Apex - 4.0.2 (довольно старая, минимум 5-6 лет), но подойдет в самом начале.Обновление до более поздней версии не сложно - загрузите его и запустите файл SQL, который сделает все за вас.Просто следуйте Руководству по установке.

Я бы также предложил вам прочитать и следовать Руководству пользователя Apex 4.0, чтобы мне не пришлось создавать здесь учебник по переполнению стека:)

...