【1Z0-082】OracleSilverDBA 要点まとめ#1

スポンサーリンク
Oracle
スポンサーリンク
スポンサーリンク
たに
たに

1章~4章まで自分用にまとめやで!
(人に見られることを前提としていないのであしからず…)

 

  1. 1章 アーキテクチャの理解
    1. インスタンス
    2. シングルインスタンス構成
    3. Real Application Clusters(RAC)
    4. セッション
    5. バックグラウンドプロセス
      1. データベースライター(DBWn)
      2. ログライター(LGWR)
      3. チェックポイント(CKPT)
      4. システムモニター(SMON)
      5. プロセスモニター(PMON)
      6. 管理モニター(MMON)
      7. アーカイバ(ArCn)
      8. リスナー登録プロセス(LREG)
    6. オブジェクトに記憶域を割り当てる仕組み
  2. 2章 Oracleデータベースの作成及び各種ツールの使用
    1. Oracle Enterprise Manager
      1. Oracle Enterprise Manager Cloud Control
      2. Oracle Enterprise Manager Database Express(EM Express)
    2. Database Configuration Assistant(DBCA)
    3. DBCAで実行可能な操作
    4. DBCAで新しいデータベースを構築する際に設定できる項目
    5. 主なSQL*Plusコマンド
    6. SQL Developer を使用して実行できること
  3. 3章 データベースインスタンスの管理
    1. インスタンス起動からデータべースオープンまでのステップ
    2. 起動状態と接続可能なユーザー
    3. 起動状態と実行可能な処理
    4. インスタンスの停止(SHUTDOWNコマンドのオプション)」
      1. NOMAL
      2. TRANSACTIONAL
      3. IMMIDIATE
      4. ABORT
    5. データディクショナリビューと動的パフォーマンスビュー
      1. データディクショナリビュー
      2. 動的パフォーマンスビュー
    6. 自動診断リポジトリ(ADR)
    7. アラートログ
    8. トレースファイル(プロセストレースファイル)
    9. 初期化パラメータファイルの種類
      1. spfile
      2. pfile

1章 アーキテクチャの理解

インスタンス

 ・SGA(System Global Area)とバックグラウンドプロセスから構成。
 ・インスタンスを起動するとSGAが確保され、バックグラウンドプロセスが起動される。
  ※SGAとバックグラウンドプロセスを個別に起動する必要はない

シングルインスタンス構成

 ・1つのインスタンスで1つのデータベースを管理する。

Real Application Clusters(RAC)

・ 複数のインスタンスで1つのデータベースを管理する。
 (1つのインスタンスでも問題ないが、可用性が下がる)

・1つのデータベースサーバーには複数のデータベースを作成できる。
・1つのデータベースには1つのインスタンスが対応する。
  ⇒1つのデータベースサーバー上に複数のインスタンスを起動できる
  ⇒2つ以上のRACデータベースで1つのインスタンスを共有することはできない。

セッション

・ユーザがOracleデータベースにログインしていることを示す「論理的な接続状態」のこと。
・同一ユーザー名を使用して、同時に複数のセッションを確立できる。
・1つのセッションでは複数のSQLやトランザクションを実行できる。
  ⇒トランザクションをコミット(確定)した後、別のトランザクションを実行できる。
・セッションはユーザープロセスサーバープロセスの間に確率される。
 ⇒セッション数が増えると起動プロセス数も増える。

バックグラウンドプロセス

データベースライター(DBWn)

データーベースバッファキャッシュ内の変更済みブロックをデータファイルに書き込む

ログライター(LGWR)

REDOログバッファのREDOデータ(変更履歴情報)をREDOログファイルに書き出す。
(COMMITやREDOログバッファの空き容量が足りなくなった際に実行)

チェックポイント(CKPT)

DBWNに対して、データベースバッファキャッシュ内の変更済みブロックをデータファイルに書き込む指示を出す(チェックポイント)。
合わせて、制御ファイルにチェックポイント情報を書き込む。

システムモニター(SMON)

インスタンスが異常終了した場合、次回インスタンス起動時にデータベースファイルの整合性を復旧する処理を実行する。
未使用の一時セグメントを開放する。

