Tworzenie bazy SAMPLE w Oracle 12

Tworzenie bazy SAMPLE w bazie danych Oracle 12.0.1 jest dość łatwe do wykonania. Można utworzyć schematy pojedynczo zgodnie z informacją ze strony https://docs.oracle.com/database/121/COMSC/installation.htm#COMSC001
Lepiej jest jednak utworzyć je jednym poleceniem.

Po utworzeniu instancji i sprawdzeniu że baza działa kopiujemy na serwer paczkę instalacyjną Oracla EXAMPLES (linuxamd64_12102_examples.zip)

Logujemy się do serwer i rozpakowujemy paczkę

unzip linuxamd64_12102_examples.zip

Następnie uruchamiamy program runINstaller znajdujący się w rozpakowanym folderze EXAMPLES.





W wyniku instalacji w folderze $ORACLE_HOME/demo/schema czyli /home/oracle/app/oracle/product/12.1.0/dbhome_1/demo/schema pojawią się skrypty pozwalające na instalację przykładowych tabel. Do tego służy skrypt MKSAMPLE.SQL

Przed instalacją znajduja się tam pliki ale nie wszytskie 🙁

[oracle@localhost schema]$ ls

bus_intelligence  human_resources  mk_dir.sql         mk_dir.sql.sbs  order_entry    sted_mkplug.sql.dbl
drop_sch.sql      log              mk_dir.sql.ouibak  mkplug.sql      sales_history

Po instalacji jest już ich znacznie więcej:

[oracle@localhost schema]$ ls

bus_intelligence  info_exchange  mk_dir.sql.ouibak    mksample.sql      mkverify.sql   README.txt     sted_mkplug.sql.dbl
drop_sch.sql      log            mk_dir.sql.ouibak.1  mksample.sql.sbs  order_entry    sales_history
human_resources   mk_dir.sql     mkplug.sql           mkunplug.sql      product_media  shipping

W pliku READ.ME znajdują się informacje na temat skryptów i parametrów jakie trzeba wcześniej ustawić czyli
default tablespace: EXAMPLE
temporary tablespace: TEMP
log file directory: $ORACLE_HOME/demo/schema/log

Składnia skryptu MKSAMPLE.SQL do tworzenia schematów testowych :

SQL> @?/demo/schema/mksample [SYSTEM_password] [SYS_password]
[HR_password] [OE_password] [PM_password] [IX_password]
[SH_password] [BI_password] EXAMPLE TEMP
$ORACLE_HOME/demo/schema/log/

Czyli przykładowo:
SQL> @mksample.sql oracle oracle oracle oracle oracle oracle oracle oracle EXAMPLE TEMP $ORACLE_HOME/demo/schema/log/

Następuje dość długi proces tworzenia schematów. Po ich zakończeniu mamy gotowe tabele zapełnione danymi.
Zostaną założone schematy:
– HR human_resources (skrypt do tworznia schematu hr_main.sql oraz hr_drop.sql do usuwania obiektów bez usuwania usera HR).
– OE order_entry (skrypt do tworznia schematu oe_main.sql oraz oe_drop.sql do usuwania obiektów bez usuwania usera OE).
– PM product_media (skrypt do tworznia schematu pm_main.sql oraz pm_drop.sql do usuwania obiektów bez usuwania usera PM).
– IX info_exchange (skrypt do tworznia schematu ix_main.sql oraz dix_v3.sql do usuwania obiektów bez usuwania usera IX).
– SH sales_history (skrypt do tworznia schematu sh_main.sql oraz sh_drop.sql do usuwania obiektów bez usuwania usera SH)
– BI bus_intelligence (skrypt bi_main.sql do tworzenie usera BI oraz nadania uprawnień SELECT dla obiektów schamtu OE i SH).

Wszelkie logi z instalacji znajdują się w podanym folderze
$ORACLE_HOME/demo/schema/log/
Podsumowanie znajduję się m.in. w pliku mkverify_v3.log

Możemy sprawdzić utworzone obiekty zapytaniem wpisując odpowiednia nazwę schematu:

SQL> col object_name format a30
SQL> select object_name, object_type, owner from dba_objects where owner like 'HR';

OBJECT_NAME                    OBJECT_TYPE             OWNER
------------------------------ ----------------------- ---------------
REGIONS                        TABLE                   HR
REG_ID_PK                      INDEX                   HR
COUNTRIES                      TABLE                   HR
COUNTRY_C_ID_PK                INDEX                   HR
LOCATIONS                      TABLE                   HR
. . .
LOC_COUNTRY_IX                 INDEX                   HR
SECURE_DML                     PROCEDURE               HR
SECURE_EMPLOYEES               TRIGGER                 HR
ADD_JOB_HISTORY                PROCEDURE               HR
UPDATE_JOB_HISTORY             TRIGGER                 HR

34 rows selected.

Lub sprawdzić tabelę utworzonego schematu np HR

SQL> select * from hr.employees;

EMPLOYEE_ID FIRST_NAME           LAST_NAME                 EMAIL                     PHONE_NUMBER         HIRE_DATE JOB_ID         SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID
----------- -------------------- ------------------------- ------------------------- -------------------- --------- ---------- ---------- -------------- ---------- -------------
        100 Steven               King                      SKING                     515.123.4567         17-JUN-03 AD_PRES         24000                   90
        101 Neena                Kochhar                   NKOCHHAR                  515.123.4568         21-SEP-05 AD_VP           17000            100             90
        102 Lex                  De Haan                   LDEHAAN                   515.123.4569         13-JAN-01 AD_VP           17000            100             90
        103 Alexander            Hunold                    AHUNOLD                   590.423.4567         03-JAN-06 IT_PROG          9000            102             60
. . .
        202 Pat                  Fay                       PFAY                      603.123.6666         17-AUG-05 MK_REP           6000            201             20
        203 Susan                Mavris                    SMAVRIS                   515.123.7777         07-JUN-02 HR_REP           6500            101             40
        204 Hermann              Baer                      HBAER                     515.123.8888         07-JUN-02 PR_REP          10000            101             70
        205 Shelley              Higgins                   SHIGGINS                  515.123.8080         07-JUN-02 AC_MGR          12008            101            110
        206 William              Gietz                     WGIETZ                    515.123.8181         07-JUN-02 AC_ACCOUNT       8300            205            110

107 rows selected.

Ten wpis został opublikowany w kategorii Oracle i oznaczony tagami . Dodaj zakładkę do bezpośredniego odnośnika.

Dodaj komentarz