プライマリ・コンテンツに移動
Oracle® Database管理者ガイド
12cリリース1 (12.1)
B71301-11
目次へ移動
目次
索引へ移動
索引

前
次

2 Oracle Databaseの作成および構成

データベースを計画した後で、グラフィカル・ツールまたはSQLコマンドを使用してデータベースを作成できます。

関連項目:

  • 基礎となるオペレーティング・システム・ファイルがOracle Databaseサーバーによって自動的に作成および管理されるデータベースの作成方法の詳細は、「Oracle Managed Filesの使用」を参照してください

  • Oracle Real Application Clusters(Oracle RAC)環境でのデータベース作成に関する情報は、使用しているプラットフォーム固有のOracle Real Application Clustersインストレーション・ガイドを参照してください。

2.1 Oracle Databaseの作成の概要

通常は、Oracle Databaseソフトウェアのインストール時にデータベースを作成します。ただし、インストール後にもデータベースを作成できます。

インストール後にデータベースを作成する理由には、次のものがあります。

  • Oracle Universal Installer(OUI)を使用してソフトウェアのみをインストールして、データベースを作成しなかったため。

  • 既存のOracle Databaseと同じホスト・コンピュータに別のデータベース(およびデータベース・インスタンス)を作成するため。この場合、この章では、新しいデータベースが既存のデータベースと同じOracleホームを使用すると仮定します。OUIを再度実行すれば、新しいOracleホームにデータベースを作成することもできます。

  • データベースのコピー(クローン)を作成するため。

データベースを作成する具体的な方法には、次の方法があります。

2.2 データベースを作成する前の考慮点

データベースの作成では、いくつかのオペレーティング・システム・ファイルを準備することで、それらのファイルをOracle Databaseとしてまとめて動作できるようにします。データベースは、データファイルの数やアクセスするインスタンスの数にかかわらず、1回のみ作成します。データベースの作成では、既存のデータベース内の情報を消去し、同じ名前と物理構造を持つ新規データベースを作成することもできます。

2.2.1 データベース作成計画

データベースの作成を準備するには、調査と綿密な計画が必要です。

表2-1に、推奨する処理を示します。

表2-1 データベース計画タスク

アクション 追加情報

データベース表と索引を計画し、それらが必要とする領域を見積ります。

Oracle Databaseの構造と記憶域

スキーマ・オブジェクト

データベースを構成する基礎となるオペレーティング・システム・ファイルのレイアウトを計画します。ファイルを適切に分散すると、ファイル・アクセス時のI/Oが分散されるため、データベースのパフォーマンスを大幅に向上できます。Oracleソフトウェアをインストールしてデータベースを作成するときにI/Oを分散させるには、いくつかの方法があります。たとえば、REDOログ・ファイルを異なるディスクに配置したり、ストライプ化を使用できます。競合が少なくなるようにデータファイルを配置できます。また、データの密度(データ・ブロック当たりの行数)を制御できます。高速リカバリ領域を作成する場合は、データファイルとは異なる記憶デバイスに配置することをお薦めします。

この計画タスクを大幅に簡素化するには、データベース記憶域を構成するオペレーティング・システム・ファイルの作成および管理に、Oracle Managed Filesおよび自動ストレージ管理の使用を検討します。

Oracle Managed Filesの使用

『Oracle Automatic Storage Management管理者ガイド』

『Oracle Databaseパフォーマンス・チューニング・ガイド』

該当のOracle Databaseインストレーション・ガイドなど、使用しているオペレーティング・システム固有のOracleマニュアル。

グローバル・データベース名を選択します。ネットワーク構造内のデータベースの名前と位置で構成されます。グローバル・データベース名を作成するには、DB_NAME DB_DOMAINの両方の初期化パラメータを設定します。

「グローバル・データベース名の決定」

初期化パラメータ・ファイルに含まれる初期化パラメータについて理解します。特にサーバー・パラメータ・ファイルの概要と操作について理解します。サーバー・パラメータ・ファイルを使用すると、初期化パラメータをサーバー側のディスク・ファイルに永続的に格納して管理できます。

「初期化パラメータと初期化パラメータ・ファイルの概要」

「サーバー・パラメータ・ファイルの概要」

『Oracle Databaseリファレンス』

データベース・キャラクタ・セットを選択します。

データ・ディクショナリ内のデータも含め、すべての文字データは、そのデータベースのキャラクタ・セットに格納されます。データベースの作成時には、データベース・キャラクタ・セットを指定します。

詳細は、「キャラクタ・セットの選択について」を参照してください。

『Oracle Databaseグローバリゼーション・サポート・ガイド』

データベースでサポートする必要のあるタイム・ゾーンを検討します。

Oracle Databaseでは、2つのタイム・ゾーン・ファイルのいずれかが、有効なタイム・ゾーンのソースとして使用されます。デフォルトのタイム・ゾーン・ファイルはtimezlrg_11.datです。これには、小さいタイム・ゾーン・ファイルtimezone_11.datより、多くのタイム・ゾーンが含まれています。

「データベースのタイム・ゾーン・ファイルの指定」

データベースの標準ブロック・サイズを選択します。このサイズはデータベースの作成時にDB_BLOCK_SIZE初期化パラメータによって指定しますが、データベースの作成後は変更できません。

標準ブロック・サイズは、SYSTEM表領域およびその他の大部分の表領域で使用されます。また、表領域の作成時に、最大4つの非標準ブロック・サイズを指定できます。

「データベース・ブロック・サイズの指定」

セクター・サイズが4KBのディスク上にオンラインREDOログ・ファイルを格納する場合は、REDOログのブロック・サイズを手動で指定する必要があるかどうかを確認します。

「REDOログ・ファイルのブロック・サイズの計画」

SYSAUX表領域の適切な初期サイズを決定します。

「SYSAUX表領域の概要」

SYSTEM以外のユーザーに対してはデフォルトの表領域を使用し、データベース・オブジェクトがSYSTEM表領域に誤って保存されないようにします。

「デフォルト永続表領域の作成」

UNDOデータを管理するために、UNDO表領域を使用します。

UNDOの管理

バックアップおよびリカバリ計画を作成し、データベースを障害から保護します。重要な点として、多重化による制御ファイルの保護、適切なバックアップ・モードの選択、およびオンラインREDOログ・ファイルとアーカイブREDOログ・ファイルの管理があげられます。

REDOログの管理

アーカイブREDOログ・ファイルの管理

制御ファイルの管理

『Oracle Databaseバックアップおよびリカバリ・アドバンスト・ユーザーズ・ガイド』

インスタンスの起動と停止、データベースのマウントとオープンの原理およびオプションについて理解します。

起動と停止

2.2.2 キャラクタ・セットの選択について

データベースに対して適切なキャラクタ・セットを選択することが重要です。データベース・キャラクタ・セットとして、AL32UTF8をお薦めします。

AL32UTF8とは、Unicode標準であるUTF-8エンコードに対してOracleで使用している名前です。Unicode標準は、現在世界で使用されている言語のほとんどをサポートする汎用キャラクタ・セットです。Unicode標準を使用することは、データベース処理を含め、すべての多言語テクノロジにおいて不可欠です。

データベースが作成され、本番データが累積された後にデータベース・キャラクタ・セットを変更することは、時間がかかる複雑なプロジェクトになります。そのため、インストール時に適切なキャラクタ・セットを選択することが重要です。データベースに現在多言語データが格納されていなくても、数年内に多言語データを格納する予定がある場合、通常は、データベース・キャラクタ・セットにAL32UTF8を選択することのみが、適切な判断となります。Unicodeの普遍性と柔軟性は、通常はシングルバイト・キャラクタ・セットと比較した場合のテキスト処理速度の若干の低下や非Unicodeキャラクタ・セットよりも高い非ASCIIテキストの記憶域要件などの関連する追加コストを上回る価値があります。

AL32UTF8を使用せず、ベンダー要件によって選択が制限されない場合は、データベースに推奨としてリストされているキャラクタ・セットの1つを使用することをお薦めします。推奨されるキャラクタ・セットは、最新のクライアント・オペレーティング・システムの要件に基づいて選択されたものです。Oracle Universal Installer (OUI)は推奨されるリストのみを提示し、非推奨キャラクタ・セットを選択するにはDatabase Configuration Assistant (DBCA)を別途使用する必要があります。また、DBCAのデフォルトのデータベース作成構成では、推奨されるキャラクタ・セットのみ選択できます。非推奨キャラクタ・セットを選択するには、DBCAまたはCREATE DATABASE文の高度な構成モードを使用する必要があります。

注意:

Oracle8i リリース1 (8.1.7)以前のOracle Databaseクライアントおよびサーバーとの互換性のために必要であるか、またはアプリケーション・ベンダーから明示的に要求された場合以外は、UTF8という名称のキャラクタ・セットをデータベース・キャラクタ・セットとして使用しないでください。名称は似ていますが、UTF8はUnicodeエンコーディングUTF-8の適切な実装ではありません。UTF-8処理が予期されている場合にUTF8キャラクタ・セットが使用されると、データの消失およびセキュリティの問題が発生する場合があります。このことは、XMLやURLアドレスなどのWeb関連データに特に該当します。

注意:

ASCIIベースのプラットフォーム上のデータベースには、ASCIIベースのキャラクタ・セットのみ選択できます。

関連項目:

データベースに推奨されるキャラクタ・セットの詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください

2.2.3 作成の前提条件

データベースを作成する前に、前提条件を満たす必要があります。

新しいデータベースを作成するには、次の前提条件を満たす必要があります。

  • 必要なOracleソフトウェアがインストールされていること。これには、オペレーティング・システム固有の各環境変数の設定、およびソフトウェアとデータベース・ファイルのディレクトリ構造の設定が含まれます。

  • Oracle Databaseインスタンスを起動するために十分なメモリーが使用可能であること。

  • Oracle Databaseを実行するコンピュータ上に、設計したデータベースのための十分なディスク記憶域が使用可能であること。

各前提条件については、オペレーティング・システム固有の『Oracle Databaseインストレーション・ガイド』を参照してください。Oracle Universal Installerを使用すると、表示される手順に従ってインストールでき、環境変数、ディレクトリ構造および認可の設定に関するヘルプが表示されます。

2.3 DBCAを使用したデータベースの作成

Oracle Database Configuration Assistant (DBCA)は、Oracleデータベースを作成および構成するためのツールです。

2.3.1 DBCAを使用したデータベースの作成について

Database Configuration Assistant(DBCA)はほとんど自動化されており、DBCAが完了するとデータベースが使用可能状態になるので、DBCAを使用してデータベースを作成することをお薦めします。

選択したインストール・タイプによっては、Oracle Universal Installer(OUI)からDBCAを起動できます。また、Oracle Databaseをインストール後は、スタンドアロン・ツールとして、いつでもDBCAを起動できます。

DBCAは、対話型モードまたは非対話型(サイレント)モードで実行できます。対話型モードには、データベースを作成して構成するためのグラフィカル・インタフェースおよびガイド付きワークフローが用意されています。非対話型(サイレント)モードでは、データベース作成スクリプトを記述できます。DBCAを非対話型(サイレント)モードで実行するには、コマンドライン引数またはレスポンス・ファイル、あるいはその両方を指定します。

2.3.2 対話型DBCAを使用したデータベースの作成について

データベースを最も簡単に作成する方法は、Database Configuration Assistant (DBCA)を使用することです。

対話型DBCAを使用したデータベースの作成方法の詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

2.3.3 非対話型(サイレント) DBCAを使用したデータベースの作成について

Database Configuration Assistant (DBCA)の非対話型(サイレント)モードを使用してデータベースを作成できます。

非対話型(サイレント)モードのDBCAの使用方法の詳細は、次のドキュメントを参照してください。

2.3.3.1 DBCAの例

Database Configuration Assistant (DBCA)の非対話型(サイレント)モードでデータベースを作成する方法を例で示します。

次の例では、DBCAにコマンドライン引数を渡してデータベースを作成しています。

dbca -silent -createDatabase -templateName General_Purpose.dbc
  -gdbname oradb.example.com -sid oradb -responseFile NO_VALUE 
  -characterSet AL32UTF8 -memoryPercentage 30 -emConfiguration LOCAL

Enter SYSTEM user password:
password
Enter SYS user password:
password
Copying database files
1% complete
3% complete
...

完全なサイレント操作が実行されるように、stdoutをファイルにリダイレクトできます。ただし、その場合はコマンドライン引数またはレスポンス・ファイルに管理アカウントのパスワードを入力する必要があります。

DBCAコマンドライン引数の概要のヘルプを表示するには、次のコマンドを入力します。

dbca -help

デフォルトなど、引数の詳細は、配布媒体に同梱されているレスポンス・ファイル・テンプレートを参照してください。このファイルの名前と場所は、使用しているプラットフォームのインストレーション・ガイドの付録Aに記載されています。

2.4 CREATE DATABASE文を使用したデータベースの作成

CREATE DATABASE SQL文の使用は、Oracle Database Configuration Assistant (DBCA)を使用するよりも手動操作の多いデータベース作成アプローチです。DBCAのかわりにこの文を使用する利点は、スクリプト内からデータベースを作成できることです。

2.4.1 CREATE DATABASE文を使用したデータベースの作成の概要

CREATE DATABASE文を使用する場合は、実行可能なデータベースを作成する前に他の処理が必要です。この処理には、データ・ディクショナリ表のビューの作成、標準PL/SQLパッケージのインストールなどがあります。これらの処理には、提供されたスクリプトを実行します。

データベース作成用の既存のスクリプトがある場合は、Oracle Databaseの新機能を活用するようにこれらのスクリプトを編集することを検討してください。

この項の手順が適用できるのは、単一インスタンスのインストールの場合のみです。Oracle RACデータベースの作成手順の詳細は、使用しているプラットフォーム固有のOracle Real Application Clusters(Oracle RAC)インストレーション・ガイドを参照してください。

注意:

単一インスタンスとは、単一のホスト・コンピュータに存在できるOracleインスタンスが1つのみであるという意味ではありません。実際には、複数のOracleインスタンス(および関連するデータベース)を、単一のホスト・コンピュータで実行できます。単一インスタンスのデータベースとは、一度に1つのOracleインスタンスのみがアクセスするデータベースのことですが、これに対して、Oracle RACデータベースには、複数ノードの複数Oracleインスタンスが同時にアクセスします。Oracle RACの詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。

ヒント:

Oracle Automatic Storage Management(Oracle ASM)を使用してディスク記憶域を管理している場合は、これらの手順を実行する前に、Oracle ASMインスタンスを起動してディスク・グループを構成する必要があります。『Oracle Automatic Storage Management管理者ガイド』を参照してください。

2.4.2 手順1: インスタンス識別子(SID)の指定

ORACLE_SID環境変数は、後で作成して同じホスト・コンピュータで同時に実行する他のOracle Databaseインスタンスと区別するために使用されます。

  1. インスタンスの一意のOracleシステム識別子(SID)を決定します。

  2. コマンド・ウィンドウを開きます。

    注意:

    後続の手順では、このコマンド・ウィンドウを使用します。
  3. ORACLE_SID環境変数を設定します。

ORACLE_SIDでの有効な文字に関する制約はプラットフォーム固有です。一部のプラットフォームでは、SIDの大/小文字が区別されます。

注意:

一般的には、SIDはデータベース名と等しくなるように設定します。データベース名に指定できるのは最大8文字までです。詳細は、『Oracle Databaseリファレンス』DB_NAME初期化パラメータに関する説明を参照してください。

次のUNIXおよびLinuxオペレーティング・システムの例では、「手順6: インスタンスへの接続」で接続するインスタンスのSIDを設定しています。

  • Bourne、Bash、またはKornシェルの場合:

    ORACLE_SID=mynewdb
    export ORACLE_SID
    
  • Cシェルの場合:

    setenv ORACLE_SID mynewdb
    

次の例では、Windowsオペレーティング・システム用のSIDを設定しています。

set ORACLE_SID=mynewdb

関連項目:

Oracleインスタンスに関するバックグラウンド情報は、『Oracle Database概要』を参照してください。

2.4.3 手順2: 必要な環境変数が設定されていることの確認

プラットフォームによっては、環境変数を設定するか少なくとも正しく設定されていることを確認するまで、(後の手順で必要な)SQL*Plusを起動できない場合があります。

  • 必要な環境変数を設定します。

たとえば、ほとんどのプラットフォームでは、ORACLE_SIDORACLE_HOMEを設定する必要があります。さらに、PATH変数にORACLE_HOME/binディレクトリを含めるように設定することもお薦めします。UNIXおよびLinuxプラットフォームでは、これらの環境変数を手動で設定する必要があります。Windowsプラットフォームでは、Windowsレジストリ内のORACLE_HOMEORACLE_SIDにOUIが値を自動的に割り当てます。インストール時にデータベースを作成しなかった場合は、レジストリ内のORACLE_SIDをOUIが設定しないため、後でデータベースを作成するときにORACLE_SID環境変数を設定する必要があります。

2.4.4 手順3: データベース管理者の認証方式の選択

データベースを作成するには、作成するユーザーが認証を受け、適切なシステム権限が付与されている必要があります。

  • 認証方式を決定します。

必要な権限を付与された管理者として認証されるには、次の方法があります。

  • パスワード・ファイルによる方法

  • オペレーティング・システム認証による方法

パスワード・ファイルによる認証方法を使用するには、「データベース・パスワード・ファイルの作成とメンテナンス」の説明に従ってパスワード・ファイルを作成します。オペレーティング・システム認証による方法を使用するには、必ずオペレーティング・システムの適切なユーザー・グループのメンバーになっているユーザー・アカウントでホスト・コンピュータにログインします。たとえば、UNIXおよびLinuxプラットフォームでは、通常dbaユーザー・グループを使用します。Windowsプラットフォームでは、Oracleソフトウェアをインストールするユーザーが、必要なユーザー・グループに自動的に配置されます。

関連項目:

2.4.5 手順4: 初期化パラメータ・ファイルの作成

Oracleインスタンスの起動時に、初期化パラメータ・ファイルが読み込まれます。このファイルには、テキスト・エディタで作成して変更できるテキスト・ファイルか、データベースにより作成されて動的に変更されるバイナリ・ファイルを使用できます。バイナリ・ファイル(こちらの使用を推奨)は、サーバー・パラメータ・ファイルと呼ばれます。ここで示す手順では、テキスト形式の初期化パラメータ・ファイルを作成します。後述の手順で、テキスト・ファイルからサーバー・パラメータ・ファイルを作成します。

  • 初期化パラメータ・ファイルを作成します。

テキスト形式の初期化パラメータ・ファイルを作成する方法の1つは、「初期化パラメータ・ファイルのサンプル」に記載されているサンプルを編集する方法です。

初期化パラメータのファイルを手動で作成する場合は、少なくとも表2-2に記載されているパラメータが含まれているようにしてください。記載されていない他のすべてのパラメータにはデフォルトの値があります。

表2-2 推奨される最低限の初期化パラメータ

パラメータ名 必須 注意

DB_NAME

はい

データベース識別子。CREATE DATABASE文で使用される値に対応している必要があります。最大で8文字です。

CONTROL_FILES

いいえ

推奨されています。提供されていない場合は、データベース・インスタンスにより初期化パラメータ・ファイルと同じ場所に制御ファイルが作成されます。このパラメータを提供することで制御ファイルを多重化できます。詳細は、「初期制御ファイルの作成」を参照してください。

MEMORY_TARGET

いいえ

インスタンスにより使用されるメモリーの合計容量を設定し、自動メモリー管理を有効にします。このパラメータのかわりに他の初期化パラメータを選択して、メモリーの使用をより詳細に手動で制御することもできます。「メモリーの手動構成」を参照してください。

操作を容易にするために、デフォルトのファイル名を使用して、Oracle Databaseのデフォルトの場所に初期化パラメータ・ファイルを配置します。このようにすることにより、Oracle Databaseが初期化パラメータ・ファイルのデフォルトの場所を自動的に参照するため、データベースの起動時にSTARTUPコマンドのPFILE句を指定する必要がなくなります。

使用しているプラットフォームの初期化パラメータ・ファイルのデフォルトのファイル名や場所など、初期化パラメータおよび初期化パラメータ・ファイルの詳細は、「初期化パラメータと初期化パラメータ・ファイルの概要」を参照してください。

関連項目:

2.4.6 手順5: (Windowsの場合のみ)インスタンスの作成

Windowsプラットフォームでは、インスタンスが存在しない場合には、インスタンスに接続する前に手動で作成する必要があります。ORADIMコマンドでは、新しいWindowsサービスを作成することでOracle Databaseインスタンスを作成します。

インスタンスを作成する手順は、次のとおりです。

  • Windowsのコマンド・プロンプトで、次のコマンドを入力します。

    oradim -NEW -SID sid -STARTMODE MANUAL -PFILE file
    

    次のプレースホルダを適切な値に置き換えます。

    • sid - 目的のSID (mynewdbなど)

    • file - テキスト形式の初期化パラメータ・ファイルへのフルパス

注意:

この時点では、-STARTMODE引数をAUTOに設定しないでください。設定すると新しいインスタンスが起動され、まだ存在しないデータベースをマウントしようとします。必要に応じて、「手順14: (オプション)インスタンスの自動起動の有効化」で、このパラメータをAUTOに変更できます。

ほとんどのOracle Databaseサービスは、Oracleホーム・ユーザーの権限を使用してシステムにログオンします。サービスは、このユーザーの権限を使用して実行されます。ORADIMコマンドは、このユーザー・アカウントのパスワードを要求します。ORADIMを使用して、他のオプションを指定できます。

関連項目:

  • ORADIMコマンドおよびOracleホーム・ユーザーの詳細は、『Oracle Databaseプラットフォーム・ガイドfor Microsoft Windows』を参照してください。

  • Oracleホーム・ユーザーの詳細は、『Oracle Databaseインストレーション・ガイドfor Microsoft Windows』を参照してください。

2.4.7 手順6: インスタンスへの接続

SQL*Plusを起動して、SYSDBA管理権限でOracle Databaseインスタンスに接続します。

  • パスワード・ファイルによる認証を使用するには、次のコマンドを入力してプロンプトが表示された後、SYSパスワードを入力します。

    $ sqlplus /nolog
    SQL> CONNECT SYS AS SYSDBA
    
  • オペレーティング・システム認証を使用するには、次のコマンドを入力します。

    $ sqlplus /nolog
    SQL> CONNECT / AS SYSDBA
    