プロセスモニター(PMON)

プロセスが異常終了した場合、そのプロセスが使用していた様々なデータやリソースの後処理(クリーンアップ)を実行する。
アイドル時間を超えたセッションを検知し、強制終了などの対処を指示する。

管理モニター(MMON)

AWRスナップショットなど、性能分析で使用される様々な統計情報を定期収集する。

アーカイバ(ArCn)

ログスイッチの発生後、REDOログファイルのREDOデータをアーカイブログファイルとしてコピーする。

リスナー登録プロセス(LREG)

インスタンスに関する情報をリスナーに登録する。

オブジェクトに記憶域を割り当てる仕組み

・表や索引など、データを保持するオブジェクトには、セグメントが1対1で対応する。
・ビューに対応するセグメントはない。
・セグメントは1つ以上のエクステントから構成される。
・エクステントは1つのデータファイル内の連続した複数のブロックから構成される。
・データファイルはブロック単位で使用される。
 ⇒セグメント>エクステント>データブロック
・エクステントは、セグメントの格納表領域を構成する異なるデータファイルに配置されることがある。

2章 Oracleデータベースの作成及び各種ツールの使用

Oracle Enterprise Manager

・Oracle Enterprise Manager Cloud Controlは別途インストールする必要あり。
 (DBCAからのインストール不可)
・「管理オプション」振動で作成したデータベースをOracle Enterprise Manager Cloud Controlの管理対象として登録するか指定できる。
・Oracle Management Servise(OMS)が構成済みであり、かつデータベースサーバーにOracle Management Agent(OMA)が導入されている場合は、Enterprise Manager Cloud Controlへ管理対象としての登録を行える。

Oracle Enterprise Manager Cloud Control

・複数のサーバーに配置された複数のOracleデータベース、Oracleデータベース以外の製品を統合的に管理できるツール。(A5みたいな感じ?)
・バックアップの取得、リカバリの実行が可能。
・Oracleデータベースとは別の独立した製品のため、オープンしていないデータベースも管理できる。
・構成要素はOMS、リポジトリデータベース、OMA。

Oracle Enterprise Manager Cloud Controlで管理できるタスク
・インスタンスの起動/停止
・Oracle Net Serviseの設定
・スキーマ(表/索引など)の管理
・ジョブの管理及び実行
・データベースリソースマネージャ
・バッチ推奨(My Oracle Supportバッチ取得)
・複数データベースの統合管理

 

Oracle Enterprise Manager Database Express(EM Express)

・データベースに組み込まれた軽量の管理ツールで、自身が動作するOracleデータベースに対してのみ管理作業を実行できる。
・DBCAで、作成したデータベースにEM Expressを構成するかどうかを指定できる。
・XML DBを使用している。

Database Configuration Assistant(DBCA)

・DBCAはORACLE_HOMEに導入されたOracleソフトウェアに含まれる。
・DBCAを起動するにはdbcaコマンドを実行する。

DBCAで実行可能な操作

・データベースの作成
・既存データベースの構成変更
・データベースの削除
・テンプレートの管理
・PDBの管理

DBCAで新しいデータベースを構築する際に設定できる項目

・デプロイメント・タイプ(テンプレートを使用するか否か)
・データベース識別情報(グローバルデータベース名とインスタンスSIDを指定する)
・記憶域オプション(データベースファイルをどの記憶域に配置するのかを指定する)
・高速リカバリ(高速リカバリの場所およびサイズ、アーカイブ有効無効を指定する)
・ネットワーク(リモート接続に使用するリスナーを選択する)
・Oracle Databae Vault
・構成オプション(キャラクタセット)
・管理オプション
・ユーザー資格証明

主なSQL*Plusコマンド

