Oracle   Oracle 9i Silver DBA(I) メモ
  (not ever)


Oracle 9i Silver DBA(I) メモ

  1. SQL実行時に権限のチェックに使う情報を格納するのは
    ○データディクショナリキャッシュ
    ×共有SQL領域
  2. OEMの3層モデルで、コンソールは第1層(第3層ではない)
  3. OEMリポジトリとは、データベース上の表のこと
  4. 9iから動的SGAといって、DBバッファキャッシュと共有プールのサイズ変更が可能 (最大SGA_MAX_SIZEまで拡大可能。SGA_MAX_SIZEによって、4MBまたは16MBの倍数で指定) パラメータはDB_CACHE_SIZEとSHARED_POOL_SIZE
  5. ネットワークセキュリティが保証されていない環境で使うのは
    ×OS認証
    ○パスワードファイル認証
    パスワードファイルの方がセキュリティが高い。
    ★サーバ管理他の分野の用語の持つイメージとは逆なので要注意。
  6. OMFを使う際の事前確認事項は
    ・そのディレクトリが作成済みであること
    ・書き込みパーミッションがあること
  7. OMFを使うとき、DB_CREATE_FILE_DESTは省略できるが、 DB_CREATE_ONLINE_LOG_DEST_nは省略できない。
  8. DBA権限≠SYSDBA権限
    CREATE DATABASEができるのはSYSDBA権限だけ
  9. PFILE、SPFILEの読み込み優先度は高い順に 「spfileSID.ora」「spfile.ora」「initSID.ora」
  10. 制御ファイルを読むのはMOUNT状態になるとき。 NOMOUNTで読むのは初期化パラメータファイル。
  11. V$CONTROLFILE_RECORD_SECTIONには、制御ファイルの名前は書かれていない。 (ファイル名を確認できるのはV$CONTROLFILEとV$PARAMETER)
  12. 制御ファイルは8個まで多重化できるが、1個でも壊れるとデータベースは停止する。 そのため、多ければ多いほどよいわけではない。
  13. USER_で始まるデータディクショナリビューにも、OWNER列はある。
  14. USER_で始まるデータディクショナリビューは、 「自分がアクセスできる全情報」ではない。(それはALL_ビュー)
  15. データディクショナリはCREATE DATABASEで作られるが、 データディクショナリビューは自分でcatalog.sqlを流す必要がある。
  16. CREATE PUBLIC SYNONYM権限があれば、 データディクショナリビューにシノニムが張れる。
  17. 初期化パラメータファイル、パスワードファイル、アーカイブログファイルは、 データベースファイルには通常含まれない。
  18. ローカル管理表領域のUNIFORMサイズを変更するには、表領域を作り直すしかない。
  19. TEMPORARY表領域は常にローカル管理のエクステントが取られる。 ファイル名の変更はできず、ファイルの追加しかできない。
  20. 表領域をOFFLINEにすると、読み書きともにできない。
  21. 表領域をOFFLINEにしたイベントは、制御ファイル、データディクショナリの両方に記録される。
  22. READONLYの表領域でも、表の削除はできる。
  23. ローカル管理表領域にはMINIMUM EXTENTを指定できない。 (AUTOALLOCATEか、UNIFORM SIZEを使用)
  24. セグメントのタイプは5つ以上
    表、索引構成表、LOB、ネストした表、bootstrap、パーティション表、索引パーティション
  25. パーティション表では、個々のパーティションがセグメント
  26. ビットマップ索引は一意索引にできない
  27. SEGMENT SPACE MANAGEMENT AUTOにするには、 EXTENT MANAGEMENTはローカル管理のPERMANENT表領域でなければいけない。
  28. SEGMENT SPACE MANAGEMENT AUTOにするとPCTUSED,INITRANS,MAXTRANSの設定は不要になるが、 PCTFREEの設定だけは自動化されない。
  29. 「ALTER SYSTEM SET UNDO_TABLESPACE = ...」 トランザクション実行中にUNDO表領域を変更すると、
    ・前の表領域はPENDING OFFLINEになる
    ・新しい表領域はONLINEになる
    PENDING OFFLINE状態はV$ROLLSTATでだけ確認できる。 DBA_ROLLBACK_SEGS等のSTATUSは全てOFFLINEと表示される。
  30. ALTER TABLE 〜 MOVE TABLESPACE 〜 で表領域を変更すると、 索引の再構築が必要 (ROWIDが変わるため)
  31. MONITORING USAGEするとV$OBJECT_USAGEビューがリセットされる。
  32. SELECT ANY TABLEはオブジェクト権限ではない。
  33. オブジェクト権限を検索できるデータディクショナリはDBA_TAB_PRIVS
  34. IDENTIFIED GLOBALLYはエンタープライズ・ディレクトリ・サービスによって許可される。
  35. REVOKEもFROM PUBLICでPUBLICから権限を削除できる。
  36. PGAはサーバプロセス(サーバ側)のメモリを指し、クライアント側のメモリではない。
    セッション情報、カーソルの状態、セッション変数のスタックなどが格納される。
  37. DROP USERでオブジェクトも一緒に削除するオプションはCASCADEで、 INCLUDING CONTENTSではない
  38. セッションレベルのリソース制限を越えると、セッションが切断される。 ロールバックで済むのはコールレベルのリソース制限。
  39. REMOTE_LOGIN_PASSWORDFILEパラメータの値が NONE=OS認証、EXCLUSIVE/SHARED=パスワードファイル認証
  40. 一時表領域にはQUOTAは効かない。
  41. CREATE USERで QUOTAを指定しないと、どの表領域にもクォータがない状態になる。 (無制限になるわけではない)
  42. QUOTAの構文:
    QUOTA 10M ON data1 QUOTA UNLIMITED ON data2;
  43. 制御ファイルのサイズは、CREATE DATABASE時の5つのMAX〜句の値によって決まる。
  44. INITRANS,MAXTRANSは表領域にはつけられない。
  45. セグメントは複数のデータファイルにまたがることがある。
  46. エクステントは常に連続したブロック
  47. ・CREATE TABLESPACE 〜 TEMPORARY
    ・CREATE TEMPORARY TABLESPACE 〜
    前者は必ずディクショナリ管理、後者はローカル管理の表領域になる。
  48. 「制約は表作成時に一緒に作るのがベスト」は×。 教科書的には、後で作ることが一般的とされている。
  49. ALTER DATABASE DATAFILEとALTER TABLESPACEでできることの違いを確認する。
  50. CREATE UNDO TABLESPACE文で使用できるのはDATAFILE句のみ
  51. ブロック使用率が100-PCTFREEを越えると行挿入はできないが更新は可能。
    ×更新もできない
  52. NLS_SORTパラメータを使用できるSQL関数は4つ: NLS_UPPER、NLS_LOWER、NLS_INITCAP、NLSSORT
  53. NLSに関係するデータディクショナリと動的パフォーマンスビュー
    NLS_DATABASE_PARAMETERS
    NLS_INSTANCE_PARAMETERS
    NLS_SESSION_PARAMETERS
    V$NLS_PARAMETERS
    V$NLS_VALID_VALUES
    
  54. 最高のパフォーマンスを出す文字セットの組み合わせは、 データベース文字セット=シングルバイト、各国語データ=AL16UTF16
  55. SMONの役目=インスタンスリカバリ、データファイルの空き領域の結合、 一時セグメントの割り当て解除
    PMONの役目=ユーザプロセス障害時のクリーンアップ、 使用不可能なディスパッチャの再起動
  56. Oracleの所有者となるOSユーザの作成は、 データベースを作成するための前提条件ではない ⇒Oracle Universal Installerでの前提条件だから。
  57. データファイルからDBバッファキャッシュに データを読むのはDBWRではなくサーバープロセス
  58. 非一意索引がある列に主キー制約をつけようとすると、 既存の索引を使って主キー制約が有効になる。(エラーにはならない)
  59. OPTIMALを確認できるのはV$ROLLSTAT
    「〜データディクショナリはどれか」という問題で、 動的パフォーマンスビューが回答になることもあるらしい。
  60. 一時表にインポート/エクスポートを行うこともできる。 但し、データはエクスポートできず、定義だけエクスポートされる。
  61. Oracle Database Configuration Assistantで、 事前定義済みテンプレートを使う場合の選択問題
    ・制御ファイル、REDOログの追加・削除が可能
    ・データファイルのファイル名の変更が可能
    ・初期化パラメータの変更は不可
    ・表領域、RBSの追加・削除は不可
    設問の意味が分かりにくいが、「ODCAの画面機能として」 できることとできないことを選択させるものらしい。
  62. LOBは1表に複数列定義できる。(LONG,LONG RAWは駄目)
    LOBは最大4GB、LONG,LONG RAWは2GB
    LOBは行の外にデータを格納できる
    LOBはオブジェクト型をサポートしている
  63. 「挿入時や更新時など特定のイベント時に整合性のチェックができる」は、整合性制約の利点ではない
    ⇒分かりにくいが、これはトリガーの利点だから、整合性制約の利点ではないという意味らしい。
    正解は
    ・データディクショナリで定義される
    ・有効・無効の切替ができる
    ・ルールの集中化
  64. 表の列にLOBを使った場合、LOBセグメントは表とは異なる表領域に置くこともできる。
    パーティション表のパーティションは別個の表領域に置くことができる。
  65. 一時表、索引構成表の索引はREBUILDできない。
    パーティション表全体の索引のREBUILDはできない。(各パーティションを再構成する)
  66. 参照整合性制約で、子表のデータも親表と同時に削除するオプションは ON DELETE CASCADE
  67. キャラクタセットの移行可否の確認をするツールの名前は「Character Set Scanner」
  68. 制限つきROWID=拡張ROWID(データオブジェクト番号によって表領域が分かる)でないもの
    「非パーティション表の非パーティション索引」は制限つきROWIDを使う
  69. OMFを使っているとき、REDOログファイルを追加する際には、 ファイル名もサイズも指定不要
  70. 「チェックポイントが発生するとき」に「データベース停止時」は含まれない。 ABORTの場合があるから。というのが理由だが、引っ掛けくさい。
  71. OMFを使っているとき,CREATE CONTROLFILEコマンドで制御ファイルの再作成ができるが、 DATAFILE、LOGFILE句で正確な位置の指定が必要
  72. Oracle Database Configuration Assistant ではデータベースのチューニングは「できない」。削除は「できる」。
  73. 永続表領域はデフォルト一時表領域にはできない。
  74. ユーザにつけられるロールの最大数を決める初期化パラメータは「MAX_ENABLED_ROLES」
  75. 主キー制約の索引を確認するのに使うのはDBA_INDEXESとDBA_CONSTRAINTS

  もくじ
Oracle   (C) 2002-2003 MISUMI URANO (2005/04/16 - (not ever))