SQL*Plusが次のメッセージを表示します。

Connected to an idle instance.

注意:

SQL*Plusが次のようなメッセージを表示する場合があります。

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

その場合には、インスタンスがすでに起動されています。間違ったインスタンスに接続している可能性があります。EXITコマンドを使用してSQL*Plusを終了し、ORACLE_SIDが正しく設定されていることを確認して、この手順を繰り返してください。

2.4.8 手順7: サーバー・パラメータ・ファイルの作成

サーバー・パラメータ・ファイルを使用すると、ALTER SYSTEMコマンドを使用して初期化パラメータを変更でき、変更内容はデータベースを停止して起動した後も持続します。サーバー・パラメータ・ファイルは、編集済のテキスト形式の初期化ファイルから作成します。

  • 次のSQL*Plusコマンドを実行します。
    CREATE SPFILE FROM PFILE;
    

このSQL*Plusコマンドでは、テキスト形式の初期化パラメータ・ファイル(PFILE)がデフォルトの場所のデフォルトのファイル名で読み込まれ、テキスト形式の初期化パラメータ・ファイルからサーバー・パラメータ・ファイル(SPFILE)が作成されて、SPFILEがデフォルトのSPFILE名でデフォルトの場所に書き込まれます。

デフォルトのファイル名と場所を使用していない場合は、PFILEとSPFILEの両方のファイル名とパスワードを指定することもできます。

ヒント:

サーバー・パラメータ・ファイルを有効にするには、データベースを再起動する必要があります。

注意:

この時点でのサーバー・パラメータ・ファイルの作成はオプションですが、作成することをお薦めします。サーバー・パラメータ・ファイルを作成しないと、インスタンスが起動されるたびにテキスト形式の初期化パラメータ・ファイルが引き続き読み込まれます。

重要: Oracle Managed Filesを使用しており、初期化パラメータ・ファイルにCONTROL_FILESパラメータが指定されていない場合には、CREATE DATABASE文でデータベースの制御ファイルが作成されるときに制御ファイルの名前と場所を保存できるように、この時点でサーバー・パラメータ・ファイルを作成しておく必要があります。詳細は、「データベース作成時のOracle Managed Filesの作成」を参照してください。

関連項目:

2.4.9 手順8: インスタンスの起動

データベースをマウントせずにインスタンスを起動します。

  • NOMOUNT句を指定してSTARTUPコマンドを実行します。

通常、この方法で起動するのはデータベースの作成時またはメンテナンス時のみです。この例では、初期化パラメータ・ファイルまたはサーバー・パラメータ・ファイルがデフォルトの場所に配置されているため、PFILE句の指定は不要です。

STARTUP NOMOUNT

この時点で、インスタンス・メモリーが割り当てられて、インスタンスのプロセスが起動されます。データベース自体はまだ存在しません。

関連項目:

2.4.10 手順9: CREATE DATABASE文の発行

新しいデータベースを作成するには、CREATE DATABASE文を使用します。

  • CREATE DATABASE文を実行します。

注意:

マルチテナント・コンテナ・データベース(CDB)を作成する場合は、「CREATE DATABASE文を使用したCDBの作成」を参照してください。

例1

次の文では、データベースmynewdbが作成されます。このデータベース名は、初期化パラメータ・ファイルのDB_NAMEパラメータと同じにする必要があります。この例では、次のことを想定しています。

  • 初期化パラメータ・ファイルのCONTROL_FILESパラメータには、制御ファイルの数と場所が指定されています。

  • ディレクトリ/u01/app/oracle/oradata/mynewdbが存在します。

  • ディレクトリ/u01/logs/myおよび/u02/logs/myが存在します。

CREATE DATABASE mynewdb
   USER SYS IDENTIFIED BY sys_password
   USER SYSTEM IDENTIFIED BY system_password
   LOGFILE GROUP 1 ('/u01/logs/my/redo01a.log','/u02/logs/my/redo01b.log') SIZE 100M BLOCKSIZE 512,
           GROUP 2 ('/u01/logs/my/redo02a.log','/u02/logs/my/redo02b.log') SIZE 100M BLOCKSIZE 512,
           GROUP 3 ('/u01/logs/my/redo03a.log','/u02/logs/my/redo03b.log') SIZE 100M BLOCKSIZE 512
   MAXLOGHISTORY 1
   MAXLOGFILES 16
   MAXLOGMEMBERS 3
   MAXDATAFILES 1024
   CHARACTER SET AL32UTF8
   NATIONAL CHARACTER SET AL16UTF16
   EXTENT MANAGEMENT LOCAL
   DATAFILE '/u01/app/oracle/oradata/mynewdb/system01.dbf'
     SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
   SYSAUX DATAFILE '/u01/app/oracle/oradata/mynewdb/sysaux01.dbf'
     SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
   DEFAULT TABLESPACE users
      DATAFILE '/u01/app/oracle/oradata/mynewdb/users01.dbf'
      SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
   DEFAULT TEMPORARY TABLESPACE tempts1
      TEMPFILE '/u01/app/oracle/oradata/mynewdb/temp01.dbf'
      SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
   UNDO TABLESPACE undotbs1
      DATAFILE '/u01/app/oracle/oradata/mynewdb/undotbs01.dbf'
      SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
   USER_DATA TABLESPACE usertbs
      DATAFILE '/u01/app/oracle/oradata/mynewdb/usertbs01.dbf'
      SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

次の特性を持つデータベースが作成されます。

  • データベースにはmynewdbという名前が付けられます。グローバル・データベース名はmynewdb.us.example.comになり、ドメイン部分(us.example.com)は、初期化パラメータ・ファイルから取得されます。「グローバル・データベース名の決定」を参照してください。

  • CONTROL_FILES初期化パラメータ(データベース作成前に初期化パラメータ・ファイルに設定)で指定された3つの制御ファイルが作成されます。「初期化パラメータ・ファイルのサンプル」および「制御ファイルの指定」を参照してください。

  • ユーザー・アカウントSYSSYSTEMのパスワードが指定した値に設定されます。パスワードでは、大/小文字が区別されます。SYSおよびSYSTEMのパスワードを指定する2つの句は、このリリースのOracle Databaseではオプションです。ただし、いずれか一方の句を指定した場合は、もう一方の句も指定する必要があります。これらの句の使用方法の詳細は、「データベースの保護: ユーザーSYSおよびSYSTEMのパスワードの指定」を参照してください。

  • 新しいデータベースには、LOGFILE句で指定されているように、REDOログ・ファイルのグループが3つあり、各グループには2つのメンバーが含まれます。MAXLOGFILESMAXLOGMEMBERSおよびMAXLOGHISTORYは、REDOログの制限を定義します。「適切なREDOログ・ファイル数の選択」を参照してください。REDOログ・ファイルのブロック・サイズは、ディスクの物理セクターと同じサイズである512バイトに設定されています。ブロック・サイズを物理セクター・サイズと同じ(デフォルト)にする場合には、BLOCKSIZE句はオプションです。通常のセクター・サイズおよびブロック・サイズは512です。BLOCKSIZEに設定可能な値は512、1024および4096です。新しいディスクでセクター・サイズが4KBの場合には、オプションでBLOCKSIZEを4096に指定します。詳細は、「REDOログ・ファイルのブロック・サイズの計画」を参照してください。

  • MAXDATAFILESによって、このデータベースでオープンできるデータファイルの最大数が指定されます。この数は、制御ファイルの初期サイズに影響を及ぼします。

    注意:

    データベースの作成時に、制限をいくつか設定できます。これらの制限には、オペレーティング・システムの制限によって制限され、その影響を受けるものがあります。たとえば、MAXDATAFILESを設定すると、Oracle Databaseは、初期のデータベースにデータファイルが1つしかなくても、制御ファイルにMAXDATAFILES個のファイル名を格納できるだけの領域を割り当てます。ただし、制御ファイルの最大サイズは制限されており、オペレーティング・システムによって異なるので、CREATE DATABASE文のパラメータをすべて理論的な最大値で設定できるとはかぎりません。

    データベース作成時に制限を設定する方法の詳細は、『Oracle Database SQL言語リファレンス』および使用しているオペレーティング・システム固有のOracleマニュアルを参照してください。

  • このデータベースにデータを格納する際は、AL32UTF8キャラクタ・セットが使用されます。

  • NATIONAL CHARACTER SETとしてAL16UTF16キャラクタ・セットが指定され、特にNCHARNCLOBまたはNVARCHAR2として定義された列にデータを格納する際に使用されます。

  • DATAFILE句で指定したとおりに、SYSTEM,表領域(オペレーティング・システム・ファイル/u01/app/oracle/oradata/mynewdb/system01.dbfからなる)が作成されます。指定した名前のファイルがすでに存在する場合は上書きされます。

  • SYSTEM表領域はローカル管理の表領域として作成されます。「ローカル管理のSYSTEM表領域の作成」を参照してください。

  • SYSAUX DATAFILE句で指定したとおりに、SYSAUX表領域(オペレーティング・システム・ファイル/u01/oracle/oradata/mynewdb/sysaux01.dbfからなる)が作成されます。「SYSAUX表領域の概要」を参照してください。

  • DEFAULT TABLESPACE句により、指定した名前で、このデータベース用のデフォルト永続表領域が作成されます。

  • DEFAULT TEMPORARY TABLESPACE句により、指定した名前で、このデータベース用のデフォルト一時表領域が作成されます。「デフォルト一時表領域の作成」を参照してください。

  • UNDO TABLESPACE句によって、UNDO表領域が指定の名前で作成されます。このUNDO表領域には、初期化パラメータ・ファイルでUNDO_MANAGEMENT=AUTOを指定した場合に、このデータベース用のUNDOデータが格納されます。このパラメータを省略すると、デフォルトでAUTOに設定されます。「自動UNDO管理の使用: UNDO表領域の作成」を参照してください。

  • USER_DATA TABLESPACE句により、指定した名前で、ユーザー・データおよびデータベース・オプション(Oracle XML DBなど)を格納するための表領域が作成されます。

  • このCREATE DATABASE文ではARCHIVELOG句が指定されていないため、初期状態ではオンラインREDOログはアーカイブされません。これはデータベース作成時の慣例です。後でALTER DATABASE文を使用して、ARCHIVELOGモードに切り替えることができます。mynewdbのアーカイブに関連する初期化パラメータ・ファイル内の初期化パラメータは、LOG_ARCHIVE_DEST_1およびLOG_ARCHIVE_FORMATです。「アーカイブREDOログ・ファイルの管理」を参照してください。

ヒント:

  • CREATE DATABASE文で使用しているディレクトリがすべて存在することを確認します。CREATE DATABASE文ではディレクトリは作成されません。

  • Oracle Managed Filesを使用していない場合は、すべてのTABLESPACE句にDATAFILE句またはTEMPFILE句を指定する必要があります。

  • データベースの作成に失敗した場合は、アラート・ログを参照すると、失敗の原因とその対処措置を判別できます。「アラート・ログの表示」を参照してください。プロセス番号を含むエラー・メッセージが表示される場合は、そのプロセスのトレース・ファイルを調べます。そのプロセス番号がトレース・ファイル名に含まれているトレース・ファイルを探します。詳細は、「トレース・ファイルの検索」を参照してください。

  • CREATE DATABASE文を失敗後に再発行するには、最初にインスタンスを停止してから、前のCREATE DATABASE文で作成されたファイルを削除する必要があります。

例2

この例では、より簡単なCREATE DATABASE文を使用できる、Oracle Managed Filesを使用したデータベースの作成例を示します。Oracle Managed Filesを使用するには、初期化パラメータDB_CREATE_FILE_DESTを設定する必要があります。このパラメータは、データベースで作成されて自動的に名前が付けられる様々なデータベース・ファイル用のベース・ディレクトリを定義します。次の文は、初期化パラメータ・ファイルにこのパラメータを設定する例を示しています。

DB_CREATE_FILE_DEST='/u01/app/oracle/oradata'

Oracle Managed Filesおよび次のCREATE DATABASE文を使用すると、SYSTEM表領域とSYSAUX表領域および文に指定されている追加の表領域がデータベースによって作成され、すべてのデータファイル、制御ファイルおよびREDOログ・ファイルのデフォルト・サイズとプロパティが選択されます。この方法で設定されるこれらのプロパティおよび他のデフォルト・データベース・プロパティは本番環境には適さない場合があるため、生成された設定を調べて必要に応じて変更することをお薦めします。

CREATE DATABASE mynewdb
USER SYS IDENTIFIED BY sys_password
USER SYSTEM IDENTIFIED BY system_password
EXTENT MANAGEMENT LOCAL
DEFAULT TEMPORARY TABLESPACE temp
UNDO TABLESPACE undotbs1
DEFAULT TABLESPACE users;

ヒント:

CREATE DATABASE文が失敗する場合で手順7を完了していない場合は、予期しない方法で初期化パラメータが設定されている、このインスタンス用の既存のサーバー・パラメータ・ファイル(SPFILE)がないかを確認します。たとえば、すべての制御ファイルへの完全パスがSPFILEに設定されている場合は、それらの制御ファイルが存在しないと、CREATE DATABASE文が失敗します。不必要なSPFILEを削除した後は、必ずインスタンスを停止して(STARTUP NOMOUNTを指定して)再起動します。詳細は、「サーバー・パラメータ・ファイルを使用した初期化パラメータの管理」を参照してください。

関連項目:

2.4.11 手順10: 追加の表領域の作成

データベースを稼働させるには、アプリケーション・データ用に追加の表領域を作成する必要があります。

  • CREATE TABLESPACE文を実行して、追加の表領域を作成します。

次のサンプル・スクリプトは、追加の表領域を作成します。

CREATE TABLESPACE apps_tbs LOGGING 
     DATAFILE '/u01/app/oracle/oradata/mynewdb/apps01.dbf' 
     SIZE 500M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED 
     EXTENT MANAGEMENT LOCAL;
-- create a tablespace for indexes, separate from user tablespace (optional)
CREATE TABLESPACE indx_tbs LOGGING 
     DATAFILE '/u01/app/oracle/oradata/mynewdb/indx01.dbf' 
     SIZE 100M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED 
     EXTENT MANAGEMENT LOCAL;

表領域の作成方法の詳細は、「表領域の管理」を参照してください。

2.4.12 手順11: スクリプトの実行によるデータ・ディクショナリ・ビューの作成

データ・ディクショナリ・ビュー、シノニムおよびPL/SQLパッケージの作成およびSQL*Plusの適切な稼働に必要なスクリプトを実行します。

  1. SQL*Plusで、SYSDBA管理権限でOracle Databaseインスタンスに接続します。
    @?/rdbms/admin/catalog.sql
    @?/rdbms/admin/catproc.sql
    @?/rdbms/admin/utlrp.sql
  2. SQL*Plusで、SYSTEMユーザーとしてOracle Databaseインスタンスに接続します。
    @?/sqlplus/admin/pupbld.sql
    

アットマーク(@)はSQL*Plusスクリプトを実行するコマンドの省略記述です。疑問符(?)はOracleホーム・ディレクトリを表すSQL*Plusの変数です。次の表に、スクリプトの説明を示します。

スクリプト 説明

catalog.sql

データ・ディクショナリ表のビュー、動的パフォーマンス・ビューおよび多くのビューに対するパブリック・シノニムを作成します。シノニムにPUBLICアクセスを付与します。

catproc.sql

PL/SQLに必要なスクリプトやPL/SQLとともに使用されるスクリプトをすべて実行します。

utlrp.sql

パッケージ、プロシージャおよび型も含めて、無効な状態となっているすべてのPL/SQLモジュールを再コンパイルします。

pupbld.sql

SQL*Plusに必要です。SQL*Plusがユーザーのコマンドを使用禁止にできるようにします。

2.4.13 手順12: (オプション)スクリプトの実行による追加オプションのインストール

必要に応じて、他のスクリプトも実行できます。実行するスクリプトは、使用またはインストール対象として選択する機能とオプションによって異なります。

  • スクリプトを実行して追加オプションをインストールします。

使用可能なスクリプトは、『Oracle Databaseリファレンス』を参照してください。

このデータベースとともに稼働する他のOracle製品をインストールする場合は、それらの製品のインストール方法を参照してください。製品によっては、追加のデータ・ディクショナリ表を作成する必要があります。通常は、これらの表を作成して、データベースのデータ・ディクショナリにロードするためのコマンド・ファイルが提供されます。

インストールを計画している製品のインストールと管理の方法は、製品固有のOracleマニュアルを参照してください。

2.4.14 手順13: データベースのバックアップ

メディア障害が発生した場合にリカバリするための完全なファイル・セットが確実に存在するように、データベースの全体バックアップを作成してください。

  • データベースをバックアップします。

データベースのバックアップの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

2.4.15 手順14: (オプション)インスタンスの自動起動の有効化

ホスト・コンピュータの再起動時に、Oracleインスタンスが自動的に起動されるように構成する必要がある場合があります。

  • ホスト・コンピュータの再起動時に、Oracleインスタンスが自動的に起動されるように構成します。

詳細は、オペレーティング・システムのドキュメントを参照してください。たとえばWindowsでは、次のコマンドを使用して、コンピュータの再起動時にデータベース・サービスがインスタンスを起動するように構成します。

ORADIM -EDIT -SID sid -STARTMODE AUTO -SRVCSTART SYSTEM [-SPFILE]

自動再起動時にインスタンスがSPFILEを読み込むようにする場合は、-SPFILE引数を使用する必要があります。

関連項目:

2.5 CREATE DATABASE文の句の指定

CREATE DATABASE文を実行すると、Oracle Databaseはいくつかの操作を実行します。実際の操作は、CREATE DATABASE文で指定した句、および初期化パラメータの設定に応じて実行されます。

2.5.1 CREATE DATABASE文の句について

CREATE DATABASE句を使用して、データベースの作成および管理を簡略化できます。

CREATE DATABASE文を実行すると、Oracle Databaseは少なくとも次の操作を実行します。

  • データベース用のデータファイルの作成

  • データベース用の制御ファイルの作成

  • データベース用のオンラインREDOログの作成とARCHIVELOGモードの設定

  • SYSTEM表領域の作成

  • SYSAUX表領域の作成

  • データ・ディクショナリの作成

  • データベースへのデータの格納に使用するキャラクタ・セットの設定

  • データベース・タイム・ゾーンの設定

  • データベースのマウントとオープン

2.5.2 データベースの保護: ユーザーSYSおよびSYSTEMのパスワードの指定

データベースを保護するには、ユーザーSYSおよびSYSTEMのパスワードを指定します。

  • CREATE DATABASE文に、ユーザーSYSおよびSYSTEMのパスワードを指定する句を含めます。

CREATE DATABASE文でユーザーSYSおよびSYSTEMのパスワード指定に使用する句は、次のとおりです。

  • USER SYS IDENTIFIED BY password

  • USER SYSTEM IDENTIFIED BY password

これらの句を省略すると、これらのユーザーにはそれぞれデフォルトのパスワードchange_on_installおよびmanagerが割り当てられます。デフォルトのパスワードが使用された場合は、そのことを示すレコードがアラート・ログに書き込まれます。データベースを保護するには、データベース作成直後にALTER USER文を使用して、これらのパスワードを変更する必要があります。

これらの句は、このリリースのOracle Databaseではオプションですが、指定することをお薦めします。デフォルトのパスワードは一般に知られており、後で変更するのを怠ると、データベースを悪意のユーザーによる攻撃に対して無防備な状態で放置することになります。

パスワードを選択するときは、パスワードでは大/小文字が区別されることに注意してください。また、使用中のデータベースにパスワード形式の要件が設定されている場合もあります。詳細は、『Oracle Databaseセキュリティ・ガイド』のOracle Databaseによるパスワードの複雑度の検証方法に関する項を参照してください。

2.5.3 ローカル管理のSYSTEM表領域の作成

データベースの作成時に、ローカル管理のSYSTEM表領域を作成します。ローカル管理表領域では、各データファイルに格納されるビットマップを使用してエクステントを管理します。

  • CREATE DATABASE文にEXTENT MANAGEMENT LOCAL句を指定すると、ローカル管理のSYSTEM表領域を作成できます。

EXTENT MANAGEMENT LOCAL句を指定しない場合は、デフォルトでディクショナリ管理のSYSTEM表領域が作成されます。ディクショナリ管理表領域は非推奨です。

ローカル管理のSYSTEM表領域を指定してデータベースを作成する場合にOracle Managed Filesを使用していない場合は、次の条件が満たされているかどうかを確認してください。

  • DEFAULT TEMPORARY TABLESPACE句をCREATE DATABASE文に指定

  • UNDO TABLESPACE句をCREATE DATABASE文に指定

関連項目:

2.5.4 SYSAUX表領域のデータファイル属性の指定

SYSAUX表領域はデフォルトで作成されますが、データベース作成時にデータファイル属性を指定できます。

SYSAUX表領域のデータファイル属性を指定する手順:

  • CREATE DATABASE文にSYSAUX DATAFILE句を含めます。

SYSTEM表領域に対してDATAFILE句を指定している場合は、SYSAUX DATAFILE句も指定する必要があり、指定しない場合は、CREATE DATABASE文が失敗します。この要件は、Oracle Managed Files機能が使用可能な場合は適用されません(「データベース作成時のOracle Managed Filesの作成」を参照してください)。

2.5.4.1 SYSAUX表領域の概要

SYSAUX表領域はデータベース作成時に必ず作成されます。SYSAUX表領域は、SYSTEM表領域の予備の表領域として機能します。これは、以前に固有の表領域を必要としていたOracle Databaseの多くの機能と製品に対するデフォルトの表領域であるため、データベースに必要な表領域の数が削減されます。また、SYSTEM表領域の負荷も軽減されます。

SYSAUX表領域に対して指定できるのはデータファイルの属性のみで、CREATE DATABASE文でSYSAUX DATAFILE句を使用して指定します。SYSAUX表領域の必須属性は、Oracle Databaseによって設定され、次のような属性があります。

  • PERMANENT

  • READ WRITE

  • EXTENT MANAGMENT LOCAL

  • SEGMENT SPACE MANAGMENT AUTO

これらの属性は、ALTER TABLESPACE文で変更できず、変更しようとするとエラーが発生します。SYSAUX表領域の削除や名前変更はできません。