・@:@に続けて指定されたファイルに記載されたコマンドを実行する
・CLUMN:列の表示形式を設定または確認する
・CONNECT:Oracleデータベースに接続する
・DEFINE:置換関数を設定または確認する
・DESCRIBE:指定した表などのオブジェクトの定義を確認する
・EXECUTE:1つのPL/SQL文を実行する
・EXIT:SQL*Plusを終了する
・HOST:OSコマンドを実行する
・SET:SQL*Plusシステム変数(SET変数)を設定する
・SHOW:SQL*Plusシステム変数の値または現行のSQL*Plus環境を表示する
・SHUTDOWN:インスタンスを停止する
・STARTUP:インスタンスを起動する
・UNDEFINE:置換関数(SQL*Plusユーザ関数)を削除する

SQL Developer を使用して実行できること

・インスタンスの起動、停止
・初期化パラメータの設定
・データベース起動状態の確認
・Data Pumpを用いたデータのインポートとエクスポート
・RMANを用いたデータベースのバックアップとリカバリ
・セキュリティの構成(ユーザ、権限、ロール管理など)
・記憶域の管理(表領域、データファイルの管理など)
・SQLスクリプトの実行

3章 データベースインスタンスの管理

インスタンス起動からデータべースオープンまでのステップ

SHUTDOWN(インスタンス停止、データベース停止)
   ↓STARTUPコマンド実行
NOMOUNT(インスタンスを起動、データベース停止)
 ・初期パラメータファイル読み込み
 ・SGAを割り当て、バックグランドプロセスを起動
   ↓ALTER DATABASE MOUNT;実行
MOUNT(インスタンス起動。データベース停止)
 ・初期パラメータのもの制御ファイルを読み込み
 ・制御ファイルの読み書き可能
   ↓ALTER DATABASE OPEN;実行
OPEN(インスタンス起動、データベースをオープン)
 ・制御ファイルの情報をもとにREDOログファイル、データファイルを利用可能にする
 ・REDOログファイルとデータベースファイルが読み書き可能

起動状態と接続可能なユーザー

・SHUTDOWN状態、NOMOUNT状態、MOUNT状態ではSYSDBA権限などの特殊な管理権限を持つユーザー(SYSユーザー等)のみがOracleデータベースに接続可能。
 ※SYSTEMユーザーは管理権限を持っていないのでSYSユーザと間違えないよう注意。
・OPEN状態に遷移すると一般ユーザーが接続可能に。

起動状態と実行可能な処理

MOUNT状態
・データベースの作成(CREATE DATABASE)
・制御ファイルの作成(CREATE CONTROLFILE)

NOMOUNT状態
・アーカイブログモードの変更(ALTER DATABASE ARCHIVELOG)
・データベース全体のリカバリ処理

インスタンスの停止(SHUTDOWNコマンドのオプション)」

NOMAL

・すべての接続が終了されるまで待機し、インスタンスの停止処理を行う。
・デフォルトの設定。
・既存接続ユーザーが切断するまで待機する。

TRANSACTIONAL

・実行中のトランザクションが終了するまで待機し、インスタンスの停止処理を行う。
・トランザクション終了時に既存接続ユーザーは切断される。
・実行中のSQLはトランザクションを終了するまで待機する。

IMMIDIATE

・実行中の処理を取り消したうえで、、インスタンスの停止処理を行う。
・既存接続ユーザーは切断される。
・実行中のSQLはロールバックされる。

ABORT

・実行中の処理に対する取り消し処理を実行せず、インスタンスを強制終了する。
・既存接続ユーザーは切断される。
・実行中のSQLは強制終了(ロールバックなし)される。
 ⇒データベースファイルは整合性が取れていない状態になる
  ⇒次回インスタンス起動時にインスタンスリカバリが実行されて自動的に回復される

 

データディクショナリビューと動的パフォーマンスビュー

データディクショナリビュー

・DBA_TABLES(表の情報)
・DBA_INDEXES(索引の情報)
・DBA_VIEWS(ビューの情報)
・DBA_SEQUENCES(シーケンスの情報)
・DBA_SYNONYMS(シノニムの情報)
・DBA_CONSTRAINS(制約の情報)
・DBA_USERS(ユーザーの情報)
・DBA_TABLESPACES(表領域の情報)
・DBA_DATA_FILES(データファイルの情報)
・DBA_FREE_SPACE(データファイルの空き領域に関する情報)

