第1章:データベース管理者のタスク
データベースシステムの構築にかかわる作業
日々の運用管理にかかわる作業
・Oracleインスタンスの起動および停止
・データベースの記憶域構造の管理
・ユーザおよび
セキュリティの管理
・スキーマ、オブジェクト(表、索引、ビューなど)の管理
・バックアップの計画と実行
・データベースの積極的な監視と障害予防措置
・パフォーマンスの監視およびチューニング
トラブルシューティング
・障害発生時のリカバリの実行
・データベースの監視によって判明した問題への修正処置の実行
・診断およびOracleサポートサービスへのエラー報告
第2章:OracleソフトウェアのインストールおよびOracleデータベースの作成
共通の前提条件チェック項目
| カテゴリ |
チェック項目 |
| ディスク領域 |
・スワップ領域:1GB以上 |
| ・一時領域(/tmp):400MB以上 |
| ・Oracleソフトウェア用:1.5GB以上 |
| ・事前構成済みデータベース用:1GB以上 |
| メモリ |
・物理メモリ:1GB以上 |
OUI(Oradcle Universal Installer)の機能
・新しいOracleソフトウェアのインストール
・インストールされているOracleソフトウェアの表示
・私用しないOracleソフトウェアの削除
・インストールプロセス中のオンラインヘルプの参照
・インストール前の前提条件のチェック
主な環境変数
| 環境変数 |
説明 |
| ORACLE_BASE |
Oracleディレクトリ構造のトップディレクトリ |
| ORACLE_HOME |
Oracleソフトウェアを格納するディレクトリ Oracleソフトウェアをインストールするたびに、新しくOracleホームディレクトリを指定する必要がある。 デフォルトはORACE_BASEディレクトリのサブディレクトリとなる。 |
| ORACLE_SID |
システム識別子(インスタンス名)、8文字以下の英数字 |
| LD_LIBRARY_PATH |
共有オブジェクトライブラリを検索するパス |
Oracleインベントリディレクトリ
最初にソフトウェアをインストールするときに設定する。
インストールしたOracle製品の情報などを保持するためのディレクトリ。
既存のソフトウェアへのパッチ適用、アップグレード、ソフトウェアの削除などの時にOUIが使用する。
Linuxへのインストール
rootユーザでログインし、下記2つのシェルを実行する。
orainstRoot.sh
インベントリポインタファイル(/etc/oraInst.loc)を作成する。
root.sh
oratabファイル(/etc/oratab)の作成とOracle用の環境変数を変更するスクリプトのコピーを行う。
DBCA(Detabase Configration Assistant)
テンプレートについて
テンプレートの実態は、データベースの作成に必要な以下の情報が含まれているXMLファイル。
・データベースオプション
・初期化パラメータ
・記憶属性(データファイル、表領域、制御ファイル、オンラインREDOログの属性)
など
格納先:<$ORACLE_HOME/assistants/dbca/templates>
データベース作成時に指定する記憶域オプション
・ファイルシステム(デフォルト)
・自動ストレージ管理(ASM)
・RAWデバイス
第3章:Enterprise Managerを使用したデータベース管理
Enterprise Managerとは
Oracleインスタンスやデータベースを管理するためのツール。
「Database Control(1つのDBを管理)」と「Grid Control(複数のDBを管理」がある。
| 分類 |
管理作業 |
| データベース管理タスク |
・スキーマオブジェクト(表、ビュー、索引など)の作成 |
| ・ユーザーのセキュリティ管理 |
| ・データベースのメモリおよび記憶域の管理 |
| ・データベースのバックアップおよびリカバリ |
| ・データのインポートおよびエクスポート |
| ・インスタンスの起動、停止 |
| 情報の表示 |
・データベースのパフォーマンスおよびステータス情報の表示 |
※データベースの新規作成・削除はできない。
デフォルトでEnterprise Managerへのログインが可能なユーザ
SYS / SYSTEM / SYSMAN
設定の種類と設定できる内容
管理
・管理者
・通知方法
・パッチ適用方法
・ブラックアウト
環境
・一般
・優先接続情報
・通知(ルール、スケジュール)
SQL Plusとは
データベースを管理するための主要なSQLコマンドベースツール。
起動方法
sqlplus /nolog connect account/password |
第4章:Oracleネットワーク環境の構成
Oracle Net Manager
ネットワーク機能を提供するOracle Netのネットワークを構成するツール。
起動方法
コマンド
「netmgr」
Windows
「スタート」>「プログラム」>「Oracle - home-name」>「Configration and Migration Tools」>「Net Manager」
第5章:Oracleインスタンスの管理
初期化パラメータファイル
インスタンス起動時に読み込まれるファイル。
データベースバッファキャッシュや共有プールなどSGAのメモリ領域のサイズ変更や、必要なバックグラウンドプロセスの追加起動など、インスタンスの動作に影響を与えるパラメータが書き込まれている。
初期化パラメータファイルの種類
サーバーパラメータファイル(SPFILE)
Oracleデータベースサーバによって読み取りと書き込みが可能なバイナリファイル。
インスタンス稼働中に動的に変更できるパラメータの値が格納できる(手動変更は不可)。
Enterprise Managerで使用することができる。
テキスト初期化パラメータファイル(PFILE)
テキストファイル。
Oracleデータベースサーバによって読み取りは可能だが、書き込みは行えない。
パラメータ変更後は、インスタンスを再起動する必要がある。
バックグラウンドプロセス
インスタンスを起動すると自動的に起動するプロセス群。
Oracleシステムがスムーズに動くように全体管理を行う。
SMON システムモニター |
障害になどによりインスタンスを再起動した際に、インスタンスリカバリを実行する。 |
PMON プロセスモニター |
ユーザプロセスの障害時に、使用していたリソースを解放し、クリーンアップを行う。 |
DBWn データベースライター |
データベースバッファキャッシュ上で変更されたデータをデータファイルに書き込む。 |
CKPT チェックポイント |
DBWnによりデータベースバッファ内のデータがデータファイルに書き込むイベントのことを「チェックポイント」という。 CKPTはDBWnを呼び出し、さらにメモリとディスクの同期情報を制御ファイルに書き込む。 |
LGWR ログライター |
REDOエントリ(変更履歴情報)をREDOログファイルに書き込む。 |
ARCn アーカイバ |
REDOログファイルをアーカイブログファイルとしてコピーする。 必須のバックグラウンドプロセスではない。 |
データベース作成時に自動作成される「管理者アカウント」
| SYS |
データベース管理者アカウント |
| SYSTEM |
データベース管理者アカウント |
| SYSMAN |
Enterprise Managerでのデータベース操作を実行するためのユーザアカウント |
| DBSNMP |
Enterprise Managerの管理エージェントが使用するユーザアカウント |
メモリ管理の種類と特徴
自動メモリ管理(推奨)
特徴
データベースサーバによりSGAとインスタンスPGAが自動チューニングされる。
データベース管理者は、インスタンスで使用する合計メモリサイズを指定する。
設定するパラメータ
・ターゲットメモリサイズ初期化パラメータ(MEMORY_TARGET)
・最大メモリサイズ初期化パラメータ(MEMORY_MAX_TARGET) ←オプション
自動共有メモリ管理+自動PGAメモリ管理
特徴
自動メモリ管理を無効化すると、暗黙的に自動共有メモリ管理+自動PGAメモリ管理となる。
データベースサーバによりSGAのサイズとここのプロセスのPGA自動チューニングされる。
データベース管理者は、SGAとPGAのターゲットサイズと最大サイズを指定する。
設定するパラメータ
・SGAターゲットサイズパラメータ(SGA_TARGET)
・SGAの最大サイズ(SGA_MAX_SIZE)
・PGAターゲットサイズ初期化パラメータ(PGA_AGGREGATE_TARGET)
・PGAの最大サイズ(PGA_MAX_MEM)
手動共有メモリ管理+自動PGAメモリ管理
特徴
自動共有メモリ管理を無効化すると、暗黙的に手動共有メモリ管理となる。
データベース管理者は、SGAの各コンポーネントのサイズとPGAのターゲットサイズを指定する。
第6章:データベース記憶域構造の管理
データベース起動の流れ
SHUTDOWN:停止中
↓
↓・初期化パラメータファイルの読み込み
↓
NOMOUNT:インスタンス起動(バックグラウンドプロセスと共有メモリが存在する状態)
↓
↓・制御ファイルの読み込み
↓
MOUNT:データファイルなどにアクセスできる状態
↓
↓・データファイルのチェックやREDOログファイルのオープンなど
↓
OPEN:データ処理およびSQL受付ができる状態
※初期化パラメータファイル、制御ファイル、データファイルに以上がある場合はデータベースは正常に起動しない。
第7章:ユーザーおよびセキュリティの管理
ユーザー属性
表領域の割り当て制限
ユーザーに使用が許可される表領域内の容量。ユーザーが使用可能な表領域ごとに指定する。
デフォルトではすべての表領域に対して「なし(表領域使用許可なし)」が設定されている。
割り当て制限を無制限にするには、「-1」を設定する。
この場合、USER_TS_QUOTASやDBA_TS_QUOTASビューのMAX_BYTES列、MAX_BLOCKS列の値は、-1になる。
データベース操作のための権限
管理権限
データベースの作成、インスタンスの起動・停止(およびデータベースの起動)、バックアップ・リカバリの実行を行うことができる特別な管理権限は下記の2つ。
この権限を持つユーザはデータベースがオープンされていない場合でも、インスタンスへのアクセスができる。
| SYSDBA |
すべての権限を持つデータベース管理者用のシステム権限。 |
| SYSOPER |
基本的な運用タスクを実行するがユーザーのデータを表示する権限は持たないユーザ用のシステム権限。 |
特権ユーザの認証について
DBAの認証には、下記2つの方式がある。
・OS認証
・パスワードファイル認証
※セキュリティで保護されていないリモート接続では、パスワードファイル認証を推奨。
※OS認証はパスワードファイル認証より優先される。
ロールとは
権限および他のロールの集合
ロールに付与できるものは、「システム権限」、「オブジェクト権限」、「他のロール」。
第8章:スキーマオブジェクトの管理
データベース作成処理の際に自動的に「SYS」と「SYSTEM」というスキーマが作成される。
SYS
データディクショナリを構成するすべての実表およびビューが作成されるスキーマ。
SYSTEM
管理情報を格納するための追加の表やビュー、およびOracle製品のオプションやツールで使用される内部的な表やビューが作成されるスキーマ。
表の削除について
表を削除することにより実行される処理は次のとおり。
・表の定義がデータディクショナリから削除される。
・表のすべての行が削除される
・表に作成されたすべての索引は削除される。
・表に関連する制約、トリガーも削除される。
・表に作成したビュー、シノニムは削除されずに無効になる。
※これらのデータは同じ表領域内のゴミ箱に格納される。そこから戻すことも可能。
索引について
SQL文による明示的に作成される索引と、暗黙的に作成される索引がある。
「主キー制約(Primary)」と、「一意キー制約(UNIQUE)」を定義すると暗黙的に索引が作成される。
ビューについて
1つまたは複数の表やビューを基に作成する、仮想の表のこと。
データディクショナリ情報の更新は、Oracle Serverのみが行う。
| DBA_* |
データベース内のすべてのオブジェクトに関する情報 |
| ALL_* |
自分がアクセスできるオブジェクトに関する情報 |
| USER_* |
自分が所有するオブジェクト(=自スキーマのオブジェクト)に関する情報 |
| V$* |
動的パフォーマンスビュー。自動更新される。データベースのパフォーマンスに関す情報 |
| その他 |
セッションやロール、言語環境に関する情報 |
ストアドプログラムとは
PL/SQLまたはJavaで記述されたプログラム。
アプリケーション開発者がOracleデータベース内に作成するスキーマオブジェクト。
共通で使用するプログラムを格納しておくと、任意のアプリケーションプログラムから呼び出して使用することができる。
作成できるストアドプログラムの種類
| パッケージ |
パッケージ使用部。 関連するプロシージャとファンクションおよびこれらのプロシージャとファンクションが使用するカーソルと変数をグループとしてまとめたもの。 |
| パッケージ本体 |
パッケージに定義されたプロシージャとファンクションのコード。 |
| プロシージャ |
単一のタスクを実行するプログラム。 |
| ファンクション |
単一のタスクを実行するプログラム。 呼び出しもとのプログラムに値を戻す必要がある。 |
| トリガー |
表、ビュー、イベントに関連付けられたプログラム。 |
第9章:バックアップおよびリカバリの実行
バックアップの種類
イメージコピー
OSレベルでのデータファイル、制御ファイル、アーカイブREDOログファイルのコピー。
Enterprise Managerで作成すると、Recovery Managerリポジトリにイメージコピーが記録される。
バックアップセット
Recovery Manager固有の形式。
1つ以上のバックアップピースという物理ファイルが含まれ、1つのバックアップピースに1つ以上のデータベースファイルのバックアップがRecovery Manager固有のコンパクトな形式で格納される。
データファイルの中でデータの格納に使用されたブロックのみがバックアップセットに含められる。
*
クロスチェック
ディスクやテープ内の物理的なバックアップの状況と、Recovery Managerリポジトリ内にあるバックアップレコードが一致しているかを確認し、バックアップの現行のステータスを反映すること。
ファイルヘッダに破損がない場合は「AVAILABLE(使用可)」となる。
破損・欠落、またはバックアップが指定した場所にない場合は「EXPIRED(期限切れ)」となる。
フラッシュバック機能
フラッシュバック機能を使用すると、誤ってデータを削除や変更したときに、簡単にリカバリすることができる。
フラッシュバック表
表のデータを過去のある時点に戻す機能。
過去データの検索のためにUNDOデータを使用する。
表のフラッシュバックには、行移動(※その他へ)が有効でなくてはならない。
フラッシュバックドロップ
削除された表をゴミ箱から戻す機能。
表だけでなく、表に関連する索引やトリガーも元に戻す。
フラッシュバックに必要な権限
・FLASHBACKオブジェクト権限 or FLASHBACK ANY TABLE権限
・その表に対するSELECT、INSERT、DELETE、ALTERオブジェクト権限
バックアップポリシーの構成
・各バックアップとデータベースの構成変更ごとに、制御ファイルおよびSPFILEを自動的にバックアップ
・バックアップ済みの、読み取り専用およびオフラインのデータファイルなどの未変更ファイルをスキップ
・増分バックアップ高速化のためのブロック変更トラッキングを有効化
第10章:データベースの監視およびアドバイザの使用
AWR(Automatic Workroad Repository:自動ワークロードリポジトリ)
データベースの状態とパフォーマンス情報を格納したデータ。SYSAUX表領域に存在する。
定期的に取得した情報のことを「AWRスナップショット」と呼ぶ。
アドバイザの種類
ADDM(Automatic Database Diagnostics Monitor:自動データベース診断モニター)
データベース全体についてのアドバイザ
SQLアドバイザ
SQLに関するアドバイザ
| SQLチューニングアドバイザ |
1つ以上のSQL文を分析して、パフォーマンスを改善するための推奨事項を提示する。 ソースには、「トップアクティビティ」、「履歴SQL」、「SQLチューニングセット」がある。 |
| SQLアクセスアドバイザ |
特定のSQLワークロードに合わせてスキーマをチューニングする。 例:特定のワークロードに対する索引の作成、削除の推奨事項の提供。 |
メモリアドバイザ
メモリの設定に関するアドバイザ。
メモリ管理モードに応じて、様々なメモリアドバイザを使用できる。
| メモリアドバイザ |
Oracleインスタンスに割り当てるターゲットメモリ容量の設定に関するアドバイスを提示する。 自動メモリ管理が有効な場合に使用できる。 |
| SGAアドバイザ |
SGAのターゲットサイズの構成に関するアドバイスを提示する。 自動共有メモリ管理が有効な場合に使用できる。 |
| PGAアドバイザ |
インスタンスPGAのターゲットサイズの構成に関するアドバイスを提示する。 自動共有メモリ管理、手動共有メモリ管理が有効な場合に使用できる。 |
| 共有プールアドバイザ |
共有プールのサイズ設定に関するアドバイスを提示する。 手動共有メモリ管理が有効な場合に使用できる。 |
| バッファキャッシュアドバイザ |
バッファキャッシュのサイズ設定に関するアドバイスを提示する。 手動共有メモリ管理が有効な場合に使用できる。 |
その他のアドバイザ
| セグメントアドバイザ |
表領域の空き領域の再利用に関するアドバイスを行う。 セグメント内の領域の断片化のレベルに基づいて、そのセグメントの縮小操作が必要かどうかのアドバイスを提示する。 このアドバイザは推奨するだけで実際のデータベースオブジェクトの縮小化は行わない。 |
| UNDOアドバイザ |
システムアクティビティの統計情報や、最も時間がかかる問い合わせの時間、UNDO保存期間の低閾値(最小UNDO保存期間)に基づいて、UNDO表領域のサイズ設定に役立つアドバイスを提示する。 |
アラート
特定のメトリック(測定基準)が閾値を超えた場合に生成される通知。
「警告閾値」と「クリティカル閾値」を設定できる。
領域不足などのアラートは、問題の原因が解決すると自動的に消去される。
他のアラートは、システム管理者による肯定応答が必要。
その他
オブジェクトの再編成
データベースのパフォーマンスは、時間の経過とともに行連鎖や以降と索引の停滞などによって影響を受ける可能性が出てくる。
そのような場合にオブジェクトの再編成を実施し、表の構造を論理的または物理的に変更し、下記のような効果を得ることができる。
・問い合わせまたはDMLのパフォーマンス改善
・アプリケーションの変更に対応する
・記憶域を管理する
ただしOracleでは、SYSTEM、SYSAUX、一時(TEMP)、UNDO、オフラインまたは読み取り専用の表領域の再編成はサポートしていない。
行移動
データ更新時に発生する現象。
データレコードを更新するときに、ブロック内の空き領域を使用してもデータブロック内に収まらず、実データの行断片(レコードピース)をすべて別のデータブロックへ引っ越している状態。
Enterprise Managerからデータベースへのログインをしたときの接続モードは以下。
・NORMAL
・SYSDBA
・SYSOPER
初期化パラメータ
| UNDO_RETENTION |
UNDO保存期間の下限値(秒)を指定する。 |
| SGA_MAX_SIZE |
インスタンスの存続期間を通してのSGAの最大サイズを指定する。 ※動的変更不可) |
| LOG_BUFFER |
REDOエントリをREDOログファイルに書き込むときに使用されるメモリ容量をバイト単位で指定する。 ※動的変更不可 |
| DB_BLOCK_SIZE |
データベースの標準のブロックサイズを指定する。 |
箇条書き
・データベースのアーカイブログモードの変更には再起動が必要。
最終更新:2013年02月04日 12:09