Oracle dla mysql'owca

0

Cześć,
całe życie jadę na mysql'u i proces dodawania bazy danych jest tam bardzo prosty CREATE DATABASE mydatabase i tyle(o ile mamy uprawnienia). Chciałbym do celów testowych postawić pustą bazę na oracle'u. Używam Oracle Database 11g Express Edition, po jej zainstalowaniu i zalogowaniu się za pomocą SqlDevelopera mam już 112 tabel, które nie wiem do czego służą (prefixy MD_*, SS2K5_*, STAGE_*, SYB12_*). Przy pomocy google'a odnalazłem taki link - http://cezarywalenciuk.pl/blog/programing/post/oracle-tworzenie-baz-danych ale po przejściu całej procedury i faktycznym utworzeniu innej bazy nadal siedzą w niej te tabele. W obu przypadkach oprócz tabel widoczny jest też szereg perpsektyw (views), indeksów, triggerów itp itd. Poniżej mam w związku z tym kilka pytań

  1. W jaki celu tworzone są ww. tabele/trigger itp itd?
  2. Czy mogę utworzyć bazę bez tych tabel
  3. Czy ktoś mógłby mi wyjaśnić główne różnice pomiędzy procesem tworzenia nowych baz danych i czy na oracle'u faktycznie trzeba tworzyć w systemie oddzielne instancje/usługi, aby dodać nową bazę? (tak jak jest to opisane w ww. linku)
  4. Jeśli nie można pominąć faktu istnienia tych tabel - to jak mogę zabezpieczyć użytkownika przed ich usunięcem? Po ich skasowaniu, nie mogłem potem przeglądać tabel (błędu jai pojawiał się nie pamiętam)
  5. Jeśli owe tabele są niezbędne do "życia" Oracle'a - to czy mogę je jakoś ukryć przed zwykłym użytkownikiem?

Moim celem jest utworzenie pustej bazy, następnie około 10 tabel i sprawdzenie jak w takim przypadku radzi sobie Doctrine 2.x i Symfony3. Na mysql'u praca z doctrinem jest bardzo przyjemna, bo jest mi w stanie wygenerować proste encje, a tutaj podejrzewam że musiałbym to dodatkowo filtrować - chcę tego uniknąć.

Baza jest postawiona na systemie Win10.

2

w oracle nie tworzy się nowej bazy w takim rozumieniu jak np. w mysqlu (tu oracle jest "inny"). W oracle tworzy się usera i to on ma swoje przestrzenie tabel w obrębie których się poruszasz. Co do istniejących tabel/triggerów/procedur/... to zapewne zalogowałeś się na usera sys lub hr/scoot. Ten pierwszy to superuer systemowy, który ma swoje narzędzia min. do zarządzania bazą, tych dwóch pozostałych to przykładowi userzy z przykładowymi danymi.

Co do założenia usera to:

create user nazwa_usera identified by haslo default tablespace domyslny_tablespace temporary tablespace domyslny_tymczasowy_tablespace;

domyslny_tablespace i domyslny_tymczasowy_tablespace sprawdzisz tak

select * from database_properties where property_name like 'DEFAULT%TABLESPACE';

domyślnie jest USERS i TEMP

po dodaniu usera trzeba mu nadać uprawnienia

grant connect, imp_full_database to nazwa_usera;

oraz dostęp do przestrzeni tabel:

alter user nazwa_usera  quota unlimited on domyslny_tablespace;

Teraz po zalogowaniu się jako nazwa_usera haslo będziesz miał "nową czystą" bazę na której możesz robić co chcesz

1 użytkowników online, w tym zalogowanych: 0, gości: 1