ディクショナリビューの分類
・DBA_:データベース全体の管理情報が表示(権限を持つユーザのみアクセス可能)
・ALL_:問い合わせを実行したユーザがアクセスできる範囲の管理情報が表示
・USER_:問い合わせを実行したユーザーが所有する範囲の管理情報が表示

動的パフォーマンスビュー

・V$PARAMETER(初期化パラメータの設定値)
・V$SGA(SGAのサマリー情報)
・V$SGAINFO(SGAのサイズ情報)
・V$SESSION(インスタンス内の全セッションの情報)
・V$DATAFILE(制御ファイルに格納された一時ファイルの情報)
・V$OMSTANCE(インスタンスの情報)
・V$SQL(共有プールにキャッシュされているSQLの情報)
・V$SYSSTAT(インスタンスの様々な稼働統計情報)
・V$SESSTAT(セッションの様々な稼働統計情報)

データディクショナリビュー 動的パフォーマンスビュー
ビュー名 DBA_/ALL_/USER_から始まる V$から始まる
元になるデータの
格納先
データディクショナリ
(SYSユーザ所有、SYSTEM表領域内)
制御ファイル
またはインスタンス(SGA)
ビューから得られる
データの読取一貫性
保証される 保証されない
ビューを参照可能な
起動状態
OPEN状態のみ OPEN以外でも参照可能
(インスタンスから情報を得るビューは
 NOMOUT状態で参照可能、
 制御ファイルからデータを得るビュー 
 はMOUNT状態で参照可能)

 

自動診断リポジトリ(ADR)

・製品やデータベースなどに応じたディレクトリ構造で整理された
 ログファイルの集合体。
・DIAGNOSTIC_DEST初期化パラメータが指すファイルシステム上の
 ディレクトリ(ADRベース)以下に構成される。
・Oracleデータベース内に構成されていないため、起動状態によらずアクセス可能。
・Oracle Database、Oracle Client、Oracle リスナー、Oracle ASM、Oracle Clusterware
などの製品のログファイルが格納される。

アラートログ

インスタンスで発生した致命的なエラーや、起動/終了などの管理情報、
インスタンスの構成変更などの情報をテキスト形式で出力する。

出力される主な情報
・インスタンスの起動/終了の状況
・デフォルト値以外が設定された初期化パラメータの値
・発生したすべての内部エラー
・ブロック障害エラー
・デッドロックエラー
・その他の重大なエラー
・実行した管理コマンドとその実行結果
・ジョブの実行エラー
※セッションの確率はログに記載されない。
※SQL実行エラー等致命的ではないエラーも記載されない。

トレースファイル(プロセストレースファイル)

・サーバープロセスやバックグラウンドプロセスなどの各プロセスが出力した情報が
 テキスト形式で出力される。
・プロセストレースファイルはインスタンスのADRホームのtraceディレクトリに
 出力される。
・Linuxにおけるファイル名の形式は下記のようになる
  <インスタンスSID>_<プロセス名>_<OSプロセス番号>.trc
・トレースファイルはプロセスごとに作成され、そのプロセスが出力した情報のみが含まれる。
・何も設定していない状態や、重大なエラーが発生していない状態でも、インスタンスの
 起動時などにプロセスとレールファイルが出力されることがある。
 ⇒トレースファイルが生成されているからと必ず調査する必要はない

初期化パラメータファイルの種類

spfile

・バイナリ形式の初期化パラメータファイル。
・ALTER SYSTEM SET文で設定値を変更可能。
・バイナリ形式なのでテキストエディタ等でファイルを直接編集できない。

pfile

・テキスト形式の初期化パラメータファイル。
・テキストエディタでファイルの直接編集ができる。
・ALTER SYSTEM SET文で設定内容を変更することができない。

・ALTER SYSTEM SET文で設定内容を変更でき、運用状況に応じて決定される一部の自動
 調整パラメータの設定値を補完し、次回起動時に設定値を引き継ぐことができるため、
 基本的にspfileを使用すること。
 (DBCAでデータベース作成した場合、デフォルトではspfileが使用される)
・spfileとpfileの両方が存在する場合、spfileが優先して読み込まれる。

 

 

タイトルとURLをコピーしました