SYSAUX表領域のサイズは、SYSAUXを使用するデータベース・コンポーネントのサイズにより決定します。V$SYSAUX_OCCUPANTSビューを問い合せることにより、これらのコンポーネントのリストを表示できます。これらのコンポーネントの初期サイズに基づいて、SYSAUX表領域には、データベース作成時に最低限400MB必要です。SYSAUX表領域の領域要件は、データベースが完全にデプロイされた後、その使用状況やワークロードによって増加します。SYSAUX表領域の領域消費を継続的に管理する方法の詳細は、「SYSAUX表領域の管理」を参照してください。

SYSAUX表領域のセキュリティ属性はSYSTEM表領域と同じです。

2.5.5 自動UNDO管理の使用: UNDO表領域の作成

自動UNDO管理ではUNDO表領域が使用されます。

  • 自動UNDO管理を使用可能にするには、初期化パラメータ・ファイルでUNDO_MANAGEMENT初期化パラメータをAUTOに設定します。このパラメータを省略すると、デフォルトでデータベースが自動UNDO管理になります。

このモードでは、UNDOデータがUNDO表領域に格納され、Oracle Databaseによって管理されます。UNDO表領域を定義して名前を付けるには、データベース作成時にCREATE DATABASE文にUNDO TABLESPACE句を指定する必要があります。この句を省略して自動UNDO管理を使用可能にすると、SYS_UNDOTBSという名前のデフォルトのUNDO表領域が作成されます。

注意:

UNDO表領域を自分で定義しようとした場合、UNDO表領域のブロック・サイズがデータベースの最も大きいデータ・ファイルのブロック・サイズに対応していることを確認してください。

関連項目:

2.5.6 デフォルト永続表領域の作成

デフォルトの永続表領域を作成することをお薦めします。この表領域には、Oracle Databaseによって、別の永続表領域が明示的に指定されていないSYSTEM以外のユーザーが割り当てられます。

データベースのデフォルトの永続表領域を指定する手順:

  • DEFAULT TABLESPACE句をCREATE DATABASE文に含めます

DEFAULT TABLESPACE句を指定しない場合、SYSTEM以外のユーザーに対するデフォルトの永続表領域はSYSTEM表領域です。

関連項目:

CREATE DATABASEおよびALTER DATABASEDEFAULT TABLESPACE句の構文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

2.5.7 デフォルト一時表領域の作成

デフォルト一時表領域を作成する場合、Oracle Databaseでは、一時表領域が明示的に割り当てられていないユーザーに対してこの表領域が一時表領域として割り当てられます。

データベースのデフォルト一時表領域を作成する手順:

  • DEFAULT TEMPORARY TABLESPACE句をCREATE DATABASE文に含めます。

一時表領域または表領域グループは、CREATE USER文で明示的にユーザーに割り当てることができます。ただし、それを行わない場合は、デフォルトの一時表領域がデータベースに指定されていないと、これらのユーザーには一時表領域としてSYSTEM表領域がデフォルトで割り当てられます。一時データをSYSTEM表領域に格納するのはよい方法ではなく、すべてのユーザーに一時表領域を個別に割り当てるのは非効率的です。したがって、CREATE DATABASEDEFAULT TEMPORARY TABLESPACE句の使用をお薦めします。

注意:

ローカル管理のSYSTEM表領域を指定すると、そのSYSTEM表領域は一時表領域として使用できません。この場合は、デフォルトの一時表領域を作成する必要があります。この動作については、「ローカル管理のSYSTEM表領域の作成」を参照してください。

関連項目:

  • CREATE DATABASEおよびALTER DATABASEDEFAULT TEMPORARY TABLESPACE句の構文の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

  • 一時表領域の作成と使用については、「一時表領域」を参照してください

  • 一時表領域グループの作成と使用については、「複数の一時表領域: 表領域グループの使用」を参照してください

2.5.8 データベース作成時のOracle Managed Filesの作成

Oracle Managed Files機能を使用すると、CREATE DATABASE文に指定する句とパラメータの数を最小限に抑えることができます。

  • Oracle Databaseによってファイルが作成および管理されるディレクトリまたはOracle Automatic Storage Management(Oracle ASM)ディスク・グループのいずれかを指定します。

初期化パラメータ・ファイルにDB_CREATE_FILE_DESTDB_CREATE_ONLINE_LOG_DEST_nまたはDB_RECOVERY_FILE_DEST初期化パラメータを設定すると、データベースの基礎となるオペレーティング・システム・ファイルをOracle Databaseで作成および管理できます。指定した初期化パラメータおよびCREATE DATABASE文で指定した句に応じて、次のデータベース構造のオペレーティング・システム・ファイルがOracle Databaseによって自動的に作成および管理されます。

  • 表領域とそのデータファイル

  • 一時表領域とその一時ファイル

  • 制御ファイル

  • オンラインREDOログ

  • アーカイブREDOログ・ファイル

  • フラッシュバック・ログ

  • ブロック・チェンジ・トラッキング・ファイル

  • RMANバックアップ

関連項目:

高速リカバリ領域を作成する初期化パラメータの設定方法については、「高速リカバリ領域の指定」を参照してください

次のCREATE DATABASE文で、Oracle Managed Files機能の動作を示します。必要な初期化パラメータは指定されているとします。

CREATE DATABASE mynewdb
     USER SYS IDENTIFIED BY sys_password
     USER SYSTEM IDENTIFIED BY system_password
     EXTENT MANAGEMENT LOCAL
     UNDO TABLESPACE undotbs1
     DEFAULT TEMPORARY TABLESPACE tempts1
     DEFAULT TABLESPACE users;
  • SYSTEM表領域はローカル管理の表領域として作成されます。EXTENT MANAGEMENT LOCAL句を指定しないと、SYSTEM表領域はディクショナリ管理の対象として作成されますが、この方法はお薦めしません。

  • DATAFILE句が指定されていないため、SYSTEM表領域用のOracle Managed Filesのデータファイルが作成されます。

  • LOGFILE句が指定されていないため、Oracleが管理するREDOログ・ファイルのグループが2つ作成されます。

  • SYSAUX DATAFILEが指定されていないため、SYSAUX表領域用のOracle Managed Filesのデータファイルが作成されます。

  • UNDO TABLESPACE句およびDEFAULT TABLESPACE句にDATAFILE副次句が指定されていないため、これらの各表領域用にOracle Managed Filesのデータファイルが作成されます。

  • DEFAULT TEMPORARY TABLESPACE句にTEMPFILE副次句が指定されていないため、Oracle Managed Filesの一時ファイルが作成されます。

  • 初期化パラメータ・ファイルにCONTROL_FILES初期化パラメータが指定されていない場合は、Oracle Managed Filesの制御ファイルも作成されます。

  • サーバー・パラメータ・ファイル(「サーバー・パラメータ・ファイルを使用した初期化パラメータの管理」を参照)を使用している場合は、適切な初期化パラメータが自動的に設定されます。

    関連項目:

    • Oracle Managed Files機能と使用方法の詳細は、「Oracle Managed Filesの使用」を参照してください

    • 自動ストレージ管理の詳細は、Oracle Automatic Storage Management管理者ガイドを参照してください。

2.5.9 データベース作成時のbigfile表領域のサポート

Oracle Databaseでは、bigfile表領域を作成できるようにすることで、表領域の管理を簡素化し、非常に大規模なデータベースのサポートを可能にしています。

bigfile表領域に含めることができるファイルは1つのみですが、そのファイルには最大40億ブロックまで設定できます。1つのOracle Databaseのデータファイルの最大数は制限されています(通常は64000ファイル)。したがって、bigfile表領域によって、Oracle Databaseの記憶域容量が大幅に増加します。

この項では、bigfile表領域のサポートを可能にするCREATE DATABASE文の句について説明します。

関連項目:

bigfile表領域の詳細は、「bigfile表領域」を参照してください

2.5.9.1 デフォルトの表領域タイプの指定

CREATE DATABASE文のSET DEFAULT...TABLESPACE句によって、後続のCREATE TABLESPACE文でこのデータベースに使用される表領域のデフォルト・タイプが決定します。

  • SET DEFAULT BIGFILE TABLESPACEまたはSET DEFAULT SMALLFILE TABLESPACEを指定します。

この句を省略すると、デフォルトでは、従来のタイプのOracle Database表領域であるsmallfile表領域が作成されます。smallfile表領域には最大1022ファイルを含めることができ、それぞれ400万ブロックまで設定できます。

bigfile表領域によってデータファイルがユーザーに対して完全に透過的になるため、bigfile表領域を使用するとOracle Managed Filesの機能がさらに強化されます。ALTER TABLESPACE文のSQL構文は、基礎となるデータファイルではなく表領域で操作を実行できるように拡張されています。

表領域のデフォルト・タイプがbigfile表領域であることを指定するには、「データベース作成時のOracle Managed Filesの作成」に示したCREATE DATABASE文を次のように変更します。

CREATE DATABASE mynewdb
     USER SYS IDENTIFIED BY sys_password
     USER SYSTEM IDENTIFIED BY system_password
     SET DEFAULT BIGFILE TABLESPACE
     UNDO TABLESPACE undotbs1
     DEFAULT TEMPORARY TABLESPACE tempts1;

デフォルトの表領域タイプをデータベース作成後に動的に変更するには、ALTER DATABASE文のSET DEFAULT TABLESPACE句を使用します。

ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE;

データベースの現行のデフォルト一時表領域タイプを判断するには、DATABASE_PROPERTIESデータ・ディクショナリ・ビューを次のように問い合せます。

SELECT PROPERTY_VALUE FROM DATABASE_PROPERTIES 
   WHERE PROPERTY_NAME = 'DEFAULT_TBS_TYPE';

2.5.9.2 デフォルトの表領域タイプの上書き

SYSTEMおよびSYSAUX表領域は、常にデフォルトの表領域タイプで作成されます。ただし、UNDOおよびDEFAULT TEMPORARY表領域のデフォルトの表領域タイプは、CREATE DATABASE操作時に、オプションで明示的に上書きできます。

  • デフォルトの表領域タイプをオーバーライドするUNDO TABLESPACE句またはDEFAULT TEMPORARY TABLESPACE句を指定します。

たとえば、次のように指定すると、デフォルトの表領域タイプがsmallfileのデータベースで、bigfileのUNDO表領域を作成できます。

CREATE DATABASE mynewdb
...
     BIGFILE UNDO TABLESPACE undotbs1
        DATAFILE '/u01/oracle/oradata/mynewdb/undotbs01.dbf'
        SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

次のように指定すると、デフォルトの表領域タイプがbigfileのデータベースで、smallfileのDEFAULT TEMPORARY表領域を作成できます。

CREATE DATABASE mynewdb
   SET DEFAULT BIGFILE TABLESPACE
...
     SMALLFILE DEFAULT TEMPORARY TABLESPACE tempts1
        TEMPFILE '/u01/oracle/oradata/mynewdb/temp01.dbf' 
        SIZE 20M REUSE
...

2.5.10 データベースのタイム・ゾーンとタイム・ゾーン・ファイルの指定

Oracle Databaseの日時データ型、期間データ型およびタイム・ゾーン・サポートにより、イベントとトランザクションの時間に関して一貫性のある情報を格納できます。

2.5.10.1 データベースのタイム・ゾーンの設定

CREATE DATABASE文のSET TIME_ZONE句を使用して、データベース・タイム・ゾーンを設定できます。

  • データベースの作成時にデータベースのタイム・ゾーンを設定するには、CREATE DATABASE文でSET TIME_ZONE句を使用します。

データベースのタイム・ゾーンを設定しない場合は、デフォルトでホスト・オペレーティング・システムのタイム・ゾーンに設定されます。

セッションのデータベース・タイム・ゾーンを変更するには、ALTER SESSION文でSET TIME_ZONE句を使用します。

関連項目:

データベース・タイム・ゾーンの設定の詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。

2.5.10.2 データベースのタイム・ゾーン・ファイルの概要

Oracleホーム・ディレクトリのサブディレクトリには、次の2つのタイム・ゾーン・ファイルがあります。タイム・ゾーン・ファイルには有効なタイム・ゾーン名が含まれています。

タイム・ゾーンごとに次の情報も含まれています。

  • 協定世界時(UTC)からのオフセット。

  • 夏時間への移行時間。

  • 標準時間と夏時間の略称。

デフォルトのタイム・ゾーン・ファイルはORACLE_HOME/oracore/zoneinfo/timezlrg_11.datです。タイム・ゾーン数の少ないタイム・ゾーン・ファイルはORACLE_HOME/oracore/zoneinfo/timezone_11.datにあります。

ファイル内で、データベースで使用されているタイム・ゾーン名を表示するには、次の問合せを実行します。

SELECT * FROM V$TIMEZONE_NAMES;

関連項目:

タイム・ゾーン・ファイルの管理および選択の詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。

2.5.10.3 データベースのタイム・ゾーン・ファイルの指定

情報を共有しているすべてのデータベースが同じタイム・ゾーン・データファイルを使用する必要があります。

データベース・サーバーでは、定義数が多いタイム・ゾーン・ファイルが常にデフォルトで使用されます。

クライアントで小さなタイム・ゾーン・ファイルを使用するには、すべてのデータが小さなファイル内の地域のみ参照することを認識します。

  • クライアントのORA_TZFILE環境変数をクライアントのタイムゾーンversion.datファイルのフルパス名に設定します。versionは、データベース・サーバーで使用されるタイム・ゾーン・ファイル・バージョンと一致します。

デフォルトの定義数の多いタイム・ゾーン・ファイルをクライアントですでに使用している場合、定義数の少ないタイム・ゾーン・ファイルに変更するのは実用的ではありません。データベースに、定義数の少ないファイルには含まれていないタイム・ゾーンのデータが含まれている可能性があるためです。

2.5.11 FORCE LOGGINGモードの指定

一部のデータ定義言語文(CREATE TABLEなど)では、NOLOGGING句を使用できますが、ある種のデータベース操作ではデータベースREDOログにREDOレコードが生成されません。NOLOGGING句を設定すると、データベース・リカバリ・メカニズム外で容易にリカバリできる操作は高速化されますが、メディア・リカバリとスタンバイ・データベースに悪影響を与える可能性があります。

Oracle Databaseでは、DDL文にNOLOGGINGが指定されていても、REDOレコードを強制的に書き込ませることができます。データベースでは、一時表領域と一時セグメントのREDOレコードは生成されないため、FORCE LOGGINGはオブジェクトに影響を与えません。

関連項目:

NOLOGGINGモードで実行できる操作の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

2.5.11.1 FORCE LOGGING句の使用

NOLOGGINGがDDL文で指定されている場合でも、REDOレコードを強制的に書き込むことができます。

データベースをFORCE LOGGINGモードにする手順:

  • CREATE DATABASE文にFORCE LOGGING句を含めます。

この句を指定しない場合、データベースはFORCE LOGGINGモードになりません。

データベースの作成後に、ALTER DATABASE文を使用してデータベースをFORCE LOGGINGモードにします。この文は、ロギングなしの直接書込みがすべて完了するまで待機するため、完了までに長時間かかる可能性があります。

次のSQL文を使用すると、FORCE LOGGINGモードを取り消すことができます。

ALTER DATABASE NO FORCE LOGGING;

データベースに対してFORCE LOGGINGを指定するかどうかに関係なく、表領域レベルでFORCE LOGGINGまたはNO FORCE LOGGINGを選択的に指定できます。ただし、FORCE LOGGINGモードがデータベースに対して有効になっている場合、表領域の設定より優先されます。データベースに対して有効になっていない場合、個々の表領域の設定が実行されます。データベース全体をFORCE LOGGINGモードにするか、または個々の表領域をFORCE LOGGINGモードにすることをお薦めしますが、一度に両方の設定を行わないでください。

FORCE LOGGINGモードは、データベースの永続属性です。つまり、データベースが停止され、再起動されても、同じロギング・モードのままです。ただし、制御ファイルを再作成すると、CREATE CONTROL FILE文でFORCE LOGGING句を指定しないかぎり、データベースはFORCE LOGGINGモードで再起動しません。

関連項目:

表領域の作成にFORCE LOGGING句を使用する方法の詳細は、「REDOレコードの書込みの制御」を参照してください。

2.5.11.2 FORCE LOGGINGモードのパフォーマンスに関する考慮点

FORCE LOGGINGモードは、ある程度のパフォーマンスの低下を伴います。

主として完全メディア・リカバリを確実に行うためにFORCE LOGGINGを指定し、アクティブになっているスタンバイ・データベースがない場合は、次の点を考慮する必要があります。

  • 発生すると思われるメディア障害の数

  • ロギングなしの直接書込みをリカバリできない場合のダメージの重大度

  • FORCE LOGGINGモードによるパフォーマンスの低下は許容範囲内かどうか

データベースがNOARCHIVELOGモードで稼働している場合、通常はFORCE LOGGINGモードにする利点はありません。NOARCHIVELOGモードではメディア・リカバリが不可能であるため、FORCE LOGGINGと組み合せて使用する場合は、ほとんど利点がなく、パフォーマンスが低下する可能性があります。

2.6 初期化パラメータの指定

新規データベースを作成する前に、基本初期化パラメータを追加または編集できます。

関連項目:

  • デフォルト設定など、すべての初期化パラメータに関する説明は、『Oracle Databaseリファレンス』を参照してください。

  • メモリー管理に関係する初期化パラメータの説明は、「メモリーの管理」を参照してください

2.6.1 初期化パラメータと初期化パラメータ・ファイルの概要

Oracleインスタンスの起動時に、初期化パラメータ・ファイルから初期化パラメータが読み込まれます。このファイルでは、少なくともDB_NAMEパラメータを指定する必要があります。他のすべてのパラメータにはデフォルトの値があります。

初期化パラメータ・ファイルは、読取り専用のテキスト・ファイル(PFILE)または読取り/書込みのバイナリ・ファイルです。

バイナリ・ファイルはサーバー・パラメータ・ファイルと呼ばれています。サーバー・パラメータ・ファイルを使用すると、ALTER SYSTEMコマンドを使用して初期化パラメータを変更でき、変更内容は停止して起動した後も持続します。また、Oracle Databaseによる自己チューニングの基礎ともなります。このため、サーバー・パラメータ・ファイルを使用することをお薦めします。サーバー・パラメータ・ファイルは、編集済のテキスト形式の初期化ファイルから手動で作成するか、またはデータベースを作成するDatabase Configuration Assistant(DBCA)を使用して自動的に作成できます。

サーバー・パラメータ・ファイルを手動で作成する前に、テキスト形式の初期化パラメータ・ファイルを使用してインスタンスを起動できます。起動時に、Oracleインスタンスは最初にデフォルトの場所でサーバー・パラメータ・ファイルを検索し、見つからない場合は、テキスト形式の初期化パラメータ・ファイルを検索します。また、STARTUPコマンドの引数としてテキスト形式の初期化パラメータ・ファイルを指定すると、既存のサーバー・パラメータ・ファイルを上書きすることもできます。

テキスト形式の初期化パラメータ・ファイルのデフォルトのファイル名と場所は、次の表のとおりです。

プラットフォーム デフォルト名 デフォルトの場所

UNIXとLinux

initORACLE_SID.ora

たとえば、mynewdbデータベースの初期化パラメータ・ファイル名は次のようになります。

initmynewdb.ora

ORACLE_HOME/dbs

Windows

initORACLE_SID.ora

ORACLE_HOME\database

初めてOracle Databaseを作成する場合は、変更するパラメータ値の数を最小限にとどめておくことをお薦めします。データベースと環境に慣れてから、多数の初期化パラメータをALTER SYSTEM文で動的にチューニングします。テキスト形式の初期化パラメータ・ファイルを使用している場合、現行のインスタンスについてのみ変更できます。これを永続的にするには、初期化パラメータ・ファイル内で手動で更新する必要があり、更新しない場合は、次回データベースを停止して起動すると変更内容が失われます。サーバー・パラメータ・ファイルを使用している場合、ALTER SYSTEM文で行った初期化パラメータ・ファイルの変更内容は、停止して起動した後も持続します。

2.6.1.1 初期化パラメータ・ファイルのサンプル

Oracle Databaseには通常、適切な値が設定されたテキスト形式の初期化パラメータのサンプルが用意されています。構成やオプション、およびデータベースのチューニング計画によっては、オラクル社が提供するこれらの初期化パラメータを編集し、他の初期化パラメータを追加することが可能です。

テキスト形式の初期化パラメータ・ファイルのサンプルはinit.oraという名前で、ほとんどのプラットフォームの次の場所にあります。

ORACLE_HOME/dbs

サンプル・ファイルの内容は、次のとおりです。

##############################################################################
# Example INIT.ORA file
#
# This file is provided by Oracle Corporation to help you start by providing
# a starting point to customize your RDBMS installation for your site. 
# 
# NOTE: The values that are used in this file are only intended to be used
# as a starting point. You may want to adjust/tune those values to your
# specific hardware and needs. You may also consider using Database
# Configuration Assistant tool (DBCA) to create INIT file and to size your
# initial set of tablespaces based on the user input.
###############################################################################
 
# Change '<ORACLE_BASE>' to point to the oracle base (the one you specify at
# install time)
 
db_name='ORCL'
memory_target=1G
processes = 150
db_block_size=8192
db_domain=''
db_recovery_file_dest='<ORACLE_BASE>/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='<ORACLE_BASE>'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300 
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = (ora_control1, ora_control2)
compatible ='12.0.0'

2.6.1.2 テキスト形式の初期化パラメータ・ファイル

テキスト形式の初期化パラメータ・ファイルでは、パラメータの値を名前/値ペアで指定します。

テキスト形式の初期化パラメータ・ファイル(PFILE)には、次のいずれかの書式の名前/値ペアを含める必要があります。

  • 値を1つのみ受け入れるパラメータの場合

    parameter_name=value
    
  • 1つ以上の値を受け入れるパラメータの場合(CONTROL_FILESパラメータなど)

    parameter_name=(value[,value] ...)
    

