Db2-databases
DB2-データベース
この章では、関連する構文を使用したデータベースの作成、アクティブ化、非アクティブ化について説明します。
データベースのアーキテクチャ
データベースは、データベース操作を効率的に処理するために連携して動作するテーブル、スキーマ、バッファプール、ログ、ストレージグループ、およびテーブルスペースの集合です。
データベースディレクトリ
データベースディレクトリは、データベースの整理されたリポジトリです。 データベースを作成すると、デフォルトのストレージデバイス、構成ファイル、一時テーブルリストなどの詳細など、データベースに関するすべての詳細がデータベースディレクトリに保存されます。
パーティショングローバルディレクトリは、インスタンスフォルダーに作成されます。 このディレクトリには、データベースに関連するすべてのグローバル情報が含まれています。 このパーティションのグローバルディレクトリには、NODExxxx/SQLyyyという名前が付けられます。ここで、xxxxはデータパーティション番号、yyyはデータベーストークンです。
パーティショングローバルディレクトリに、メンバー固有のディレクトリが作成されます。 このディレクトリには、ローカルデータベース情報が含まれています。 メンバー固有のディレクトリの名前はMEMBERxxxxで、xxxxはメンバー番号です。 DB2 Enterprise Server Edition環境は単一のメンバーで実行され、メンバー固有のディレクトリは1つだけです。 このメンバー固有のディレクトリには、MEMBER0000という一意の名前が付けられます。
パーティション化されたグローバルディレクトリ
ディレクトリの場所:<インスタンス>/NODExxx/SQLxxx
パーティショングローバルディレクトリには、以下に示すデータベース関連ファイルが含まれています。
- グローバルデッドロックファイルへの書き込みイベント監視ファイル
- 表スペース情報ファイル[SQLSPCS.1、SQLSPCS.2]
- ストレージグループ制御ファイル[SQLSGF.1、SQLSGF.2]
- 一時表スペースコンテナーファイル。 [/storage path//T0000011/C000000.TMP/SQL00002.MEMBER0001.TDA]
- グローバル構成ファイル[SQLDBCONF]
- 履歴ファイル[DB2RHIST.ASC、DB2RHIST.BAK、DB2TSCHG.HIS、DB2TSCHG.HIS]
- ロギング関連ファイル[SQLOGCTL.GLFH.1、SQLOGCTL.GLFH.2]
- ファイルのロック[SQLINSLK、SQLTMPLK]
- 自動保管コンテナ
メンバー固有のディレクトリ
ディレクトリの場所:/NODExxxx/SQLxxxx/MEMBER0000
このディレクトリには以下が含まれます。
- データベースに関連付けられたオブジェクト
- バッファプール情報ファイル[SQLBP.1、SQLBP.2]
- ローカルイベント監視ファイル
- ロギング関連ファイル[SQLOGCTL.LFH.1、SQLOGCTL.LFH.2、SQLOGMIR.LFH]。
- ローカル構成ファイル
- デッドロックイベントモニターファイル。 詳細なデッドロックイベントモニターファイルは、ESEおよびパーティションデータベース環境の場合、カタログノードのデータベースディレクトリに保存されます。
データベース作成
「CREATE DATABASE」コマンドを使用して、インスタンスにデータベースを作成できます。 すべてのデータベースは、インスタンスの作成時に作成されるデフォルトのストレージグループ「IBMSTOGROUP」で作成されます。 DB2では、すべてのデータベーステーブルは「テーブルスペース」に格納され、それぞれのストレージグループを使用します。
データベースの特権はPUBLIC [CREATETAB、BINDADD、CONNECT、IMPLICIT_SCHEMA、およびSELECT]として自動的に設定されますが、RESTRICTIVEオプションが存在する場合、特権はPUBLICとして付与されません。
非制限的なデータベースの作成
このコマンドは、制限のないデータベースを作成するために使用されます。
構文:[新しいデータベースを作成します。 「database_name」は、作成する新しいデータベース名を示します。]
例:[名前 'one’の新しい非制限的なデータベースを作成するには]
出力:
制限的なデータベースの作成
このコマンドを呼び出すと、制限データベースが作成されます。
構文:[以下の構文では、「db_name」はデータベース名を示します。]
例:[「two」という名前の新しい制限付きデータベースを作成するには]
異なるユーザー定義の場所でデータベースを作成する
別のパスにデフォルトのストレージグループ「IBMSTOGROUP」でデータベースを作成します。 以前は、特定の場所にデータベースを保存または作成するために、ユーザー定義の場所なしでコマンド「データベースの作成」を呼び出しました。 ユーザー定義のデータベースの場所を使用してデータベースを作成するには、次の手順に従います。
構文:[以下の構文では、「db_name」は「データベース名」を示し、「data_location」はデータをフォルダーに保存する場所を示し、「db_path_location」はドライバーの「data_location」の場所を示します。
例:[データが「data1」に保存され、このフォルダーが「dbpath1」に保存される「four」という名前のデータベースを作成するには]
ローカルまたはシステムデータベースディレクトリファイルの表示
このコマンドを実行して、現在のインスタンスで使用可能なディレクトリのリストを表示します。
構文:
例:
出力:
データベースのアクティブ化
このコマンドは、特定のデータベースに必要なすべてのサービスを起動して、データベースをアプリケーションで使用できるようにします。
構文:[「db_name」はデータベース名を示します]
例:[データベース 'one’のアクティブ化]
データベースの非アクティブ化
このコマンドを使用すると、データベースサービスを停止できます。
構文:
例:[データベース「one」を非アクティブ化するには]
データベースへの接続
データベースを作成して使用するには、データベースに接続または起動する必要があります。
構文:
例:[データベース1を現在のCLIに接続するには]
出力:
データベースが制限されているかどうかを確認する
このデータベースが制限されているかどうかを確認するための構文は次のとおりです。
構文:[次の構文では、「db」はデータベースを示し、「cfg」は構成を示し、「db_name」はデータベース名を示します]
例:['one’データベースが制限されているかどうかを確認するには]
出力:
データベースマネージャーとデータベースの構成
インスタンス構成(データベースマネージャー構成)は「db2system」という名前のファイルに保存され、データベース関連の構成は「SQLDBCON」という名前のファイルに保存されます。 これらのファイルは直接編集できません。 これらのファイルは、APIを呼び出すツールを使用して編集できます。 コマンドラインプロセッサを使用すると、これらのコマンドを使用できます。
データベースマネージャーの構成パラメーター
構文:[インスタンスデータベースマネージャーの情報を取得するには]
構文:[インスタンスデータベースマネージャーを更新するには]
構文:[以前の構成をリセットするには]
データベース構成パラメーター
構文:[データベースの情報を取得するには]
構文:[データベース構成を更新するには]
構文:[データベース構成で以前に構成された値をリセットするには
構文:[現在のアクティブデータベースのサイズを確認するには]
例:[現在アクティブ化されているデータベースのサイズを確認するには]
出力:
データベースに必要なスペースの見積もり
データベースのサイズを推定するには、次の要因の寄与を考慮する必要があります。
- システムカタログ表
- ユーザーテーブルデータ
- ロングフィールドデータ
- ラージオブジェクト(LOB)データ
- インデックススペース
- 一時的な作業スペース
- XMLデータ
- ログファイルスペース
- ローカルデータベースディレクトリ
- システムファイル
データベース権限の確認
以下の構文を使用して、非制限データベース上のPUBLICに付与されているデータベース権限を確認できます。
- ステップ1 *:インスタンスの認証ユーザーIDとパスワードを使用してデータベースに接続します。
構文:[ユーザー名とパスワードでデータベースに接続するには]
例:[ユーザーID「db2inst4」およびパスワード「db2inst4」で「1」個のデータベースを接続するには]
出力:
- ステップ2 *:データベースの権限を確認します。
構文:[以下の構文は、現在のデータベースの権限サービスの結果を示しています]
例:
- 出力: *
データベースの削除
Dropコマンドを使用して、インスタンスデータベースディレクトリからデータベースを削除できます。 このコマンドは、すべてのオブジェクト、テーブル、スペース、コンテナ、および関連ファイルを削除できます。
構文:[データベースをインスタンスから削除するには]
例:[インスタンスから「6」データベースを削除するには]
出力: