Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Dlaczego nie mogę tworzyć wyzwalaczy na obiektach należących do SYS?

Nie powinieneś tworzyć żadnych obiekty w schemacie SYS. Ten użytkownik jest częścią systemu zarządzania bazą danych Oracle, a zmiana jego schematu może spowodować uszkodzenie bazy danych. Z pewnością może to unieważnić Twoją umowę o asystę techniczną Oracle (jeśli ją posiadasz). Z dokumentacji:

„Konto administracyjne SYS jest tworzone automatycznie podczas tworzenia bazy danych. To konto może wykonywać wszystkie funkcje administracyjne bazy danych. Schemat SYS przechowuje tabele podstawowe i widoki słownika danych. Te tabele podstawowe i widoki są krytyczne dla działania bazy danych Oracle. Tabele w Schematy SYS są manipulowane wyłącznie przez bazę danych i nigdy nie mogą być modyfikowane przez żadnego użytkownika."

Och, jeśli się zastanawiasz, to samo dotyczy SYSTEMU.

Wyzwalacze są szczególnie podatne na nadużycia i są głównym źródłem problemów ze skalowaniem. Dlatego Oracle zabrania nam budowania wyzwalaczy w SYS, ponieważ może to uszkodzić lub przynajmniej wpłynąć na wydajność słownika danych.

Oczywiście nie o to tutaj chodzi. Zbudowałeś własne tabele w SYS. Dobrze je upuść. Teraz. Użyj SYS, aby utworzyć własnego użytkownika, GHAZAL lub inną nazwę, która Ci odpowiada, i nadaj mu wymagane uprawnienia:CREATE SESSION, CREATE TABLE, CREATE TRIGGER i tak dalej. Następnie połącz się jako nowy użytkownik, aby utworzyć tabele i inne obiekty schematu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Widoki zmaterializowane — Identyfikacja ostatniego odświeżenia

  2. Czy ktoś mógłby wyjaśnić, co tak naprawdę robi instrukcja MERGE w Oracle?

  3. lista oddzielona przecinkami w wyniku instrukcji select w Oracle

  4. Przyznanie praw do procedury składowanej innemu użytkownikowi Oracle

  5. Archiwizator zawieszony ze względu na KOMPATYBILNY ORA-16484