文字列型のパラメータ値は、一重引用符(')で囲む必要があります。ファイル名の大/小文字区別が有効となるのは、ホスト・オペレーティング・システムで有効な場合のみです。

複数の値を受け入れるパラメータの場合、アラート・ログから名前/値ペアを簡単にコピーして貼り付けられるように、複数行でパラメータを繰り返すことができます。この場合、各行には異なる値が含まれます。

control_files='/u01/app/oracle/oradata/orcl/control01.ctl'
control_files='/u01/app/oracle/oradata/orcl/control02.ctl'
control_files='/u01/app/oracle/oradata/orcl/control03.ctl'

複数の値を受け入れないパラメータを繰り返した場合、最後に指定した値のみが有効です。

関連項目:

  • テキスト形式の初期化パラメータ・ファイルの内容と構文の詳細は、『Oracle Databaseリファレンス』を参照してください。

  • 「アラート・ログ」

2.6.2 グローバル・データベース名の決定

グローバル・データベース名は、ユーザー指定のローカル・データベース名と、ネットワーク構造内でのデータベースの位置で構成されます。

  • DB_NAMEおよびDB_DOMAIN初期化パラメータを設定します。

データベース名のローカル名コンポーネントはDB_NAME初期化パラメータによって決定し、ネットワーク構造内のドメイン(論理的な位置)はオプションで指定できるDB_DOMAINパラメータによって決定します。これら2つのパラメータの設定を組み合せて、ネットワーク内で一意となるデータベース名を形成する必要があります。

たとえば、test.us.example.comというグローバル・データベース名を持つデータベースを作成するには、新しいパラメータ・ファイルのパラメータを次のように編集します。

DB_NAME = test
DB_DOMAIN = us.example.com

ALTER DATABASE RENAME GLOBAL_NAME文を使用すると、データベースのGLOBAL_NAMEを変更できます。ただし、最初にDB_NAMEおよびDB_DOMAIN初期化パラメータを変更し、制御ファイルを再作成した後に、データベースを停止して再起動する必要があります。制御ファイルの再作成は、ALTER DATABASE BACKUP CONTROLFILE TO TRACEコマンドで簡単に行えます。詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

関連項目:

データベース名の別の変更手段であるDBNEWIDユーティリティの使用方法は、『Oracle Databaseユーティリティ』を参照してください。

2.6.2.1 DB_NAME初期化パラメータ

データベース識別子はDB_NAME初期化パラメータで指定します。

DB_NAMEには、8文字以内のテキスト文字列を設定する必要があります。データベース名はアルファベットで開始する必要があります。DB_NAMEに指定した名前は、データベースの作成時に、データベースのデータファイル、REDOログ・ファイルおよび制御ファイルに記録されます。データベース・インスタンスの起動時に、(パラメータ・ファイル内の)DB_NAMEパラメータの値と制御ファイル内のデータベース名が一致しないと、データベースは起動しません。

2.6.2.2 DB_DOMAIN初期化パラメータ

分散データベース・システムでは、DB_DOMAIN初期化パラメータには、ネットワーク構造内でのデータベースの論理上の位置を指定します。

DB_DOMAINは、データベースが作成されるネットワーク・ドメインを指定するテキスト文字列です。作成しようとしているデータベースが分散データベース・システムの一部である場合は、データベースを作成する前に、この初期化パラメータに特に注意してください。このパラメータはオプションです。

関連項目:

分散データベースの詳細は、「分散データベースの管理」を参照してください

2.6.3 高速リカバリ領域の指定

高速リカバリ領域とは、Oracle Databaseでバックアップおよびリカバリに関連するファイルを格納および管理できる場所のことです。これは、現在のデータベース・ファイル(データファイル、制御ファイルおよびオンラインREDOログ)の場所であるデータベース領域とは別です。

高速リカバリ領域を指定するには、次の初期化パラメータを使用します。

  • DB_RECOVERY_FILE_DEST: 高速リカバリ領域の場所。ディレクトリ、ファイル・システムまたは自動ストレージ管理(Oracle ASM)のディスク・グループです。

    Oracle Real Application Clusters(Oracle RAC)環境では、この位置はクラスタ・ファイル・システム、Oracle ASMディスク・グループ、またはNFSを介して構成された共有ディレクトリであることが必要です。

  • DB_RECOVERY_FILE_DEST_SIZE: 高速リカバリ領域で使用される最大総バイト数を指定します。この初期化パラメータは、DB_RECOVERY_FILE_DESTを使用可能にする前に指定する必要があります。

Oracle RAC環境では、これら2つのパラメータの設定がすべてのインスタンスで同じであることが必要です。

これらのパラメータは、LOG_ARCHIVE_DESTおよびLOG_ARCHIVE_DUPLEX_DESTパラメータの値を設定している場合は使用可能にできません。高速リカバリ領域を設定する前に、これらのパラメータを使用禁止にする必要があります。かわりに、LOG_ARCHIVE_DEST_nパラメータの値を設定できます。

高速リカバリ領域によってデータベースのバックアップ操作およびリカバリ操作が簡素化されるため、この領域を使用することをお薦めします。

関連項目:

高速リカバリ領域の作成方法と使用方法については、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

2.6.4 制御ファイルの指定

すべてのデータベースには、データベースの構造(名前、作成時のタイムスタンプ、データ・ファイルおよびREDOファイルの名前や場所など)を記述する制御ファイルがあります。CONTROL_FILES初期化パラメータには、1つ以上の制御ファイル名をカンマで区切って指定します。

  • CONTROL_FILES初期化パラメータを設定します。

CREATE DATABASE文を実行すると、CONTROL_FILESパラメータに記述した制御ファイルが作成されます。

初期化パラメータ・ファイルにCONTROL_FILESを指定しないと、オペレーティング・システム固有のデフォルト・ファイル名を使用して、初期化パラメータ・ファイルと同じディレクトリにOracle Databaseが制御ファイルを作成します。Oracle Managed Filesが使用可能な場合は、Oracle Managed Filesの制御ファイルが作成されます。

データベース用の制御ファイルを作成するときに新しいオペレーティング・システム・ファイルを作成する場合は、CONTROL_FILESパラメータに記述されているファイル名がシステム上に現在存在するいずれのファイル名とも一致しないことを確認してください。データベース用の制御ファイルを作成するときに既存のファイルを再利用または上書きする場合は、CONTROL_FILESパラメータに記述されているファイル名が、再利用されるファイル名と一致することを確認し、CREATE DATABASE文にCONTROLFILE REUSE句を指定します。

データベースごとに、少なくとも2つの制御ファイルを別々の物理ディスク・ドライブに格納して使用することをお薦めします。

2.6.5 データベース・ブロック・サイズの指定

DB_BLOCK_SIZE初期化パラメータは、データベースの標準ブロック・サイズを指定します。

  • DB_BLOCK_SIZE初期化パラメータを設定します。

このブロック・サイズはSYSTEM表領域に使用され、その他の表領域ではデフォルトで使用されます。Oracle Databaseは、最大4つの非標準ブロック・サイズをサポートします。

2.6.5.1 DB_BLOCK_SIZE初期化パラメータ

標準ブロック・サイズには、最も一般的に使用するブロック・サイズを選択します。多くの場合、設定が必要なブロック・サイズはこれのみです。

  • DB_BLOCK_SIZE初期化パラメータを設定します。

通常、DB_BLOCK_SIZEは4Kまたは8Kに設定します。このパラメータの値を指定しないと、オペレーティング・システム固有のデフォルト・データ・ブロック・サイズが使用されますが、大抵の場合、このデフォルト・ブロック・サイズで十分です。

データベースの作成後は、データベースを再作成する以外にブロック・サイズを変更する方法はありません。データベースのブロック・サイズがオペレーティング・システムのブロック・サイズと異なる場合は、データベースのブロック・サイズがオペレーティング・システムのブロック・サイズの倍数であることを確認してください。たとえば、使用しているオペレーティング・システムのブロック・サイズが2KB(2048バイト)の場合、次のDB_BLOCK_SIZE初期化パラメータの設定は有効です。

DB_BLOCK_SIZE=4096

データ・ブロック・サイズを大きくすると、ディスクとメモリーのI/O(データのアクセスと格納)の効率が向上します。したがって、次の条件に該当する場合は、オペレーティング・システムのブロック・サイズより大きいブロック・サイズの指定を考慮してください。

  • Oracle Databaseが大容量メモリーと高速ディスク・ドライブを装備した大型コンピュータ・システム上にある場合。たとえば、莫大なハードウェア資源を有するメインフレーム・コンピュータによって制御されるデータベースは、通常4KB以上のデータ・ブロック・サイズを使用します。

  • Oracle Databaseが動作するオペレーティング・システムのブロック・サイズが小さい場合。たとえば、オペレーティング・システムのブロック・サイズが1KBで、この値がデフォルトのデータ・ブロック・サイズと一致する場合、データベースは通常の処理で過度のディスクI/Oを実行している可能性があります。この場合にパフォーマンスを最高にするには、データベース・ブロックを複数のオペレーティング・システム・ブロックから構成する必要があります。

    関連項目:

    デフォルトのブロック・サイズの詳細は、オペレーティング・システム固有のOracleマニュアルを参照してください。

2.6.5.2 非標準ブロック・サイズ

非標準ブロック・サイズの表領域を作成できます。

非標準ブロック・サイズの表領域を作成する手順:

  • CREATE TABLESPACE文でBLOCKSIZE句を指定します。

これらの非標準ブロック・サイズには、2の累乗である2KB、4KB、8KB、16KB、32KBのいずれかを指定します。最大ブロック・サイズに関するプラットフォーム固有の制限が適用されるので、プラットフォームによっては、これらのサイズの一部は指定できない場合があります。

非標準ブロック・サイズを使用する場合は、使用するすべての非標準ブロック・サイズについて、SGAメモリーのバッファ・キャッシュ領域内にサブキャッシュを構成する必要があります。これらのサブキャッシュの構成に使用する初期化パラメータについては、「自動共有メモリー管理の使用」を参照してください。

データベースに複数のブロック・サイズを指定できる機能は、特にデータベース間で表領域をトランスポートする場合に役立ちます。たとえば、OLTP環境から、8KBの標準ブロック・サイズを使用するデータ・ウェアハウス環境に、4KBのブロック・サイズを使用する表領域をトランスポートできます。

注意:

32KBのブロック・サイズは、64ビットのプラットフォームでのみ有効です。

注意:

セクター・サイズが4KBのディスクを使用している場合、パフォーマンスが低下する可能性があるため、2KBのブロック・サイズを指定することはお薦めしません。詳細は、「REDOログ・ファイルのブロック・サイズの計画」を参照してください。

2.6.6 最大プロセス数の指定

Oracle Databaseに同時に接続できるオペレーティング・システム・プロセスの最大数は、PROCESSES初期化パラメータによって決定します。

  • PROCESSES初期化パラメータを設定します。

このパラメータの値は、最低でも各バックグラウンド・プロセスごとに1つ、および各ユーザー・プロセスごとに1つです。バックグラウンド・プロセスの数は、使用しているデータベースの機能によって異なります。たとえば、アドバンスト・キューイングまたはファイル・マッピング機能を使用している場合は、追加のバックグラウンド・プロセスが必要です。自動ストレージ管理を使用している場合は、データベース・インスタンス用に追加プロセスを3つ追加します。

50のユーザー・プロセスを実行する予定の場合は、PROCESSES初期化パラメータの値を70に見積もって設定することをお薦めします。

2.6.7 DDLロック・タイムアウトの指定

ブロッキングDDL文がロックを待機する時間を指定できます。

データ定義言語(DDL)文は非ブロッキングまたはブロッキングのいずれかで、どちらのタイプのDDL文にも内部構造の排他ロックが必要です。DDL文の実行時にこのようなロックが使用できない場合、非ブロッキングDDL文とブロッキングDDL文の動作は異なります。

  • 非ブロッキングDDLは、DDLの影響を受けるオブジェクトを参照している同時DMLトランザクションがすべてコミットするかロール・バックするまで待機します。

  • ブロッキングDDLは、ロックが使用できるようになった直後に実行していれば成功するような場合でも失敗します。

ブロッキングDDL文でロックを待機できるようにするには、DDLロック・タイムアウトを指定します。これは、DDLコマンドが必要なロックを待機する秒数であり、この秒数を超えるとDDL文は失敗します。

  • DDLロック・タイムアウトを指定するには、DDL_LOCK_TIMEOUTパラメータを設定します。

設定可能なDDL_LOCK_TIMEOUTの値の範囲は、0から1,000,000です。デフォルトは0です。DDL_LOCK_TIMEOUTは、ALTER SESSION文を使用して、システム・レベルまたはセッション・レベルで設定できます。

注意:

DDL_LOCK_TIMEOUTパラメータは、非ブロッキングDDL文に作用しません。

関連項目:

  • 『Oracle Databaseリファレンス』

  • 『Oracle Database開発ガイド』

  • 『Oracle Database SQL言語リファレンス』

2.6.8 UNDO領域管理方法の指定

すべてのOracle Databaseには、データベースの変更を取り消すために使用する情報の管理方法が必要です。これらの情報は、主にコミットされる前のトランザクションの処理レコードから構成されます。これらのレコードを総称してUNDOデータと呼びます。

UNDO表領域を使用する自動UNDO管理用の環境を設定する手順。

  • UNDO_MANAGEMENT初期化パラメータをデフォルトのAUTOに設定します。

関連項目:

UNDOの管理

2.6.8.1 UNDO_MANAGEMENT初期化パラメータ

UNDO_MANAGEMENT初期化パラメータでは、インスタンスを自動UNDO管理モード(UNDOがUNDO表領域に格納されます)で起動するかどうかを指定します。自動UNDO管理モードを使用可能にするには、このパラメータをAUTOに設定します。パラメータを省略するか、NULLにすると、デフォルトでAUTOになります。

2.6.8.2 UNDO_TABLESPACE初期化パラメータ

UNDO_TABLESPACE初期化パラメータでは、インスタンスのデフォルトのUNDO表領域をオーバーライドできます。

インスタンスを自動UNDO管理モードで起動すると、そのインスタンスは、UNDOデータを格納するためのUNDO表領域を選択しようとします。自動UNDO管理モードでデータベースが作成されている場合は、デフォルトのUNDO表領域(システム生成のSYS_UNDOTBS表領域またはユーザー指定のUNDO表領域)が、インスタンス起動時に使用されるUNDO表領域となります。インスタンスに対するこのデフォルトは、UNDO_TABLESPACE初期化パラメータに値を指定することで上書きできます。このパラメータは特に、Oracle Real Application Clusters環境のインスタンスに特定のUNDO表領域を割り当てる際に役立ちます。

UNDO表領域がUNDO_TABLESPACE初期化パラメータによって指定されていない場合は、データベース内で最初に使用可能なUNDO表領域が選択されます。使用可能なUNDO表領域がない場合、インスタンスはUNDO表領域のない状態で起動し、UNDOデータはSYSTEM表領域に書き込まれます。このモードでは実行しないようにしてください。

注意:

CREATE DATABASE文を使用してデータベースを作成するときには、UNDO_TABLESPACEパラメータを初期化パラメータ・ファイルに指定しないでください。かわりに、UNDO TABLESPACE句をCREATE DATABASE文に指定します。

2.6.9 データベース互換性レベルの指定

データベースの互換レベルは、COMPATIBLE初期化パラメータによって制御されます。

  • COMPATIBLE初期化パラメータをリリース番号に設定します。

2.6.9.1 COMPATIBLE初期化パラメータの概要

COMPATIBLE初期化パラメータによって、ディスクのファイル形式に影響を与える機能の使用をデータベースで使用可能または使用不可にできます。たとえば、Oracle Database 12cデータベースを作成しても、初期化パラメータ・ファイルにCOMPATIBLE=11.0.0を指定すると、Oracle Database 12cとの互換性が必要な機能の使用を試行した場合にエラーが生成されます。これは、データベースが11.0.0互換性レベルにあるとみなされているためです。

COMPATIBLE初期化パラメータを変更することによって、データベースの互換性レベルを上げることができます。このようにすると、設定した互換性レベルよりも低いレベルではデータベースを起動できなくなりますが、互換性を上げる前の時点にPoint-in-Timeリカバリを実行することはできます。

COMPATIBLEパラメータのデフォルト値は、主要な最新リリースの番号です。

注意:

  • Oracle Database 12cの場合、COMPATIBLEパラメータのデフォルト値は12.0.0です。最小値は11.0.0です。デフォルト値を使用してOracle Databaseを作成すると、このリリースのすべての新機能をすぐに使用できますが、データベースはダウングレードできなくなります。

  • このパラメータをALTER SYSTEM文を使用してサーバー・パラメータ・ファイル(SPFILE)に設定する場合、SCOPE=SPFILEを指定し、データベースを再起動して変更を有効にする必要があります。

  • COMPATIBLE初期化パラメータは、12.0.0のように各ペアがドットで区切られた3桁以上の数字として指定する必要があります。

関連項目:

  • データベースの互換性とCOMPATIBLE初期化パラメータの詳細は、『Oracle Databaseアップグレード・ガイド』を参照してください。

  • 『Oracle Databaseリファレンス』

  • データベースのPoint-in-Timeリカバリの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

2.6.10 ライセンスに関するパラメータの設定

指名ユーザー・ライセンスを使用している場合、Oracle Databaseではこの形式のライセンスを施行できます。データベース内に作成するユーザーの数に対して、制限を設定できます。この制限に達すると、それ以上のユーザーは作成できません。

注意:

このメカニズムでは、データベースにアクセスする人がそれぞれ一意のユーザー名を持ち、ユーザー名を共有していないものと想定しています。したがって、指名ユーザー・ライセンスによってOracleのライセンス契約に従っていることを保証できるように、複数のユーザーが同じ名前を使用してログインすることを許可しないでください。

データベースに作成するユーザー数を制限するには、そのデータベースの初期化パラメータ・ファイルにLICENSE_MAX_USERS初期化パラメータを設定します。

次の例は、LICENSE_MAX_USERS初期化パラメータを設定します。

LICENSE_MAX_USERS = 200

注意:

Oracleでは、同時セッションの数によるライセンス提供がなくなりました。したがって、LICENSE_MAX_SESSIONSおよびLICENSE_SESSIONS_WARNING初期化パラメータは不要のため、非推奨になりました。

2.7 サーバー・パラメータ・ファイルを使用した初期化パラメータの管理

Oracle Databaseの初期化パラメータは、テキスト形式の初期化パラメータ・ファイルに格納されていました。管理性を向上させるために、データベースを起動および停止している間も持続するバイナリ形式のサーバー・パラメータ・ファイルによる初期化パラメータのメンテナンスを選択できます。

2.7.1 サーバー・パラメータ・ファイルの概要

サーバー・パラメータ・ファイルは、Oracle Databaseサーバーが稼働するシステムで管理される初期化パラメータのリポジトリと考えられます。これは、サーバー側の初期化パラメータ・ファイルとして設計されています。

サーバー・パラメータ・ファイルに格納された初期化パラメータは持続性があり、インスタンスの実行中に加えられたパラメータへの変更はインスタンスの停止から起動までの間も持続します。この配置によって、ALTER SYSTEM文による変更を持続させるために、初期化パラメータを手動で更新する必要がなくなります。また、Oracle Databaseサーバーによる自己チューニングの基礎ともなります。

最初のサーバー・パラメータ・ファイルは、CREATE SPFILE文を使用して、テキスト形式の初期化パラメータ・ファイルから作成します。(Database Configuration Assistantで直接作成することもできます。)サーバー・パラメータ・ファイルは、テキスト・エディタで編集できないバイナリ・ファイルです。Oracle Databaseには、サーバー・パラメータ・ファイル内のパラメータの設定を表示および変更するために、他のインタフェースが用意されています。

注意:

テキスト・エディタでバイナリ形式のサーバー・パラメータ・ファイルをオープンし、そのテキストを表示することは可能ですが、手動で編集しないでください。手動で編集すると、ファイルが破損します。また、インスタンスが起動できなくなり、たとえインスタンスが起動しても失敗します。

PFILE句を指定せずにSTARTUPコマンドを発行すると、Oracleインスタンスは、オペレーティング・システム固有のデフォルトの位置でサーバー・パラメータ・ファイルを検索し、そのファイルから初期化パラメータの設定を読み込みます。サーバー・パラメータ・ファイルが見つからない場合は、テキスト形式の初期化パラメータ・ファイルを検索します。サーバー・パラメータ・ファイルがあってもテキスト形式の初期化パラメータ・ファイルの設定を優先する場合は、STARTUPコマンドの発行時にPFILE句を指定する必要があります。サーバー・パラメータ・ファイルを使用してインスタンスを起動する方法の詳細は、「データベースの起動」を参照してください。

2.7.2 サーバー・パラメータ・ファイルへの移行

現在、テキスト形式の初期化パラメータ・ファイルを使用している場合は、サーバー・パラメータ・ファイルに移行できます。

サーバー・パラメータ・ファイルへ移行する手順:

  1. 初期化パラメータ・ファイルがクライアント・システム上にある場合は、FTPなどを使用して、クライアント・システムからサーバー・システムにファイルを転送してください。

    注意:

    Oracle Real Application Clusters環境でサーバー・パラメータ・ファイルに移行する場合は、インスタンス固有のすべての初期化パラメータ・ファイルを、1つの初期化パラメータ・ファイルに結合する必要があります。この操作の方法、およびOracle Real Application Clustersのインストールの一部であるインスタンスでサーバー・パラメータ・ファイルを使用する際の固有の処理については、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』および使用しているプラットフォーム固有のOracle Real Application Clustersインストレーション・ガイドを参照してください。

  2. CREATE SPFILE FROM PFILE文を使用して、デフォルト位置にサーバー・パラメータ・ファイルを作成します。詳細は、「サーバー・パラメータ・ファイルの作成」を参照してください。

    この文を実行すると、テキスト形式の初期化パラメータ・ファイルが読み込まれて、サーバー・パラメータ・ファイルが作成されます。CREATE SPFILE文を発行するために、データベースを起動する必要はありません。

  3. インスタンスを起動または再起動します。

    インスタンスはデフォルト位置にある新規SPFILEを検出し、そのファイルを使用して起動します。

2.7.3 サーバー・パラメータ・ファイルのデフォルトの名前と場所

SPFILEの名前と格納場所には、データベースによるデフォルト設定を使用することをお薦めします。これにより、データベースの管理が容易になります。たとえば、STARTUPコマンドはこのデフォルトの場所を想定して、SPFILEを読み込みます。

次の表は、UNIX、LinuxおよびWindowsのプラットフォームごとに、テキスト形式の初期化パラメータ・ファイル(PFILE)とサーバー・パラメータ・ファイル(SPFILE)の両方のデフォルトの名前と場所を示しています(Oracle Automatic Storage Management(Oracle ASM)を使用する場合と使用しない場合について)。この表では、SPFILEをファイルと想定しています。

表2-3 UNIX、LinuxおよびWindowsにおけるPFILEおよびSPFILEのデフォルトの名前と場所

プラットフォーム PFILEのデフォルト名 SPFILEのデフォルト名 PFILEのデフォルトの場所 SPFILEのデフォルトの場所

UNIXとLinux

initORACLE_SID.ora

spfileORACLE_SID.ora

Oracle_Home/dbsまたはデータファイルと同じ場所

Oracle ASMを使用しない場合:

Oracle_Home/dbsまたはデータファイルと同じ場所

Oracle ASMを使用する場合:

データファイルと同じディスク・グループ(データベースがDBCAによって作成されたことを想定)

Windows

initORACLE_SID.ora

spfileORACLE_SID.ora

Oracle_Home\database

Oracle ASMを使用しない場合:

OH\database

Oracle ASMを使用する場合:

データファイルと同じディスク・グループ(データベースがDBCAによって作成されたことを想定)

注意:

起動時に、インスタンスは最初にspfileORACLE_SID.oraという名前のSPFILEを検索し、見つからない場合はspfile.oraを検索します。spfile.oraを使用すると、すべてのReal Application Clusters(Oracle RAC)インスタンスで同じサーバー・パラメータ・ファイルを使用できます。

いずれのSPFILEも見つからない場合、インスタンスはテキスト形式の初期化パラメータ・ファイルinitORACLE_SID.oraを検索します。

デフォルトの場所以外の場所にSPFILEを作成する場合は、デフォルトのPFILEの場所に、そのサーバー・パラメータ・ファイルを指し示すスタブPFILEを作成する必要があります。詳細は、「データベースの起動」を参照してください。

Oracle ASMが存在する場合にDBCAを使用してデータベースを作成すると、DBCAによってSPFILEはOracle ASMディスク・グループ内に配置され、このスタブPFILEも作成されます。

2.7.4 サーバー・パラメータ・ファイルの作成

サーバー・パラメータ・ファイルを作成するには、CREATE SPFILE文を使用します。この文を実行するには、SYSDBASYSOPERまたはSYSBACKUP管理権限が必要です。

サーバー・パラメータ・ファイルを作成する手順:

  • CREATE SPFILE文を実行します。

注意:

Database Configuration Assistantを使用してデータベースを作成した場合は、サーバー・パラメータ・ファイルが自動的に作成されます。

CREATE SPFILE文は、インスタンスの起動前後に実行できます。ただし、すでにサーバー・パラメータ・ファイルを使用してインスタンスを起動している場合に、インスタンスで現在使用されているのと同じサーバー・パラメータ・ファイルを再作成しようとすると、エラーが発生します。

サーバー・パラメータ・ファイル(SPFILE)は、既存のテキスト形式の初期化パラメータ・ファイルまたはメモリーから作成できます。メモリーからのSPFILEの作成では、実行中のインスタンス内の初期化パラメータの現行値をSPFILEにコピーします。

次の例では、テキスト形式の初期化パラメータ・ファイル/u01/oracle/dbs/init.oraからサーバー・パラメータ・ファイルを作成しています。この例ではSPFILEの名前を指定していないため、ファイルは、表2-3に示したプラットフォーム固有のデフォルトの名前と場所で作成されます。

CREATE SPFILE FROM PFILE='/u01/oracle/dbs/init.ora';

次の例では、名前と場所を指定してサーバー・パラメータ・ファイルを作成しています。

CREATE SPFILE='/u01/oracle/dbs/test_spfile.ora'
       FROM PFILE='/u01/oracle/dbs/test_init.ora';

次の例では、メモリー内の初期化パラメータの現行値から、デフォルトの場所にサーバー・パラメータ・ファイルを作成しています。

CREATE SPFILE FROM MEMORY;

デフォルトのSPFILE名と場所を使用するか、SPFILE名と場所を指定するかどうかに関係なく、同じ名前のSPFILEがその場所にすでに存在する場合は、警告メッセージなしに上書きされます。

テキスト形式の初期化パラメータ・ファイルからSPFILEを作成すると、初期化パラメータ・ファイル内のパラメータ設定と同じ行に記述されているコメントもSPFILEで管理されます。他のコメントはすべて無視されます。

2.7.5 SPFILE初期化パラメータ

SPFILE初期化パラメータには、現在のサーバー・パラメータ・ファイルの名前を指定します。

データベースでデフォルトのサーバー・パラメータ・ファイルが使用されている場合(つまり、PFILEパラメータを指定せずにSTARTUPコマンドを発行した場合)、SPFILEの値はサーバーによって内部的に設定されます。SQL*PlusコマンドのSHOW PARAMETERS SPFILE(またはパラメータの値を問い合せる他の方法)を使用すると、現在使用中のサーバー・パラメータ・ファイルの名前が表示されます。

2.7.6 初期化パラメータ値の変更

データベース・インスタンスの操作に影響するように初期化パラメータ値を変更できます。

2.7.6.1 初期化パラメータ値の変更について

ALTER SYSTEM文を使用すると、初期化パラメータ値を設定、変更またはデフォルトにリストアできます。テキスト形式の初期化パラメータ・ファイルを使用している場合、現行のインスタンスに対するパラメータの値のみALTER SYSTEM文で変更されます。これは、ディスク上のテキスト形式の初期化パラメータを自動的に更新するメカニズムがないためです。以後のインスタンスに渡すためには、ディスク上の初期化パラメータを手動で更新する必要があります。サーバー・パラメータ・ファイルを使用している場合は、このような制限はありません。

初期化パラメータには、次の2種類があります。

  • 動的な初期化パラメータ: 現行のOracle Databaseインスタンスに対して変更できます。変更は即時に有効になります。

  • 静的な初期化パラメータ: 現行のインスタンスに対して変更できません。これらのパラメータはテキスト形式の初期化パラメータまたはサーバー・パラメータ・ファイルで変更し、変更を有効にするにはデータベースを再起動する必要があります。

2.7.6.2 初期化パラメータ値の設定または変更

サーバー・パラメータ・ファイルで、ALTER SYSTEM文のSET句を使用して初期化パラメータ値を設定または変更します。

  • ALTER SYSTEM SET文を実行します。

たとえば、次の文は、接続を中断するまでのログイン試行の最大失敗回数を変更します。ここにはコメントが含まれており、変更をサーバー・パラメータ・ファイルにのみ適用することを明示しています。

ALTER SYSTEM SET SEC_MAX_FAILED_LOGIN_ATTEMPTS=3
                 COMMENT='Reduce from 10 for tighter security.'
                 SCOPE=SPFILE;

次の例では、属性のリストをとる複雑な初期化パラメータを設定しています。値を設定するパラメータは、LOG_ARCHIVE_DEST_n初期化パラメータです。この文によって、このパラメータの既存の設定を変更するか、または新しいアーカイブ先を作成できます。

ALTER SYSTEM 
     SET LOG_ARCHIVE_DEST_4='LOCATION=/u02/oracle/rbdb1/',MANDATORY,'REOPEN=2'
         COMMENT='Add new destination on Nov 29'
         SCOPE=SPFILE;

値がパラメータのリストで構成されている場合は、位置または序数によって個々の属性を編集することはできません。パラメータを更新するたびに、完全な値のリストを指定する必要があります。これによって、新しいリストで古いリストが完全に置換されます。

2.7.6.2.1 ALTER SYSTEM SET文のSCOPE句

ALTER SYSTEM SET文のオプションのSCOPEでは、初期化パラメータの変更のスコープを指定します。

SCOPE句 説明

SCOPE = SPFILE

サーバー・パラメータ・ファイルのみに変更が適用されます。次のような効果があります。

  • 変更は現行インスタンスには適用されません。

  • 動的パラメータと静的パラメータの両方について、次の起動時に変更が有効になり、以後持続します。

静的パラメータでは、SCOPE指定のみ使用できます。

SCOPE = MEMORY

メモリーのみに変更が適用されます。次のような効果があります。

  • 変更は現行インスタンスに適用され、即時に有効になります。

  • 動的パラメータの場合は、変更が即時に有効になりますが、サーバー・パラメータ・ファイルは更新されないので、変更は持続しません。

静的パラメータでは、この指定は使用できません。

SCOPE = BOTH

サーバー・パラメータ・ファイルとメモリーの両方に変更が適用されます。次のような効果があります。

  • 変更は現行インスタンスに適用され、即時に有効になります。

  • 動的パラメータの場合は、サーバー・パラメータ・ファイルが更新されるので、変更が持続します。

静的パラメータでは、この指定は使用できません。

インスタンスがサーバー・パラメータ・ファイルを使用して起動していない場合にSCOPE=SPFILEまたはSCOPE=BOTHを指定すると、エラーが発生します。デフォルトは、インスタンス起動時にサーバー・パラメータ・ファイルを使用した場合はSCOPE=BOTH、テキスト形式の初期化パラメータ・ファイルを使用した場合はMEMORYになります。

動的パラメータの場合は、DEFERREDキーワードを指定することもできます。このキーワードを指定すると、これから確立するセッションでのみ変更が有効になります。

SCOPESPFILEまたはBOTHに指定した場合は、オプションのCOMMENT句を使用すると、パラメータの更新にテキスト文字列を関連付けることができます。サーバー・パラメータ・ファイルにコメントが記述されます。

2.7.7 初期化パラメータ値のクリア

ALTER SYSTEM RESET文を使用すると、インスタンスの起動に使用したSPFILEの初期化パラメータの設定をクリア(削除)できます。次回のデータベース起動時にデフォルト値が使用されるように、SPFILEのパラメータをクリアできます。

  • ALTER SYSTEM RESET文を実行します。

SCOPE=MEMORYおよびSCOPE=BOTHはいずれも指定できません。SCOPE = SPFILE句は必要ありませんが、指定してもかまいません。

関連項目:

ALTER SYSTEMコマンドの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

2.7.8 サーバー・パラメータ・ファイルのエクスポート

CREATE PFILE文を使用すると、サーバー・パラメータ・ファイル(SPFILE)をテキスト形式の初期化パラメータ・ファイルにエクスポートできます。

  • CREATE PFILE文を実行します。

いくつかの理由でサーバー・パラメータ・ファイルのエクスポートが必要な場合があります。

  • 診断のために、現在インスタンスで使用しているすべてのパラメータのリストを作成する場合。これは、SQL*PlusのSHOW PARAMETERSコマンド、あるいはV$PARAMETERまたはV$PARAMETER2ビューの選択と同じです。

  • 最初にエクスポートし、結果のテキスト・ファイルを編集してから、CREATE SPFILE文を使用して再作成するという手順で、サーバー・パラメータ・ファイルを変更する場合

PFILE句にエクスポート・ファイルを指定して、インスタンスを起動することもできます。

CREATE PFILE文を実行するには、SYSDBASYSOPERまたはSYSBACKUP管理権限が必要です。エクスポート・ファイルは、データベース・サーバー・システム上に作成されます。そこには、パラメータ設定と同じ行に記述されているパラメータに関するコメントがすべて含まれます。

次の例では、SPFILEからテキスト形式の初期化パラメータ・ファイルを作成しています。

CREATE PFILE FROM SPFILE;

この例ではファイル名を指定していないため、プラットフォーム固有のデフォルト・サーバー・パラメータ・ファイルから、プラットフォーム固有の名前で初期化パラメータ・ファイルが作成されます。

次の例では、サーバー・パラメータ・ファイルからテキスト形式の初期化パラメータ・ファイルを作成していますが、複数のファイル名が指定されています。

CREATE PFILE='/u01/oracle/dbs/test_init.ora'
  FROM SPFILE='/u01/oracle/dbs/test_spfile.ora';

注意:

メモリー内の初期化パラメータの現行値からPFILEを作成する方法もあります。次は、必要なコマンドの例です。

CREATE PFILE='/u01/oracle/dbs/test_init.ora' FROM MEMORY;

2.7.9 サーバー・パラメータ・ファイルのバックアップの作成

サーバー・パラメータ・ファイル(SPFILE)をエクスポートすることでバックアップを作成できます。データベースのバックアップおよびリカバリ計画がRecovery Manager(RMAN)を使用して実装されている場合は、RMANを使用してSPFILEのバックアップを作成できます。SPFILEのバックアップは、データベースのバックアップ作成時にRMANにより自動的に作成されますが、RMANを使用すると現在アクティブになっているSPFILEのバックアップも作成できます。

  • エクスポートするかRMANを使用してサーバー・パラメータ・ファイルをバックアップします。

関連項目:

「サーバー・パラメータ・ファイルのエクスポート」

『Oracle Databaseバックアップおよびリカバリ・アドバンスト・ユーザーズ・ガイド』

2.7.10 失われたまたは破損したサーバー・パラメータ・ファイルのリカバリ

サーバー・パラメータ・ファイル(SPFILE)をリカバリできます。サーバー・パラメータ・ファイル(SPFILE)が失われるかまたは破損した場合は、現行インスタンスが失敗するか、またはデータベース・インスタンス起動時の次回の試行が失敗する可能性があります。

SPFILEをリカバリする方法は複数あります。

  • インスタンスが実行中の場合は、次のコマンドを発行して、メモリー内の初期化パラメータの現行値からSPFILEを再作成します。

    CREATE SPFILE FROM MEMORY;
    

    このコマンドでは、SPFILEはデフォルトの場所にデフォルトの名前で作成されます。新しい名前を使用して、または指定した場所にSPFILEを作成することもできます。例については、「サーバー・パラメータ・ファイルの作成」を参照してください。

  • 有効なテキスト形式の初期化パラメータ・ファイル(PFILE)がある場合は、次の文を使用してPFILEからSPFILEを再作成します。

    CREATE SPFILE FROM PFILE;
    

    このコマンドは、PFILEがデフォルトの場所にあり、デフォルトの名前であると想定しています。PFILEがデフォルト以外の場所にあるか、デフォルト以外の名前の場合に使用するコマンド構文については、「サーバー・パラメータ・ファイルの作成」を参照してください。

  • バックアップからSPFILEをリストアします。

    詳細は、「サーバー・パラメータ・ファイルのバックアップの作成」を参照してください。

  • これらのいずれの方法も使用できない状況の場合は、次の手順を実行します。

    1. アラート・ログのパラメータ値のリストからテキスト形式の初期化パラメータ・ファイル(PFILE)を作成します。

      インスタンスの起動時に、起動に使用された初期化パラメータがアラート・ログに書き込まれます。このセクションを(XMLタグが含まれていない)テキスト・バージョンのアラート・ログからコピーして、新規PFILEに貼り付けることができます。

      詳細は、「アラート・ログの表示」を参照してください。

    2. PFILEからSPFILEを作成します。

      詳細は、「サーバー・パラメータ・ファイルの作成」を参照してください。

パラメータ更新時の読取り/書込みエラー

パラメータの更新時にサーバー・パラメータ・ファイルの読込みまたは書込みでエラーが発生した場合は、アラート・ログにエラーが記録されて、サーバー・パラメータ・ファイルに対する後続のパラメータ更新がすべて無視されます。この時点では、次の処理のいずれかを実行できます。

  • インスタンスを停止し、この項の前述の説明に従ってサーバー・パラメータ・ファイルをリカバリした後、インスタンスを再起動します。

  • 後続のパラメータ更新を持続的にするための処置を講じない場合は、データベースの実行を継続します。

2.7.11 パラメータ設定を表示する方法

いくつかの異なる方法を使用してパラメータ設定を表示できます。

方法 説明

SHOW PARAMETERS

このSQL*Plusコマンドを使用すると、現行セッションで有効な初期化パラメータの値が表示されます。

SHOW SPPARAMETERS

このSQL*Plusコマンドを使用すると、サーバー・パラメータ・ファイル(SPFILE)の初期化パラメータの値が表示されます。

CREATE PFILE

このSQL文は、SPFILEまたは現在のインメモリー設定からテキスト形式の初期化パラメータ・ファイル(PFILE)を作成します。PFILEはテキスト・エディタで表示できます。

V$PARAMETER

このビューを使用すると、現行セッションで有効な初期化パラメータの値が表示されます。

V$PARAMETER2

このビューを使用すると、現行セッションで有効な初期化パラメータの値が表示されます。各リスト・パラメータ値が別々の行に出力されるため、このビューの方がリスト・パラメータ値を容易に識別できます。

V$SYSTEM_PARAMETER

このビューを使用すると、インスタンスで有効な初期化パラメータの値が表示されます。新しいセッションは、インスタンス全体の値からパラメータ値を継承します。

V$SYSTEM_PARAMETER2

このビューを使用すると、インスタンスで有効な初期化パラメータの値が表示されます。新しいセッションは、インスタンス全体の値からパラメータ値を継承します。各リスト・パラメータ値が別々の行に出力されるため、このビューの方がリスト・パラメータ値を容易に識別できます。

V$SPPARAMETER

このビューを使用すると、SPFILEの現在の内容が表示されます。インスタンスでSPFILEが使用されていない場合は、ISSPECIFIED列にFALSEが返されます。

関連項目:

ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。

2.8 データベース・サービスでのアプリケーション・ワークロードの管理

データベース・サービスは、1つ以上のデータベース・インスタンスをある単位にまとめて表現したものです。サービスを使用すれば、データベースのワークロードをグループ化し、特定の作業リクエストを適切なインスタンスにルーティングできます。

2.8.1 データベース・サービス

データベース・サービスは1つのデータベースを表します。このデータベースは、単一インスタンス・データベースか、または複数の同時データベース・インスタンスが含まれたOracle Real Application Clusters (Oracle RAC)データベースとなります。グローバル・データベース・サービスは、データ・レプリケーションを介して同期化された複数のデータベースが提供するサービスです。

2.8.1.1 データベース・サービスについて

データベース・サービスは、1つのデータベースのワークロードを互いに共通の要素を持たないグループに分割します。

各データベース・サービスは、一般的な属性、サービス・レベルしきい値および優先度でワークロードを表します。グループ化は作業の属性に基づいて行われますが、これらの属性には、使用するアプリケーション機能、アプリケーション機能を実行する場合の優先度、管理の対象となるジョブ・クラス、アプリケーション機能またはジョブ・クラスで使用するデータの範囲などが含まれていることがあります。たとえば、Oracle E-Business Suiteでは、総勘定元帳、売掛金勘定、受注など、職務ごとにサービスを定義します。データベース・サービスを構成するとき、一意の名前、関連するパフォーマンス目標および関連する重要性を各サービスに指定します。これらのデータベース・サービスは、Oracle Databaseと緊密に統合され、データ・ディクショナリに保持されます。

接続要求には、データベース・サービス名を指定できます。このように、中間層アプリケーションおよびクライアントとサーバーのアプリケーションでは、データベース・サービスをTNS接続データ内の接続の一部として指定することで、サービスを利用します。データベース・サービス名が指定されておらず、Net Servicesファイルlistener.oraにデフォルトのデータベース・サービスが指定されている場合は、デフォルトのデータベース・サービスを使用して接続されます。

データベース・サービスを使用すると、1つのデータベースのワークロードの構成、管理、有効化と無効化を実行でき、さらに単一エンティティとして測定できます。これは、Database Configuration Assistant (DBCA)、Oracle Net Configuration Assistant、Oracle Enterprise Manager Cloud Control (Cloud Control)などの標準的なツールを使用して実行できます。Cloud Controlは、表示と操作に関するサービスを全体としてサポートし、必要な場合はインスタンス・レベルへのドリルダウンをサポートしています。

Oracle Real Application Clusters(Oracle RAC)環境では、データベース・サービスは1つ以上のインスタンスにまたがり、トランザクション・パフォーマンスに基づいたワークロードの均衡化に役立ちます。この機能によって、エンドツーエンドの無人リカバリ、ワークロードによるロール変更、位置の完全な透過性が可能となります。また、Oracle RACを使用すると、Cloud Control、DBCAおよびServer Controlユーティリティ(SRVCTL)で複数のデータベース・サービス機能を管理できます。

データベース・サービスには、アプリケーション、アプリケーション機能およびデータの範囲が、機能サービスまたはデータ依存サービスとして記述されています。機能サービスは最も一般的なワークロードのマッピングです。特定の機能を使用する複数のセッションはまとめてグループ化されます。これに対して、データ依存ルーティングは、データ・キーに基づいてセッションをデータベース・サービスにルーティングします。作業要求のデータベース・サービスへのマッピングは、アプリケーション・サーバーとTPモニターのオブジェクト関連マッピング・レイヤーで発生します。たとえば、Oracle RACでは、データベースが共有されているため、これらの範囲は要求に基づいて完全に動的にできます。

アプリケーションにより使用されるデータベース・サービスに加えて、Oracle Databaseでは、2つの内部データベース・サービスもサポートされています。SYS$BACKGROUNDはバックグラウンド・プロセスのみで使用され、SYS$USERSはサービスに関連していないユーザー・セッションに対するデフォルトのデータベース・サービスです。

データベース・サービスを使用する場合にアプリケーション・コードを変更する必要はありません。クライアント側の作業は、指定したデータベース・サービスに接続できます。Oracle Scheduler、パラレル実行、Oracle Databaseアドバンスト・キューイングなどのサーバー側での作業では、ワークロード定義の一部としてデータベース・サービス名を設定します。データベース・サービス下で実行される作業要求は、そのサービスのパフォーマンスしきい値を継承し、サービスの一部として測定されます。

関連項目:

  • 『Oracle Database概要』

  • Oracle RAC環境でのサービスの利用の詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。

  • サービスへの接続の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

  • Cloud Controlのオンライン・ヘルプ

2.8.1.2 データベース・サービスおよびパフォーマンス

データベース・サービスは、パフォーマンス・チューニングに追加のディメンションを提供します。

すべてのセッションを匿名で共有している大部分のシステムでは、「サービスとSQL」によるチューニングで「セッションとSQL」によるチューニングを置換できます。データベース・サービスを使用することで、ワークロードが表示可能および測定可能となります。リソースの使用と待機は、アプリケーションがその起因となっています。また、データベース・サービスに割り当てたリソースは、ロードの増減にあわせて調整できます。この動的なリソース割当てによって、要求の発生に対応した費用効率の高いソリューションが可能となります。たとえば、データベース・サービスを自動的に測定し、そのパフォーマンスをサービス・レベルのしきい値と比較できます。パフォーマンス違反はCloud Controlにレポートされるため、自動ソリューションまたはスケジュールされたソリューションを実行できます。

2.8.1.3 データベース・サービスを使用するOracle Databaseの機能

Oracle Database機能のいくつかは、データベース・サービスをサポートしています。

自動ワークロード・リポジトリ(AWR)は、サービスのパフォーマンスを管理します。AWRには、実行時間、待機クラスおよびサービスで使用されたリソースも含めて、データベース・サービスのパフォーマンスが記録されます。AWRは、データベース・サービス応答時間がしきい値を超えた場合、警告をアラートします。動的なビューには、現在のサービス・パフォーマンスのメトリックが時間の履歴単位でレポートされます。各データベース・サービスには、応答時間とCPU使用に関するサービス品質のしきい値があります。

さらに、データベース・リソース・マネージャでは、データベース・サービスをコンシューマ・グループにマッピングできます。これによって、データベース・サービスの優先度を他のサービスと関連させて自動的に管理できます。コンシューマ・グループを使用すると、比率またはリソース使用量の観点から相対的な優先順序を定義できます。詳細は、「Oracle Database Resource Managerを使用したリソースの管理」および具体的には「コンシューマ・グループへのセッションのマッピング・ルールの指定」を参照してください。

データベース・サービスのエディション属性を指定することもできます。エディションを使用すると、データベース内に同じオブジェクトの複数のバージョンを保持できます。データベース・サービスにエディションを指定すると、そのデータベース・サービスを指定するそれ以降のすべて接続で、初期セッション・エディションとしてこのエディションが使用されます。詳細は、「データベース・サービスのエディション属性の設定」を参照してください。

エディションをデータベース・サービス属性として指定すると、リソース使用の管理が容易になります。たとえば、1つのエディションに関連付けられた複数のデータベース・サービスを1つのOracle RAC環境における個別のインスタンスに配置でき、データベース・リソース・マネージャは、リソース・プランを対応するデータベース・サービスに関連付けることによって、異なるエディションで使用されているリソースを管理できます。

Oracle Schedulerでは、ジョブ・クラスの作成時にオプションでデータベース・サービスを割り当てることができます。実行中に複数のジョブがジョブ・クラスに割り当てられ、データベース・サービス内で複数のジョブ・クラスを実行できます。ジョブ・クラスとともにデータベース・サービスを使用することで、ジョブ・スケジューラによって実行される作業が、ワークロード管理とパフォーマンス・チューニングに対して示されます。

パラレル問合せとパラレルDMLの場合、問合せコーディネータは他のクライアントと同じようにデータベース・サービスに接続します。パラレル問合せプロセスは、実行中そのデータベース・サービスを継承します。問合せが終了した時点で、パラレル実行プロセスはデフォルトのデータベース・サービスに戻ります。

関連項目:

Oracle Schedulerの詳細は、「Oracle Schedulerを使用したジョブのスケジューリング」を参照してください

2.8.1.4 データベース・サービスの作成

データベース・サービスの作成方法はデータベースの構成によっていくつかあります。

注意:

この項では、ローカルでのサービスの作成について説明します。サービスを作成してグローバルに操作することもできます。詳細は、「グローバル・データ・サービス」を参照してください。

データベース・サービスの作成方法は、次のとおりです。

  • 単一インスタンスのデータベースをOracle Restartで管理している場合は、SRVCTLユーティリティを使用してデータベース・サービスを作成します。

    srvctl add service -db db_unique_name -service service_name
    
  • Oracle Restartで管理していない単一インスタンスのデータベースでは、次のいずれかを実行します。

    • SERVICE_NAMESパラメータに希望するデータベース・サービス名を追加します。

    • DBMS_SERVICE.CREATE_SERVICEパッケージ・プロシージャをコールします。

  • (オプション)データベース・サービス属性をCloud ControlまたはDBMS_SERVICE.MODIFY_SERVICEで定義します。

Oracle Netリスナー(リスナー)はクライアントからの着信接続要求を受信し、データベース・サーバーへのこれらの要求のトラフィックを管理します。リスナーは、登録済サービスの接続を処理し、動的サービス登録をサポートしています。

関連項目:

  • Oracle Restartの詳細は、「Oracle Databaseの自動再起動の構成」を参照してください

  • DBMS_SERVICEパッケージの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。

  • Oracle RAC環境でのサービスの作成の詳細は、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。

  • Oracle Netリスナーおよびサービスの詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。

2.8.2 グローバル・データ・サービス

Oracle Database 12cからは、複数のOracle Databaseが関連するワークロードを管理するために、グローバル・データ・サービス(GDS)を使用できます。GDSを使用すると、管理者は、共通のサービスを提供する複数のレプリケート・データベースにまたがるクライアント・ワークロードを自動的かつ透過的に管理できます。これらの共通サービスは、グローバル・サービスと呼ばれます。

GDSにより、様々な場所に存在する複数のデータベースを、グローバル・クライアントが共有できるプライベートGDS構成に統合できます。次の利点があります。

  • グローバル・リソースの集中管理が可能になります。

  • グローバルなスケーラビリティ、可用性およびランタイム・ロード・バランシングを提供します。

  • データベースをGDS構成に動的に追加したり、グローバル・サービスを動的に移行できます。

  • Oracle Active Data Guard、Oracle GoldenGateなどの機能を使用するレプリケート・データベースの分散環境でのサービス管理、ロード・バランシングおよびフェイルオーバーの各機能を拡張します。

  • (ローカルまたはグローバルの両方に配置された)複数のデータベースをまたいで、グローバル・サービスをシームレスにフェイルオーバーすることによって、高可用性を提供します。

  • サービス、接続ロード・バランシングおよびランタイム・ロード・バランシングにより、データ・センター内およびデータ・センター間の両方でのワークロード・バランシングを提供します。

  • サービス・クライアントの要求に応じて、GDS構成のリソースを効率的に使用できます。

関連項目:

  • Oracle Database Global Data Services概念および管理ガイド

  • 『Oracle Database概要』

2.8.3 データベース・サービスのデータ・ディクショナリ・ビュー

データ・ディクショナリ・ビューを問い合せて、データベース・サービスに関する情報を検索できます。

データベース・サービスに関する情報は、次のビューで参照できます。

  • DBA_SERVICES

  • ALL_SERVICESまたはV$SERVICES

  • V$ACTIVE_SERVICES

  • V$SERVICE_STATS

  • V$SERVICE_EVENT

  • V$SERVICE_WAIT_CLASS

  • V$SERV_MOD_ACT_STATS

  • V$SERVICEMETRIC

  • V$SERVICEMETRIC_HISTORY

次の追加ビューにも、データベース・サービスに関する情報が表示されます。

  • V$SESSION

  • V$ACTIVE_SESSION_HISTORY

  • DBA_RSRC_GROUP_MAPPINGS

  • DBA_SCHEDULER_JOB_CLASSES

  • DBA_THRESHOLDS

ALL_SERVICESビューにはGLOBAL_SERVICE列が含まれ、V$SERVICESビューとV$ACTIVE_SERVICESビューにはGLOBAL列が含まれます。これらのビューおよび列により、データベース・サービスがグローバル・サービスであるかどうかを判断できます。

2.9 データベースを作成した後の考慮点

データベースの作成後、インスタンスは実行されたままになり、データベースはオープンされて通常のデータベースの用途に使用できます。データベースの作成後に特定のアクションを実行することが必要な場合があります。

2.9.1 セキュリティに関する考慮点

セキュリティで保護するようにデータベースを構成します。

このリリースのセキュリティ・ガイドラインは、『Oracle Databaseセキュリティ・ガイド』にあります。これらのガイドラインを参照し、その内容に従ってデータベースを構成してください。

データベースを作成した後は、Oracle Identity Managementが活用できるように構成できます。

新しく作成したデータベースには、データベースの管理にとって重要なユーザー・アカウントが少なくとも3つ(SYSSYSTEMおよびSYSMAN)あります。認可されたユーザーのみが使用する追加の管理アカウントが提供されています。これらのアカウントを、オラクル社が提供するパスワードを認識している未認可ユーザーによる使用から保護するには、それぞれのパスワードを期限切れにすることで最初にアカウントをロックします。データベース管理者には、これらのアカウントのロック解除とリセットを行う責任があります。

注意:

データベースへの不当なアクセスを防ぎ、データベースの整合性を保護するには、データベースの作成時に、ユーザー・アカウントSYSSYSTEMに対して新しいパスワードを指定することが重要です。パスワードを指定するには、手動でデータベースを作成するときに次のCREATE DATABASE句を指定するか、またはDBCAを使用してデータベースを作成します。

  • USER SYS IDENTIFIED BY

  • USER SYSTEM IDENTIFIED BY

関連項目:

  • ユーザーSYSおよびSYSTEMの詳細は、「管理ユーザー・アカウント」を参照してください

  • Oracle Identity Managementの詳細は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』を参照してください

  • 新規の各Oracle Databaseインストールで作成される事前定義のユーザー・アカウントの全リストは、『Oracle Database 2日でセキュリティ・ガイド』を参照してください

  • 新しいユーザーの追加方法とパスワードの変更方法は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

  • ユーザー・アカウントのロック解除に使用するALTER USER文の構文は、『Oracle Database SQL言語リファレンス』を参照してください。

2.9.2 透過的データ暗号化

透過的データ暗号化は、個々のデータベース列をデータファイルに格納する前に暗号化するか、表領域全体を暗号化する機能です。ユーザーが、オペレーティング・システムのツールを使用してデータファイルの内容を直接参照することによって、データベース・アクセス制御メカニズムを迂回しようとした場合でも、透過的データ暗号化によって、このようなユーザーが機密情報を参照できないようにします。

CREATE TABLE権限のあるユーザーは、暗号化対象の表の列を1つ以上選択できます。データはデータファイルで暗号化されます。適切な権限のあるデータベース・ユーザーは、データを暗号化されていない形式で表示できます。透過的データ暗号化の有効化の詳細は、『Oracle Database Advanced Securityガイド』を参照してください。

2.9.3 安全性の高い外部パスワード・ストア

アプリケーションでデータベースに接続するためにパスワード資格証明が使用される大規模なデプロイメントでは、この資格証明をクライアント側のOracleウォレットに格納できます。Oracle Walletは、資格証明の認証および署名の格納に使用されるセキュアなソフトウェア・コンテナです。

クライアント側のOracleウォレットにデータベース・パスワード資格証明を格納することで、ユーザー名とパスワードをアプリケーション・コード、バッチ・ジョブまたはスクリプトに埋め込む必要がなくなります。この結果、スクリプトやアプリケーション・コードに記述したパスワードが外部にさらされる危険性が低くなり、ユーザー名とパスワードを変更するたびにコードを変更する必要がないため、メンテナンスが簡素化されます。また、アプリケーション・コードを変更する必要がないため、これらのユーザー・アカウントのパスワード管理ポリシーをさらに簡単に規定できるようになります。

外部パスワード・ストアを使用するようにクライアントを構成すると、アプリケーションでは、次の構文を使用してパスワード認証を使用しているデータベースに接続できます。

CONNECT /@database_alias

このCONNECTコマンドでは、データベース・ログイン資格証明を指定する必要はありません。かわりに、データベース・ログイン資格証明はクライアントのウォレットで検索されます。

関連項目:

  • 『Oracle Databaseセキュリティ・ガイド』

  • 『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』

2.9.4 トランザクション・ガードおよびアプリケーション・コンティニュイティ

トランザクション・ガードは、論理トランザクションIDを使用して、リカバリ可能なエラーの後にクライアント・アプリケーションが重複するトランザクションを送信する可能性を排除します。アプリケーション・コンティニュイティでは、データベース・セッションを使用不可にするリカバリ可能なエラーの後に、非破壊的で迅速な方法で、データベースに対してリクエストのリプレイが有効化されます。

トランザクション・ガードは、使用できなくなるデータベース・セッションで最後にオープンされたトランザクションについて既知の結果を提供するために、アプリケーション開発者が使用できる信頼性の高いプロトコルおよびAPIです。停止後、データベースからクライアントに送信されたコミット・メッセージは非永続です。アプリケーション(クライアント)とOracle Database (サーバー)の間の接続が切断されると、クライアントは通信が失敗したことを示すエラー・メッセージを受信します。このエラー・メッセージでは、コミット操作またはプロシージャ・コールの成功または失敗に関してはクライアントに通知しません。

トランザクション・ガードでは、アプリケーションの観点からトランザクションを識別するグローバル一意識別子である、論理トランザクション識別子(LTXID)と呼ばれる新しい概念を使用します。リカバリ可能な停止が発生すると、アプリケーションではLTXIDを使用してトランザクションの結果を判別します。あいまいな通信エラーのかわりに、この結果をクライアントに返すことができます。ユーザーはトランザクションを再実行するかどうかを決定できます。また、状態が適切な場合にトランザクションが再実行されるように、アプリケーションをコーディングすることもできます。

アプリケーション・コンティニュイティは、リカバリ可能な停止(計画外停止と計画停止の両方)に続いて処理中のデータベース・セッションをリカバリすることで、エンド・ユーザーおよびアプリケーションから停止をマスキングします。リプレイが成功した後、アプリケーションはそのデータベース・セッションが停止した位置から続行できます。アプリケーション・コンティニュイティはこのリカバリを実行するため、アプリケーションにとっては、その停止が遅延された実行のように見えます。

アプリケーション・コンティニュイティはサービス・レベルで有効化され、リカバリ可能な停止に対して起動されます。通常、これらの停止は基礎となるソフトウェア、フォアグラウンド、ハードウェア、通信、ネットワークまたは記憶域レイヤーに関連します。アプリケーション・コンティニュイティは問合せ、ALTER SESSION、PL/SQLおよび障害の前にコミットされなかった最後のトランザクションをサポートします。アプリケーション・コンティニュイティは、トランザクション・ガードを使用して、最後の処理中の操作がコミットされたかどうか、および完了したかどうかを判別します。

関連項目:

  • トランザクション・ガードおよびアプリケーション・コンティニュイティの概念の詳細は、『Oracle Database概要』を参照してください。

  • トランザクション・ガードおよびアプリケーション・コンティニュイティの詳細は、『Oracle Database開発ガイド』を参照してください。

2.9.5 Oracle Databaseサンプル・スキーマ

Oracle Databaseには、Oracle Database機能の理解に役立つサンプル・スキーマが含まれています。Oracle Databaseに関するすべてのマニュアルと研修資料は、更新時にサンプル・スキーマ環境に変換されます。

Oracle Databaseの配布媒体には、各種のSQLファイルが格納されています。このSQLファイルでは、システムの試用、SQLの学習、追加の表、ビュー、シノニムの作成などが可能です。

サンプル・スキーマはDatabase Configuration Assistantによって自動的にインストールするか、手動でインストールできます。スキーマとインストール手順の詳細は、『Oracle Databaseサンプル・スキーマ』を参照してください。

2.10 CloneDBを使用したデータベースのクローニング

CloneDBを使用すると、データファイルを複数の異なる場所にコピーしなくても、データベースを複数回クローニングできます。かわりに、CloneDBはcopy-on-writeテクノロジを使用するため、ディスク上に追加の記憶域が必要となるのは変更されているブロックのみとなります。

2.10.1 CloneDBを使用したデータベースのクローニングの概要

多くの場合、テスト目的またはその他の目的で本番データベースをクローニングすることが必要となります。

本番データベースをクローニングする一般的な理由は、次のとおりです。

  • データベースを使用する新規アプリケーションのデプロイ、または既存のアプリケーションの更新

  • データベースを実行するシステムでの、オペレーティング・システムのアップグレード計画

  • データベース・インストール用の新しい記憶域

  • レポート

  • 古いデータの分析

新しいアプリケーションをデプロイする前、オペレーティング・システムのアップグレードを実行する前、または新しい記憶域を使用する前に、新しい状況でデータベースが適切に動作することを確認するために徹底的にテストすることが必要です。クローニングは、本番データファイルのコピーを1つ以上のテスト環境に作成することで実行できますが、通常、これらのコピーを割り当てて管理するために、大量の記憶域が必要となります。

CloneDBを使用すると、データファイルを複数の異なる場所にコピーしなくても、データベースを複数回クローニングできます。Oracle Databaseでは、かわりにcopy-on-writeテクノロジを使用してCloneDBデータベースにファイルを作成するため、ディスク上に追加の記憶域が必要となるのは、CloneDBデータベースで変更されたブロックのみとなります。

この方法でデータベースをクローニングすると、次の利点があります。

  • テスト目的で必要となる記憶域の量が削減されます。

  • 様々な目的のために複数のデータベース・クローンを迅速に作成できます。

CloneDBデータベースは、データベース・バックアップのデータファイルを使用します。バックアップ・データファイルを使用すると、CloneDBインスタンスによる本番データファイルへのアクセスが行われず、CPUやI/Oリソースなどの本番データベースのリソースに対するCloneDBインスタンスによる競合が発生しません。

この章の手順では、非CDBをクローニングする方法について説明します。CREATE PLUGGABLE DATABASE文を使用して、CDBのプラガブル・データベース(PDB)をクローニングすることもできます。基礎となるファイル・システムで記憶域スナップショットがサポートされている場合は、CREATE PLUGGABLE DATABASE文のSNAPSHOT COPY句を使用して、PDBを記憶域スナップショットによるクローニングを実行できます。

注意:

CloneDB機能は、パフォーマンス・テスト向けではありません。

2.10.2 CloneDBを使用したデータベースのクローニング

CloneDBでデータベースをクローニングできます。

データベースをクローニングするには、次の前提条件を満たしている必要があります。

  • 各CloneDBデータベースはDirect NFSクライアントを使用する必要があり、本番データベースのバックアップはNFSボリューム上に存在する必要があります。

    Direct NFSクライアントにより、Oracle Databaseは、オペレーティング・システム・カーネルのNFSクライアントを使用するかわりに、ネットワーク接続記憶域(NAS)デバイスに直接アクセスできます。このCloneDBデータベース機能は、Direct NFSクライアントをサポートするプラットフォームで使用可能です。

    Direct NFSクライアントの詳細は、使用しているオペレーティング・システムの『Oracle Grid Infrastructureインストレーション・ガイド』を参照してください。

  • CloneDBデータベースの変更されたブロックを追跡するには、少なくとも2MBの追加システム・グローバル領域(SGA)メモリーが必要です。

    「メモリーの管理」を参照してください。

  • データベース・バックアップ用および各CloneDBデータベースの変更されたブロック用の記憶域が必要となります。

    データベース・バックアップに必要な記憶域は、バックアップの実行に使用する方法によって異なります。単一の全体RMANバックアップでは、最も多くの記憶域が必要となります。ストレージ・アプライアンスの機能を使用して実行される記憶域スナップショットは、そのストレージ・アプライアンスの要件に従います。単一のバックアップで複数のCloneDBデータベースをサポートできます。

    各CloneDBデータベースで必要となる記憶域の量は、そのデータベースの書込みアクティビティによって異なります。変更される各ブロックには、記憶域の使用可能な1つのブロックが必要となります。したがって、必要となる合計記憶域は、一定期間にCloneDBデータベースで変更されるブロックの数によって異なります。

この項では、1つのCloneDBデータベースを作成するための手順について説明し、これらのサンプル・データベースおよびディレクトリを使用します。

  • 本番データベースPROD1のOracleホームは/u01/prod1/oracleです。

  • データベース・バックアップのファイルは/u02/oracle/backup/prod1にあります。

  • CloneDBデータベースCLONE1のOracleホームは/u03/clone1/oracleです。

CloneDBを使用してデータベースをクローニングする手順は、次のとおりです。

  1. 本番データベースのバックアップを作成します。次のバックアップ・オプションがあります。

    • オンライン・バックアップ

      オンライン・バックアップを実行する場合は、本番データベースがARCHIVELOGモードになっており、必要なすべてのアーカイブREDOログ・ファイルが保存され、CloneDBデータベース環境にアクセスできることを確認します。

    • 全体オフライン・バックアップ

      全体オフライン・バックアップを実行する場合は、バックアップ・ファイルがCloneDBデータベース環境にアクセスできることを確認します。

    • データベース・ファイルをコピーするバックアップ

      BACKUP AS COPYをRMANで指定すると、RMANは各ファイルを、ディスクに作成されたデータベース・ファイルのビットごとのコピーであるイメージ・コピーとしてコピーします。イメージ・コピーは、LinuxのcpやWindowsのCOPYなどのオペレーティング・システム・コマンドで作成したコピーと同じですが、RMANのリポジトリに記録されるため、RMANで使用できます。RMANを使用すると、データベースがオープンしている間にイメージ・コピーを作成できます。コピーされたデータベース・ファイルがCloneDBデータベース環境にアクセスできることを確認します。

    データベースのバックアップの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

  2. テキスト形式の初期化パラメータ・ファイル(PFILE)がない場合は、作成します。

    サーバー・パラメータ・ファイル(SPFILE)を使用する場合は、本番データベース上で次の文を実行して、PFILEを作成します。

    CREATE PFILE FROM SPFILE;
    
  3. 本番データベースをクローニングするためのSQLスクリプトを作成します。

    後の手順で、CloneDBデータベースを作成するために、1つ以上のSQLスクリプトを使用します。SQLスクリプトを作成するには、オラクル社が提供するclonedb.plと呼ばれるPerlスクリプトを使用するか、またはSQLスクリプトを手動で作成できます。

    clonedb.pl Perlスクリプトを使用するには、次の手順を実行します。

    1. オペレーティング・システムのプロンプトで、次の環境変数を設定します。

      MASTER_COPY_DIR - 手順1で作成したバックアップが含まれるディレクトリを指定します。このディレクトリには、本番データベースのデータファイルのバックアップのみが含まれていることを確認します。

      CLONE_FILE_CREATE_DEST - データファイル、ログ・ファイル、制御ファイルなど、CloneDBデータベース・ファイルが作成されるディレクトリを指定します。

      CLONEDB_NAME - CloneDBデータベースの名前を指定します。

      S7000_TARGET - バックアップ用のファイル・システムを提供するNFSホストおよびCloneDBデータベースがSun Storage 7000である場合は、ホストの名前を指定します。それ以外の場合は、この環境変数を設定しないでください。この環境変数は、記憶域スナップショットを使用してクローニングを実行する必要がある場合にのみ設定します。この変数を設定せずに、Direct NFSクライアントにS7000ストレージ・アレイを使用できます。

    2. clonedb.pl Perlスクリプトを実行します。

      このスクリプトは、$ORACLE_HOME/rdbms/installディレクトリにあり、次の構文が含まれます。

      $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/install/clonedb.pl 
      prod_db_pfile [sql_script1] [sql_script2]
      

      次のオプションを指定します。

      prod_db_pfile - 本番データベースのPFILEのフルパスを指定します。

      sql_script1 - clonedb.plによって生成された最初のSQLスクリプトの名前を指定します。デフォルトはcrtdb.sqlです。

      sql_script2 - clonedb.plによって生成された2番目のSQLスクリプトの名前を指定します。デフォルトはdbren.sqlです。

      clonedb.plスクリプトは、本番データベースのPFILEをCloneDBデータベースのディレクトリにコピーします。また、CloneDBデータベースの作成に使用する2つのSQLスクリプトも作成します。

    3. clonedb.pl Perlスクリプトにより生成された2つのSQLスクリプトを確認し、必要に応じて変更します。

    4. CloneDBデータベース環境の初期化パラメータを変更し、ファイルを保存します。

      CloneDBデータベース環境固有の初期化パラメータ(SGAサイズ、PGAターゲット、CPUの数などを制御するパラメータなど)を変更します。CLONEDBパラメータをTRUEに設定する必要があり、初期化パラメータ・ファイルにこのパラメータが含まれています。初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。

    5. SQL*Plusで、CloneDBデータベースにSYSDBA管理権限で接続します。

    6. clonedb.pl Perlスクリプトで生成されたSQLスクリプトを実行します。

      たとえば、スクリプトでデフォルト名を使用する場合は、SQLプロンプトで次のスクリプトを実行します。

      crtdb.sql
      dbren.sql
      

    SQLスクリプトを手動で作成するには、次の手順を実行します。

    1. SYSDBAまたはSYSBACKUP管理権限でデータベースに接続します。

      「SQL*Plusを使用したデータベースへの接続」を参照してください。

    2. 次の手順を実行して、本番データベースからバックアップ制御ファイル・スクリプトを生成します。

      次のSQL文を実行します。

      ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
      

      この文により、制御ファイルを作成するSQL文を含むトレース・ファイルが生成されます。CREATE CONTROLFILE文を含むトレース・ファイルは、DIAGNOSTIC_DEST初期化パラメータで指定されたディレクトリに格納されます。データベース・アラート・ログでこのトレース・ファイルの名前と場所を確認します。

    3. 手順3.bで生成したトレース・ファイルを開き、トレース・ファイル内のSTARTUP NOMOUNT文とCREATE CONTROLFILE文を新しいSQLスクリプトにコピーします。

    4. 手順3.cで作成した新しいSQLスクリプトを次の方法で編集します。

      データベースの名前を、作成するCloneDBデータベースの名前に変更します。たとえば、PROD1CLONE1に変更します。

      ログ・ファイルの場所を、CloneDBデータベース環境のディレクトリに変更します。たとえば、/u01/prod1/oracle/dbs/t_log1.fを/u03/clone1/oracle/dbs/t_log1.fに変更します。

      データファイルの場所を、バックアップの場所に変更します。たとえば、/u01/prod1/oracle/dbs/t_db1.fを/u02/oracle/backup/prod1/t_db1.fに変更します。

      次に、ALTER DATABASE BACKUP CONTROLFILE TO TRACE文で生成された元の文の例を示します。

      STARTUP NOMOUNT
      CREATE CONTROLFILE REUSE DATABASE "PROD1" NORESETLOGS  ARCHIVELOG
          MAXLOGFILES 32
          MAXLOGMEMBERS 2
          MAXDATAFILES 32
          MAXINSTANCES 1
          MAXLOGHISTORY 292
      LOGFILE
        GROUP 1 '/u01/prod1/oracle/dbs/t_log1.f'  SIZE 25M BLOCKSIZE 512,
        GROUP 2 '/u01/prod1/oracle/dbs/t_log2.f'  SIZE 25M BLOCKSIZE 512
      -- STANDBY LOGFILE
      DATAFILE
        '/u01/prod1/oracle/dbs/t_db1.f',
        '/u01/prod1/oracle/dbs/t_ax1.f',
        '/u01/prod1/oracle/dbs/t_undo1.f',
        '/u01/prod1/oracle/dbs/t_xdb1.f',
        '/u01/prod1/oracle/dbs/undots.dbf'
      CHARACTER SET WE8ISO8859P1
      ;
      

      次に、新しいSQLスクリプトの変更された文の例を示します。

      STARTUP NOMOUNT PFILE=/u03/clone1/oracle/dbs/clone1.ora
      CREATE CONTROLFILE REUSE DATABASE "CLONE1" RESETLOGS  ARCHIVELOG
          MAXLOGFILES 32
          MAXLOGMEMBERS 2
          MAXDATAFILES 32
          MAXINSTANCES 1
          MAXLOGHISTORY 292
      LOGFILE
        GROUP 1 '/u03/clone1/oracle/dbs/t_log1.f'  SIZE 25M BLOCKSIZE 512,
        GROUP 2 '/u03/clone1/oracle/dbs/t_log2.f'  SIZE 25M BLOCKSIZE 512
      -- STANDBY LOGFILE
      DATAFILE
        '/u02/oracle/backup/prod1/t_db1.f',
        '/u02/oracle/backup/prod1/t_ax1.f',
        '/u02/oracle/backup/prod1/t_undo1.f',
        '/u02/oracle/backup/prod1/t_xdb1.f',
        '/u02/oracle/backup/prod1/undots.dbf'
      CHARACTER SET WE8ISO8859P1
      ;
      

      データファイルで取得した記憶域レベルのスナップショットがある場合は、RMANバックアップ・ファイル名を記憶域スナップショット名に置き換えることができます。

    5. SQLスクリプトを編集した後、そのスクリプトをCloneDBデータベース環境にアクセスできる場所に保存します。

      新しいSQLスクリプトの名前および保存場所をメモします。このスクリプトは、後続の手順で実行します。この例では、スクリプトの名前はcreate_clonedb1.sqlであると想定しています。

    6. テキスト形式の初期化パラメータ・ファイル(PFILE)を、本番データベース環境からCloneDBデータベース環境にコピーします。

      たとえば、テキスト形式の初期化パラメータ・ファイルを/u01/prod1/oracle/dbsから/u03/clone1/oracle/dbsにコピーします。ファイルの名前および場所は、変更したSQLスクリプトのSTARTUP NOMOUNTコマンドで指定した名前と場所に一致する必要があります。手順3.dの例では、ファイルは/u03/clone1/oracle/dbs/clone1.oraです。

    7. CloneDBデータベース環境の初期化パラメータを変更し、ファイルを保存します。

      CLONEDBパラメータを追加し、このパラメータがTRUEに設定されていることを確認します。CloneDBデータベース環境に固有の他のすべての初期化パラメータ(SGAサイズ、PGAターゲット、CPUの数などを制御するパラメータなど)を変更します。初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。

    8. SQL*Plusで、CloneDBデータベースにSYSDBA管理権限で接続します。

    9. 手順3.eで保存したSQLスクリプトを実行します。

      たとえば、SQL*Plusで次のように入力します。

      @create_clonedb1.sql
      
    10. バックアップの場所の各データファイルで、DBMS_DNFSパッケージのCLONEDB_RENAMEFILEプロシージャを実行し、CloneDBデータベース環境の適切な場所を指定します。

      たとえば、バックアップ・データファイルが/u02/oracle/backup/prod1/t_db1.fで、CloneDBデータベース・データファイルが/u03/clone1/oracle/dbs/t_db1.fである場合は、次のプロシージャを実行します。

      BEGIN
        DBMS_DNFS.CLONEDB_RENAMEFILE(
          srcfile  => '/u02/oracle/backup/prod1/t_db1.f',
          destfile => '/u03/clone1/oracle/dbs/t_db1.f');
      END;
      /
      

      DBMS_DNFSパッケージの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。

  4. CloneDBデータベースをオンライン・バックアップから作成した場合は、CloneDBデータベースをリカバリします。全体オフライン・バックアップまたはBACKUP AS COPYバックアップを実行した場合、この手順は必要ありません。

    たとえば、次のSQL文をCloneDBデータベースで実行します。

    RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;
    

    この文により、バックアップが実行されたときのアーカイブREDOログ・ファイルを求められます。

  5. 次のSQL文を実行して、データベースをオープンします。

    ALTER DATABASE OPEN RESETLOGS;
    

    CloneDBデータベースを使用する準備ができました。

本番データベースの追加のCloneDBデータベースを作成するには、手順3から5を各CloneDBデータベースに対して繰り返します。

2.10.3 CloneDBを使用したデータベースのクローニング後

CloneDBデータベースを作成した後、本番データベースを使用するほとんどすべての方法でそのデータベースを使用できます。最初は、CloneDBデータベースは各データファイルに対して最小限の記憶域を使用します。CloneDBデータベースの行に対して変更を加えると、記憶域がオンデマンドで割り当てられます。

同じバックアップ・ファイルを使用して、複数のCloneDBデータベースを作成できます。このバックアップは、RMANまたは記憶域レベルのスナップショットによって取得できます。データファイルで取得した記憶域レベルのスナップショットがある場合は、RMANバックアップ・ファイル名を記憶域スナップショット名に置き換えることができます。

V$CLONEDFILEビューを使用して、CloneDBデータベースの各データファイルに関する情報を表示できます。この情報には、バックアップのデータファイル名、CloneDBデータベースでの対応するデータファイル名、バックアップ・ファイルから読み取られたブロック数、バックアップ・ファイルに対して発行された要求の数が含まれます。

CloneDBデータベースはバックアップ・ファイルをバックエンド記憶域として使用するため、これらのバックアップ・ファイルは、実行するために各CloneDBデータベースで使用可能である必要があります。バックアップ・ファイルが使用不可能になると、CloneDBデータベースはエラーを返します。

CloneDBデータベースの使用が完了した後、CloneDBデータベース環境を破棄できます。CloneDBデータベース環境のすべてのファイルは、本番データベース環境またはバックアップ環境に影響を与えずに削除できます。

関連項目:

V$CLONEDFILEビューの詳細は、『Oracle Databaseリファレンス』を参照してください。

2.11 データベースの削除

データベースの削除には、データファイル、オンラインREDOログ、制御ファイルおよび初期化パラメータ・ファイルの削除も含まれます。

警告:

データベースを削除すると、そのデータベースに含まれるすべてのデータが削除されます。

データベースを削除するには、次の手順を実行します。

  • 次の文を発行します。

    DROP DATABASE;
    

DROP DATABASE文では、まず、すべての制御ファイルと制御ファイルに記述されている他のすべてのデータベース・ファイルが削除されます。その後、データベース・インスタンスが停止されます。

DROP DATABASE文の使用に成功するには、排他的に、制限モードでデータベースをマウントしておく必要があります。

DROP DATABASE文は、アーカイブREDOログ・ファイル、およびデータベースのコピーまたはバックアップには影響を与えません。これらのファイルを削除する場合は、RMANを使用することをお薦めします。

Database Configuration Assistantを使用してデータベースを作成した場合は、データベースおよびファイルの削除にこのツールを使用できます。

2.12 データベースのデータ・ディクショナリ・ビュー

データ・ディクショナリ・ビューに対してデータベースのコンテンツと構造に関する情報を問い合せることができます。

次のビューを使用して、データベース・コンテンツと構造に関する情報を表示できます。

ビュー 説明

DATABASE_PROPERTIES

永続的なデータベース・プロパティが表示されます。

GLOBAL_NAME

グローバル・データベース名が表示されます。

V$DATABASE

制御ファイル内のデータベース情報が表示されます。

2.13 サイレント・モード時のDatabase Configuration Assistantコマンド・リファレンス

この項では、Database Configuration Assistant (DBCA)サイレント・モード・コマンドの構文とオプションに関して詳しく説明します。

関連項目:

DBCAの詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

DBCAコマンドラインの構文とオプションの概要

DBCAサイレント・モードのコマンド構文は、次のとおりです。

dbca  [-silent | -progressOnly] {command options }  | { [command [options]] 
-responseFile response_file_location } [-continueOnNonFatalErrors {true | false}] 
[-h|-help]

表2-4では、DBCAサイレント・モードのオプションについて説明しています。

表2-4 DBCAサイレント・モードのオプション

オプション 説明

-silent | -progressOnly

DBCAをサイレント・モードで実行する場合は、-silentを指定します。

サイレント・モードのDBCAは、レスポンス・ファイルに指定された値またはコマンドライン・オプションとして指定された値を使用してデータベースを作成または変更します。

DBCAをレスポンス・ファイル・モードで実行する場合は、-progressOnlyを指定します。

レスポンス・ファイル・モードのDBCAは、レスポンス・ファイルに指定された値またはコマンドライン・オプションとして指定された値を使用してデータベースを作成または構成します。これによってデータベースを構成して起動すると、ステータス・メッセージおよびプログレス・バーを含むウィンドウが表示されます。レスポンス・ファイル・モードのDBCAでは、グラフィック表示が使用されます。DISPLAY環境変数が正しく設定されていることを確認します。

これらのオプションは相互に排他的です。

command options

DBCAコマンド、およびコマンドの有効なオプションを指定します。

DBCAコマンドの詳細は、表2-5を参照してください。

-responseFile response_file_location

レスポンス・ファイルへの完全なパスを指定します。レスポンス・ファイルのデフォルト名はdbca.rspです。

-continueOnNonFatalErrors {true | false}

致命的でないエラーが発生したときにDBCAの実行を継続する場合は、true (デフォルト)を指定します。

致命的でないエラーが発生したときにDBCAの実行を停止する場合は、falseを指定します。

-h | -help

DBCAのヘルプを表示します。

特定のコマンドのヘルプを表示するには、次のように入力します。

dbca command -help

たとえば、-createDatabaseコマンドのヘルプを表示するには、次のように入力します。

dbca -createDatabase -help

表2-5では、DBCAサイレント・モードのコマンドについて説明しています。

表2-5 DBCAサイレント・モードのコマンド

コマンド 説明

createDatabase

データベースを作成します。

configureDatabase

データベースを構成します。

createTemplateFromDB

既存のデータベースからデータベース・テンプレートを作成します。

createCloneTemplate

既存のデータベースからクローン(シード)データベース・テンプレートを作成します。

generateScripts

データベースを作成するためのスクリプトを生成します。

deleteDatabase

データベースを削除します。

createPluggableDatabase

CDBにPDBを作成します。

unplugDatabase

CDBからPDBを切断します。

deletePluggableDatabase

PDBを削除します。

configurePluggableDatabase

PDBを構成します。

DBCAテンプレート

DBCAを使用して、オラクル社提供のテンプレートまたは自分で作成したテンプレートからデータベースを作成できます。DBCAテンプレートは、データベースの作成に必要な情報が含まれたXMLファイルです。

次の2つのタイプのワークロードのテンプレートが提供されています。

  • 汎用またはオンライン・トランザクション処理

  • データ・ウェアハウス

使用するデータベースでサポートされるワークロードのタイプに適したテンプレートを選択します。どちらを選択するか不明な場合は、「汎用またはオンライン・トランザクション処理」テンプレートを使用します。特定のワークロード要件を満たすために、カスタム・テンプレートを作成することもできます。

注意:

「汎用またはオンライン・トランザクション処理」テンプレートおよび「データ・ウェアハウス」テンプレートでは、COMPATIBLE初期化パラメータを12.1.0.2.0に設定してデータベースを作成します。

2.13.1 createDatabase

createDatabaseコマンドにより、データベースが作成されます。

構文およびパラメータ

次の構文でdbca -createDatabaseコマンドを使用します。

dbca -createDatabase 
    -templateName template_name 
    [-cloneTemplate] 
    -gdbName global_database_name 
    [-sid database_system_identifier]
    [-createAsContainerDatabase {true | false}
        [-numberOfPDBs integer]
        [-pdbName pdb_name]]
    [-sysPassword sys_user_password]
    [-systemPassword system_user_password]
    [-emConfiguration {DBEXPRESS | CENTRAL | BOTH | NONE}
       -dbsnmpPassword DBSNMP_user_password
       [-omsHost EM_management_server_host_name
       -omsPort EM_management_server_port_number
       -emUser EM_admin_username
       -emPassword EM_admin_user_password]]
    [-dvConfiguration {true | false}
        -dvUserName Database_Vault_owner_username
        -dvUserPassword Database_Vault_owner_password
        -dvAccountManagerName Database_Vault_account_manager
        -dvAccountManagerPassword Database_Vault_account_manager_password]
    [-olsConfiguration {true | false}]
    [-datafileDestination directory | -datafileNames text_file_location]
    [-redoLogFileSize integer]
    [-recoveryAreaDestination destination_directory]
    [-datafileJarLocation jar_file_location]
    [-storageType {FS | ASM} 
        [-asmsnmpPassword asmsnmp_password]
        -diskGroupName disk_group_name
        -recoveryGroupName recovery_area_disk_group_name]
    [-characterSet database_character_set]
    [-nationalCharacterSet database_national_character_set]
    [-registerWithDirService {true | false} 
         -dirServiceUserName directory_service_user_name
         -dirServicePassword directory_service_password
         -walletPassword wallet_password]
    [-listeners list_of_listeners]
    [-variablesFile variable_file]
    [-variables variable_list]
    [-initParams parameter_list]
    [-sampleSchema {true | false}]
    [-memoryPercentage integer]
    [-automaticMemoryManagement {true | false}]
    [-totalMemory integer]
    [-databaseType {MULTIPURPOSE | DATA_WAREHOUSING | OLTP}]
    -serviceUserPassword Windows_Oracle_Home_service_user_password

表2-6 createDatabaseパラメータ

パラメータ 必須/オプション 説明

-templateName template_name

必須

デフォルトの場所の既存のテンプレートの名前、またはデフォルトの場所にないテンプレートへの完全パス。

-cloneTemplate

オプション

テンプレートがシード・テンプレートであることを示します。

シード・テンプレートには、既存のデータベースの構造と物理データファイルの両方が含まれます。テンプレート・ファイル拡張子が.dbcの場合、DBCAでは、そのファイルをデフォルトでシード・テンプレートとして処理します。

-gdbName global_database_name

必須

database_name.domain_name形式のグローバル・データベース名。

-sid database_system_identifier

オプション

データベースのシステム識別子。

SIDは、データベースを実行するインスタンスを一意に識別します。指定しないと、デフォルトでデータベース名に設定されます。

-createAsContainerDatabase {true | false}

オプション

CDBを作成する場合は、trueを指定します。

非CDBを作成する場合は、false (デフォルト)を指定します。

trueを指定した場合は、次の追加パラメータはオプションです。

  • -numberOfPDBs: 作成するPDBの数。デフォルトは0(ゼロ)です。

  • -pdbName: 各PDBの基本名。-numberOfPDBsが1よりも大きい場合は、それぞれの名前に番号が追加されます。このパラメータは、-numberOfPDBsが0 (ゼロ)より大きい場合に指定する必要があります。

-sysPassword sys_user_password

オプション

新しいデータベースのSYSユーザー・パスワード。

-systemPassword system_user_password

オプション

新しいデータベースのSYSTEMユーザー・パスワード。

-emConfiguration {DBEXPRESS | CENTRAL | BOTH | NONE}

オプション

DBEXPRESSCENTRALまたはBOTHが指定されている場合は、次の追加パラメータを指定します。

  • -dbsnmpPassword: DBSNMPユーザー・パスワード

  • -omsHost: Enterprise Manager管理サーバーのホスト名

  • -omsPort: Enterprise Manager管理サーバーのポート番号

  • -emUser: Enterprise Manager管理者のホスト・ユーザー名

  • -emPassword: Enterprise Manager管理者のホスト・ユーザー・パスワード

-dvConfiguration {true | false}

オプション

データベースでOracle Database Vaultを使用しない場合は、false (デフォルト)を指定します。

Database Vaultを構成および有効化する場合はtrueを指定し、Database Vaultを構成および有効化しない場合はfalseを指定します。

trueを指定した場合は、次の追加のDatabase Vaultパラメータが必要です。

  • -dvUserName: Database Vault所有者のユーザー名を指定します。

  • -dvUserPassword: Database Vault所有者のパスワードを指定します。

  • -dvAccountManagerName: 個別のDatabase Vaultアカウント・マネージャを指定します。

  • -dvAccountManagerPassword: Database Vaultアカウント・マネージャのパスワードを指定します。

-olsConfiguration {true | false}

オプション

Oracle Label Securityを構成および有効化する場合は、trueを指定します。

データベースでOracle Label Securityを使用しない場合は、false (デフォルト)を指定します。

-datafileDestination directory

オプション

データベースのデータファイルの場所への完全なパス

注意: -datafileDestinationパラメータと-datafileNamesパラメータは相互に排他的です。

-datafileNames text_file_location

オプション

対応するファイル名マッピングに一致した、制御ファイル、表領域、REDOログ・ファイル、SPFILEなどのデータベース・オブジェクトがname=value形式で含まれたテキスト・ファイル。

注意: -datafileDestinationパラメータと-datafileNamesパラメータは相互に排他的です。

-redoLogFileSize integer

オプション

各オンラインREDOログのサイズ(MB)。

-recoveryAreaDestination directory

オプション

バックアップおよびリカバリ領域である、高速リカバリ領域の宛先ディレクトリ。

-datafileJarLocation jar_file_location

オプション

データベース・オフライン・バックアップの場所(クローン・データベース作成の場合のみ)。

シード・データベースのデータファイルは、RMANバックアップの圧縮形式で、拡張子が.dfbのファイルに格納されます。

-storageType {FS | ASM}

オプション

ファイル・システムの場合は、FS

FSが指定されている場合、データベース・ファイルは、使用しているオペレーティング・システムのファイル・システムによって管理されます。データベース・テンプレート、-datafileDestinationパラメータまたは-datafileNamesパラメータを使用して、データベース・ファイルが格納されるディレクトリ・パスを指定します。Oracle Databaseは、実際のファイルを作成および管理できます。

Oracle Automatic Storage Management(Oracle ASM)のASM

ASMが指定されている場合、データベース・ファイルはOracle ASMディスク・グループに配置されます。データベース・ファイルの配置とネーミングはOracle Databaseによって自動的に管理されます。

ASMが指定されている場合は、次の追加パラメータを指定します。

  • -asmsnmpPassword: ASM監視のASMSNMPパスワード。このパラメータはオプションです。

  • -diskGroupName: データベース領域のディスク・グループ名。このパラメータは必須です。

  • -recoveryGroupName: リカバリ領域のディスク・グループ名。このパラメータは必須です。

-characterSet database_character_set

オプション

データベースのキャラクタ・セット

-nationalCharacterSet database_national_character_set

オプション

データベースの各国語キャラクタ・セット。

-registerWithDirService {true | false}

オプション

Lightweight Directory Access Protocol (LDAP)サービスに登録する場合は、trueを指定します。

LDAPサービスに登録しない場合は、false (デフォルト)を指定します。

trueを指定した場合は、次の追加パラメータが必要です。

  • -dirServiceUserName: LDAPサービスのユーザー名

  • -dirServicePassword: LDAPサービスのパスワード

  • -walletPassword: データベース・ウォレットのパスワード

-listeners list_of_listeners

オプション

データベースのリスナーのカンマ区切りリスト。

-variablesFile variable_file

オプション

データベース・テンプレートの変数に対する変数値ペアを含むファイルへの完全パス。

-variables variable_list

オプション

データベース・テンプレートの変数に対するname=valueペアのカンマ区切りリスト。

-initParams parameter_list

オプション

データベースの初期化パラメータ値のname=valueペアのカンマ区切りリスト。

-sampleSchema {true | false}

オプション

サンプル・スキーマ(EXAMPLE表領域)をデータベースに含める場合は、trueを指定します。オラクル社のガイドおよび入門資料には、サンプル・スキーマに基づいた例が含まれています。オラクル社では、データベースでのサンプル・スキーマの利用をお薦めしています。

サンプル・スキーマを使用せずにデータベースを作成する場合は、falseを指定します。

-memoryPercentage integer

オプション

Oracle Databaseが使用できる物理メモリーの割合。

-automaticMemoryManagement {true | false}

オプション

MEMORY_TARGET初期化パラメータの使用を強制します。

-totalMemory integer

オプション

新しいデータベースが使用できる物理メモリーの合計量(MB)。

-databaseType {MULTIPURPOSE | DATA_WAREHOUSING | OLTP}

オプション

データベースの目的がOLTPとデータ・ウェアハウスの両方である場合は、MULTIPURPOSEを指定します。

データベースの主な目的がデータ・ウェアハウスである場合は、DATA_WAREHOUSINGを指定します。

データベースの主な目的がオンライン・トランザクション処理である場合は、OLTPを指定します。

-serviceUserPassword Windows_Oracle_Home_service_user_password

必須

Windowsプラットフォームのみにおいて、OracleホームがOracleホーム・ユーザーを使用してインストールされた場合は、Oracleホーム・ユーザーのパスワードを指定します。

2.13.2 configureDatabase

configureDatabaseコマンドにより、データベースが構成されます。

構文およびパラメータ

次の構文でdbca -configureDatabaseコマンドを使用します。

dbca -configureDatabase 
   -sourceDB source_database_sid
   [-sysDBAUserName user_name
    -sysDBAPassword password]
   [-registerWithDirService | -unregisterWithDirService | -regenerateDBPassword {true | false}
      -dirServiceUserName directory_service_user_name
      -dirServicePassword directory_service_password
      -walletPassword wallet_password]
   [-addDBOption options_list]
   [-dvConfiguration {true | false}
      -dvUserName Database_Vault_owner_username
      -dvUserPassword Database_Vault_owner_password
      -dvAccountManagerName Database_Vault_account_manager
      -dvAccountManagerPassword Database_Vault_account_manager_password]

表2-7 configureDatabaseパラメータ

パラメータ 必須/オプション 説明

-sourceDB source_database_sid

必須

構成されるデータベースのデータベース・システム識別子。

-sysDBAUserName user_name

オプション

SYSDBA管理権限を持つユーザーのユーザー名。

-sysDBAPassword password

オプション

SYSDBA管理権限を付与されたユーザーのパスワード。

-registerWithDirService | -unregisterWithDirService | -regenerateDBPassword {true | false}

オプション

次のいずれかのパラメータをtrueまたはfalseに設定します。

  • -registerWithDirService: trueの場合はLightweight Directory Access Protocol (LDAP)サービスに登録し、false (デフォルト)の場合はLDAPサービスに登録しません。

  • -unregisterWithDirService: trueの場合はLDAPサービスから登録解除し、false (デフォルト)の場合はLDAPサービスから登録解除しません。

  • -regenerateDBPassword: trueの場合はLDAPサービスのデータベース・パスワードを再生成し、false (デフォルト)の場合はLDAPサービスのデータベース・パスワードを再生成しません。

trueを指定した場合は、次の追加パラメータが必要です。

  • -dirServiceUserName: LDAPサービスのユーザー名

  • -dirServicePassword: LDAPサービスのパスワード

  • -walletPassword: データベース・ウォレットのパスワード

-addDBOption

オプション

次のいずれかのOracle Databaseオプションをカンマ区切りのリストで指定します。

  • JSERVER

  • ORACLE_TEXT

  • IMEDIA

  • CWMLITE

  • SPATIAL

  • OMS

  • APEX

  • DV

-dvConfiguration {true | false}

オプション

データベースでOracle Database Vaultを使用しない場合は、false (デフォルト)を指定します。

Database Vaultを構成および有効化する場合はtrueを指定し、Database Vaultを構成および有効化しない場合はfalseを指定します。

trueを指定した場合は、次の追加のDatabase Vaultパラメータが必要です。

  • -dvUserName: Database Vault所有者のユーザー名を指定します。

  • -dvUserPassword: Database Vault所有者のパスワードを指定します。

  • -dvAccountManagerName: 個別のDatabase Vaultアカウント・マネージャを指定します。

  • -dvAccountManagerPassword: Database Vaultアカウント・マネージャのパスワードを指定します。

2.13.3 createTemplateFromDB

createTemplateFromDBコマンドにより、既存のデータベースからデータベース・テンプレートが作成されます。

構文およびパラメータ

次の構文でdbca -createTemplateFromDBコマンドを使用します。

dbca -createTemplateFromDB 
   -sourceDB source_database_sid
   -templateName new_template_name
   -sysDBAUserName user_name
   -sysDBAPassword password
   [-maintainFileLocations {true | false}]
   [-connectionString easy_connect_string]

表2-8 createTemplateFromDBパラメータ

パラメータ 必須/オプション 説明

-sourceDB source_database_sid

必須

データベース・システム識別子

-templateName new_template_name

必須

新しいデータベース・テンプレートの名前。

-sysDBAUserName user_name

必須

SYSDBA管理権限を持つユーザーのユーザー名。

-sysDBAPassword password

必須

SYSDBA管理権限を付与されたユーザーのパスワード。

-maintainFileLocations {true | false}

オプション

テンプレートのデータベースのファイル場所を使用する場合はtrueを指定します。

テンプレートのファイルの場所とは異なる場所を使用する場合はfalse (デフォルト)を指定します。ファイルの場所は、Oracle Flexible Architecture (OFA)によって決められます。

-connectionString easy_connect_string

オプション

リモート・データベースに接続するための次の形式の簡単な接続文字列。

"host[:port][/service_name][:server][/instance_name]"

2.13.4 createCloneTemplate

createCloneTemplateコマンドにより、既存のデータベースからクローン(シード)データベース・テンプレートが作成されます。

構文およびパラメータ

次の構文でdbca -createCloneTemplateコマンドを使用します。

dbca -createCloneTemplate 
   -sourceSID source_database_sid
   -templateName new_template_name
   [-sysDBAUserName user_name
    -sysDBAPassword password]
   [-maxBackupSetSizeInMB integer]
   [-rmanParallelism integer
   [-datafileJarLocation jar_location]

表2-9 createCloneTemplateパラメータ

パラメータ 必須/オプション 説明

-sourceSID source_database_sid

必須

データベース・システム識別子

-templateName new_template_name

必須

新しいデータベース・テンプレートの名前。

-sysDBAUserName user_name

オプション

SYSDBA管理権限を付与されたユーザーのユーザー名

-sysDBAPassword password

オプション

SYSDBA管理権限を付与されたユーザーのパスワード。

-maxBackupSetSizeInMB integer

オプション

バックアップ・セットの最大サイズ(MB)

-rmanParallelism integer

オプション

Recovery Manager (RMAN)操作の並列度

-datafileJarLocation jar_location

オプション

圧縮形式でデータファイルを配置する場所を指定する完全パス

2.13.5 generateScripts

generateScriptsコマンドにより、データベースを作成するスクリプトが生成されます。

構文およびパラメータ

次の構文でdbca -generateScriptsコマンドを使用します。

dbca -generateScripts 
   -templateName template_name
   -gdbName global_database_name
   [-scriptDest script_destination]

表2-10 generateScriptsパラメータ

パラメータ 必須/オプション 説明

-templateName template_name

必須

デフォルトの場所にある既存のデータベース・テンプレートの名前、またはデフォルトの場所にないテンプレートへの完全パス

-gdbName global_database_name

必須

database_name.domain_name形式のグローバル・データベース名。

-scriptDest script_destination

オプション

スクリプトを配置する場所を指定する完全パス

2.13.6 deleteDatabase

deleteDatabaseコマンドにより、データベースが削除されます。

構文およびパラメータ

次の構文でdbca -deleteDatabaseコマンドを使用します。

dbca -deleteDatabase 
   -sourceDB source_database_sid
   [-sysDBAUserName user_name
    -sysDBAPassword password]
   [-emConfiguration {DBEXPRESS | CENTRAL | BOTH | NONE}
     [-omsHost central_agent_home
      -omsPort central_agent_port
      -emUser host_username
      -emPassword host_user_password]]

表2-11 deleteDatabaseパラメータ

パラメータ 必須/オプション 説明

-sourceDB source_database_sid

必須

データベース・システム識別子

-sysDBAUserName user_name

オプション

SYSDBA管理権限を持つユーザーのユーザー名。

-sysDBAPassword password

オプション

SYSDBA管理権限を付与されたユーザーのパスワード。

-emConfiguration {DBEXPRESS | CENTRAL | BOTH | NONE}

オプション

DBEXPRESSCENTRALまたはBOTHが指定されている場合は、次の追加パラメータを指定します。

  • -omsHost: Enterprise Manager中央エージェントのホーム

  • -omsPort: Enterprise Manager中央エージェントのポート

  • -emUser: Enterprise Managerバックアップ・ジョブのホスト・ユーザー名

  • -emPassword: Enterprise Managerバックアップ・ジョブのホスト・ユーザー・パスワード

2.13.7 createPluggableDatabase

createPluggableDatabaseコマンドにより、CDBにPDBが作成されます。

構文およびパラメータ

次の構文でdbca -createPluggableDatabaseコマンドを使用します。

dbca -createPluggableDatabase 
   -sourceDB source_database_sid
   -pdbName new_pdb_name
   [-createAsClone {true | false}]
   [-createPDBFrom {DEFAULT | FILEARCHIVE | RMANBACKUP | USINGXML}
      [-pdbArchiveFile pdb_archive_file_location]
      [-PDBBackUpfile pdb_backup_file_location]
      [-PDBMetadataFile pdb_metadata_file_location]
      [-pdbAdminUserName pdb_admin_user_name]
      [-pdbAdminPassword pdb_admin_password]
      [-createNewPDBAdminUser {true | false}]
      [-sourceFileNameConvert source_file_name_convert_clause]
      [-fileNameConvert file_name_convert_clause]
      [-copyPDBFiles  {true | false}]]
   [-pdbDatafileDestination pdb_datafile_destination]
   [-useMetaDataFileLocation {true | false}]
   [-registerWithDirService {true | false} 
      -dirServiceUserName directory_service_user_name
      -dirServicePassword directory_service_password
      -walletPassword wallet_password]
   [-lbacsysPassword LBACSYS_user_password]
   [-createUserTableSpace {true | false)]
   [-dvConfiguration {true | false}
      -dvUserName Database_Vault_owner_username
      -dvUserPassword Database_Vault_owner_password
      -dvAccountManagerName Database_Vault_account_manager
      -dvAccountManagerPassword Database_Vault_account_manager_password]

表2-12 createPluggableDatabaseパラメータ

パラメータ 必須/オプション 説明

-sourceDB source_database_sid

必須

CDBのデータベース・システム識別子。

-pdbName new_pdb_name

必須

新しいPDBの名前。

-createAsClone {true | false}

オプション

新規PDBの作成に使用する予定のファイルが、既存のPDBの作成に使用されたファイルと同じ場合は、TRUEを指定します。TRUEを指定すると、Oracle Databaseは一意のPDB DBID、GUIDおよび新規PDBで予期されるその他の識別子を生成します。

新規PDBの作成に使用する予定のファイルが、既存のPDBの作成に使用されたファイルと同じでない場合は、FALSE (デフォルト)を指定します。

-createPDBFrom {DEFAULT | FILEARCHIVE | RMANBACKUP | USINGXML}

オプション

CDBのシードからPDBを作成する場合はDEFAULTを指定します。DEFAULTを指定する場合は、次の追加パラメータが必要です。

  • -pdbAdminUserName: PDBのローカル管理者のユーザー名

  • -pdbAdminPassword: PDBのローカル管理者のパスワード

切断されたPDBのファイルからPDBを作成する場合は、FILEARCHIVEを指定します。FILEARCHIVEを指定した場合は、次の追加パラメータが必要です。

  • -pdbArchiveFile: 切断されたPDBのアーカイブ・ファイルの完全パスおよび名前

    アーカイブ・ファイルには、PDBのXMLメタデータ・ファイルとデータファイルなど、PDBのすべてのファイルが含まれています。通常、アーカイブ・ファイルには.gzの拡張子が付いています。

  • -createNewPDBAdminUser: 新しいPDB管理者を作成する場合はtrueを指定し、新しいPDB管理者を作成しない場合はfalseを指定します。

Recovery Manager (RMAN)バックアップからPDBを作成する場合は、RMANBACKUPを指定します。RMANBACKUPを指定する場合は、次の追加パラメータが必要です。

  • -PDBBackUpfile: PDBバックアップ・ファイルの完全パスおよび名前

  • -PDBMetadataFile: PDBのXMLメタデータ・ファイルの完全なパスおよび名前

切断されたPDBのXMLメタデータ・ファイルからPDBを作成する場合は、USINGXMLを指定します。USINGXMLを指定する場合は、次の追加パラメータが必要です。

  • -PDBMetadataFile: PDBのXMLメタデータ・ファイルの完全なパスおよび名前

必要に応じて、その他の句を指定します。

  • -sourceFileNameConvert: SOURCE_FILE_NAME_CONVERT句。

  • -fileNameConvert: FILE_NAME_CONVERT句。

  • -copyPDBFiles: ファイルをコピーする場合はFILE_NAME_CONVERT句にtrueを指定し、ファイルをコピーする必要がない場合はfalseを指定します。

これらの句の詳細は、「CREATE PLUGGABLE DATABASE文」を参照してください。

-pdbDatafileDestination pdb_datafile_destination

オプション

新しいPDBのデータファイルの場所の完全なパス

パラメータが指定されていない場合は、Oracle Managed FilesまたはPDB_FILE_NAME_CONVERT初期化パラメータで、ファイルの名前と場所の生成方法を指定します。Oracle Managed FilesおよびPDB_FILE_NAME_CONVERT初期化パラメータの両方を使用する場合は、Oracle Managed Filesが優先されます。

パラメータが指定されていない場合は、Oracle Managed Filesが有効になっておらず、PDB_FILE_NAME_CONVERT初期化パラメータは設定されていません。デフォルトで、ルートのファイルのディレクトリ内のPDB名を持つサブディレクトリへのパスが使用されます。

-useMetaDataFileLocation {true | false}

オプション

データファイルの抽出時に、PDBアーカイブ内のXMLメタデータ・ファイルで定義されているデータファイルのパスを使用する場合は、trueを指定します。

データファイルの抽出時に、PDBアーカイブ内のXMLメタデータ・ファイルで定義されているデータファイルのパスを使用しない場合は、false (デフォルト)を指定します。

-registerWithDirService {true | false}

オプション

Lightweight Directory Access Protocol (LDAP)サービスに登録する場合は、trueを指定します。

LDAPサービスに登録しない場合は、false (デフォルト)を指定します。

trueを指定した場合は、次の追加パラメータが必要です。

  • -dirServiceUserName: LDAPサービスのユーザー名

  • -dirServicePassword: LDAPサービスのパスワード

  • -walletPassword: データベース・ウォレットのパスワード

-lbacsysPassword

オプション

Oracle Label Securityを構成するときにLBACSYSユーザー・パスワードを指定します。Oracle Label Securityを構成するときに、このパラメータは必須です。

-dvConfiguration {true | false}

オプション

PDBでOracle Database Vaultを使用しない場合は、false (デフォルト)を指定します。

Database Vaultを構成および有効化する場合は、trueを指定します。

trueを指定した場合は、次の追加のDatabase Vaultパラメータが必要です。

  • -dvUserName: Database Vault所有者のユーザー名を指定します。

  • -dvUserPassword: Database Vault所有者のパスワードを指定します。

  • -dvAccountManagerName: 個別のDatabase Vaultアカウント・マネージャを指定します。

  • -dvAccountManagerPassword: Database Vaultアカウント・マネージャのパスワードを指定します。

2.13.8 unplugDatabase

unplugDatabaseコマンドにより、PDBがCDBから切断されます。

構文およびパラメータ

次の構文でdbca -unplugDatabaseコマンドを使用します。

dbca -unplugDatabase 
   -sourceDB source_database_sid
   -pdbName pdb_name
      [-pdbArchiveFile pdb_archive_file_location]
      [-PDBBackUpfile pdb_backup_file_location]
      [-PDBMetadataFile pdb_metadata_file_location]
      [-archiveType {TAR | RMAN | NONE}]
   [-unregisterWithDirService {true | false}
      -dirServiceUserName directory_service_user_name
      -dirServicePassword directory_service_password
      -walletPassword wallet_password]

表2-13 unplugDatabaseパラメータ

パラメータ 必須/オプション 説明

-sourceDB source_database_sid

必須

CDBのデータベース・システム識別子。

-pdbName pdb_name

必須

PDBの名前。

-pdbArchiveFile pdb_archive_file_location

オプション

切断されたPDBのアーカイブ・ファイルの完全パスおよびファイル名

-PDBBackUpFile pdb_archive_file_location

オプション

アーカイブ・タイプがRMANの場合に必要な、切断されたPDBのバックアップ・ファイルの完全なパスおよびファイル名

-PDBMetadataFile pdb_archive_file_location

オプション

アーカイブ・タイプがRMANまたはNONEの場合に必要な、切断されたPDBのメタデータ・ファイルの完全なパスおよびファイル名

-archiveType {TAR | RMAN | NONE}

オプション

切断されたPDBのファイルをtarファイルに格納する場合は、TARを指定します。

切断されたPDBのファイルをRMANバックアップに格納する場合は、RMANを指定します。

tarファイルまたはRMANバックアップを使用しないで、切断されたPDBのファイルを格納する場合は、NONEを指定します。

-unregisterWithDirService {true | false}

オプション

trueを指定した場合は、LDAPサービスから登録解除されます。false (デフォルト)を指定した場合は、LDAPサービスから登録解除されません。

trueを指定した場合は、次の追加パラメータが必要です。

  • -dirServiceUserName: LDAPサービスのユーザー名

  • -dirServicePassword: LDAPサービスのパスワード

  • -walletPassword: データベース・ウォレットのパスワード

2.13.9 deletePluggableDatabase

deletePluggableDatabaseコマンドにより、PDBが削除されます。

構文およびパラメータ

次の構文でdbca -deletePluggableDatabaseコマンドを使用します。

dbca -deletePluggableDatabase 
   -sourceDB source_database_sid
   -pdbName pdb_name

表2-14 deletePluggableDatabaseパラメータ

パラメータ 必須/オプション 説明

-sourceDB source_database_sid

必須

CDBのデータベース・システム識別子。

-pdbName pdb_name

必須

PDBの名前。

2.13.10 configurePluggableDatabase

configurePluggableDatabaseコマンドにより、PDBが構成されます。

構文およびパラメータ

次の構文でdbca -configurePluggableDatabaseコマンドを使用します。

dbca -configurePluggableDatabase 
   -sourceDB source_database_sid
   -pdbName new_pdb_name
   [-dvConfiguration {true | false}
      -dvUserName Database_Vault_owner_username
      -dvUserPassword Database_Vault_owner_password
      -dvAccountManagerName Database_Vault_account_manager
      -dvAccountManagerPassword Database_Vault_account_manager_password]
   [-olsConfiguration {true | false}]
   [-registerWithDirService {true | false} | -unregisterWithDirService {true | false}
      -dirServiceUserName directory_service_user_name
      -dirServicePassword directory_service_password
      -walletPassword wallet_password]
   [-lbacsysPassword LBACSYS_user_password]

表2-15 configurePluggableDatabaseパラメータ

パラメータ 必須/オプション 説明

-sourceDB source_database_sid

必須

CDBのデータベース・システム識別子。

-pdbName new_pdb_name

必須

PDBの名前。

-dvConfiguration {true | false}

オプション

PDBでOracle Database Vaultを使用しない場合は、false (デフォルト)を指定します。

Database Vaultを構成および有効化する場合は、trueを指定します。

trueを指定した場合は、次の追加のDatabase Vaultパラメータが必要です。

  • -dvUserName: Database Vault所有者のユーザー名を指定します。

  • -dvUserPassword: Database Vault所有者のパスワードを指定します。

  • -dvAccountManagerName: 個別のDatabase Vaultアカウント・マネージャを指定します。

  • -dvAccountManagerPassword: Database Vaultアカウント・マネージャのパスワードを指定します。

-olsConfiguration {true | false}

オプション

Oracle Label Securityを構成および有効化する場合は、trueを指定します。

PDBでOracle Label Securityを使用しない場合は、false (デフォルト)を指定します。

-registerWithDirService {true | false} | -unregisterWithDirService {true | false}

オプション

Lightweight Directory Access Protocol (LDAP)サービスに登録する場合は、trueを指定します。

LDAPサービスから登録解除する場合は、false (デフォルト)を指定します。

trueを指定した場合は、次の追加パラメータが必要です。

  • -dirServiceUserName: LDAPサービスのユーザー名

  • -dirServicePassword: LDAPサービスのパスワード

  • -walletPassword: データベース・ウォレットのパスワード

-lbacsysPassword

オプション

Oracle Label Securityを構成するときにLBACSYSユーザー・パスワードを指定します。Oracle Label Securityを構成するときに、このパラメータは必須です。