3

新しいデータベースの作成 (基本および高度), Oracle を扱うのは初めてです.空のリレーショナル データベースを作成したいだけなのに、なぜそんなに多くのテーブル、トリガー、ビュー、およびその他のオブジェクトがあるのか​​ わかりません.

これを行う別の方法はありますか、それとも私が理解できなかったことがありますか?

ありがとうございました。

捕獲:

デフォルトのテーブル

4

2 に答える 2

5

これらのオブジェクトはSYSユーザーが所有しています。次のクエリを使用して確認できます。

SELECT * FROM DBA_OBJECTS WHERE OWNER = 'SYS';

他のユーザーが所有するオブジェクトを確認するには、次を参照してください。

SELECT * FROM DBA_OBJECTS WHERE OWNER <> 'SYS';

SYS AS SYSDBAとしてログインしている必要があるため、 SYS ユーザーが所有するオブジェクトを表示できます。

覚えて、

  • SYS/SYSDBA は特別です
  • 一般的なデータベースの目的で SYS (または SYSDBA) を使用することは決してありませんが、管理/メンテナンスの目的 (起動、シャットダウン、バックアップ、回復)
  • SYS/SYSDBA は Oracle 独自のものです (「i did that with SYS/SYSDBA」で始まる SR/TAR を開こうとすると、すぐに回答が表示されます)。
  • SYS/SYSDBA は他のユーザーのように振る舞わない
  • SYS/SYSDBA を使用すると、Oracle は一部のコード パスを非アクティブ化し、他のコード パスをアクティブ化します。
  • SYS/SYSDBA で何をしても、他のユーザーと同じことを検証したり無効にしたりすることはありません。

別のユーザーが実行できるものには、決して SYS/SYSDBA を使用しないでください。SYS/SYSDBA ONLY は、他の人が実行できないことに対してのみ使用してください。

Tom KyteによるAskTomのこの回答を参照してください。

于 2015-10-12T06:14:15.717 に答える
-1

ドル記号 ($) はシステム テーブル用です。見ないふりをする必要があります。彼らは物理的にそこにいないかもしれません。多くのツールには、システム テーブルとビューを非表示にするオプションがあります。多くのデータベース (アクセス、SQL Server、ORACLE) には、表示したくないシステム オブジェクトがあります。

これは実際には、リレーショナル データベースの Bryce と Codds の元の設計の一部であったため、スキーマなどをクエリできます。

于 2015-10-12T03:15:42.603 に答える