sql >> Databáze >  >> RDS >> Oracle

Proč nemohu vytvořit spouštěče na objektech vlastněných SYS?

Neměli byste vytvářet žádné objektů ve schématu SYS. Tento uživatel je součástí systému správy databází Oracle a změna jeho schématu pravděpodobně naruší vaši databázi. Určitě by to mohlo zneplatnit vaši smlouvu o podpoře Oracle (pokud ji máte). Z dokumentace:

"Administrátorský účet SYS se automaticky vytvoří při vytvoření databáze. Tento účet může provádět všechny funkce správy databáze. Schéma SYS ukládá základní tabulky a pohledy pro datový slovník. Tyto základní tabulky a pohledy jsou kritické pro provoz databáze Oracle. Tabulky v SYSschema jsou manipulována pouze databází a nikdy je nesmí měnit žádný uživatel."

Oh, pokud vás to zajímá, totéž platí pro SYSTEM.

Spouštěče jsou obzvláště náchylné ke zneužití a jsou hlavním zdrojem problémů s škálováním. To je důvod, proč nám Oracle zakazuje vytvářet spouštěče v SYS, protože by to mohlo poškodit nebo přinejmenším ovlivnit výkon datového slovníku.

To se tady samozřejmě neděje. Vytvořili jste si vlastní tabulky v SYS. Tak je pusťte. Nyní. Pomocí SYS vytvořte svého vlastního uživatele, GHAZAL nebo jakýkoli jiný vhodný název, a udělte mu požadovaná oprávnění:CREATE SESSION, CREATE TABLE, CREATE TRIGGER a tak dále. Poté se připojte jako nový uživatel a vytvořte své tabulky a další objekty schématu.




  1. 8 způsobů, jak přidat dny k datu v MariaDB

  2. Jak resetovat hodnotu sloupce identity v tabulce SQL Server - SQL Server / Výukový program T-SQL, část 43

  3. Je v Apache Spark 2.0.0 možné načíst dotaz z externí databáze (spíše než uchopit celou tabulku)?

  4. Vytvoření první offline aplikace pomocí Node.js a SQLite