コマンドライン・ツールを使用したWindowsでのデータベースの作成タスクの概要
新しいデータベースを手動で作成する方法について説明します。データベース・ソフトウェア・ファイルの一部として、Oracle Databaseではサンプル初期化パラメータ・ファイルが用意されており、必要に応じて編集できます。
Oracle Database Configuration Assistantを使用して、データベース作成スクリプトを作成できます。
データベース作成タスクのタイプを次に示します。
-
既存のデータベースをコピーし、古いデータベースは削除。
-
既存のデータベースをコピーし、古いデータベースは保持。
-
データベースがシステムに存在しない場合、新しいデータベースを作成。
手動でのデータベース作成作業
手動でのデータベース作成作業を使用して、前述の各データベース作成カテゴリにおける、新しいデータベースを手動で作成する作業を理解します。各手順は、この後の各項で詳しく説明しています。
表4-1 手動でのデータベース作成作業
| タスク | 既存のデータベースをコピーし、古いデータベースを削除 | 既存のデータベースをコピーし、古いデータベースを保持 | データベースがシステムに存在しない場合、新しいデータベースを作成 |
|---|---|---|---|
| 既存のデータベースのエクスポートについて |
可 |
注1 |
該当なし |
| データベース・ファイルの削除 |
可 |
不要 |
該当なし |
| 初期化パラメータ・ファイルの変更 |
可 |
可 |
可 |
| Oracle Databaseインスタンスの起動 |
可 |
可 |
可 |
| Oracle Databaseサービスの作成および開始について |
不要 |
可 |
可 |
| CREATE DATABASE文のスクリプトへの書込み |
可 |
可 |
可 |
| CREATE DATABASEスクリプトの実行 |
可 |
可 |
可 |
| データベースのインポートについて |
可 |
注2 |
該当なし |
| レジストリのORACLE_SIDの更新 |
不要 |
デフォルトの |
可 |
| 新しいデータベースのバックアップ |
可 |
可 |
可 |
注1
データを既存のデータベースから新しいデータベースにコピーする場合にのみ必要で、それ以外の場合は不要です。
注2
既存のデータベースからエクスポートされた表および他のオブジェクトをインポートする場合にのみ必要で、それ以外の場合は不要です。
次の項の例でデータベースの作成方法を示します。この例では、既存のデータベースはSIDがorclの初期データベースで、ディレクトリC:\app\username\oradata\orclにあります。orclを、ディレクトリC:\app\username\oradata\prodにある、データベース名とSIDがprodの新しいデータベースにコピーします。次に、初期データベースorclを削除します。
- 既存のデータベースのエクスポートについて
新しいデータベースに既存のデータベースの内容をコピーする場合は、既存のデータベースをエクスポートする必要があります。 - データベース・ファイルの削除
データベース・ファイルの削除は、既存のデータベースを新しいデータベースにコピーし、古いデータベースと置き換える場合にのみ必要です。 - 初期化パラメータ・ファイルの変更
初期化パラメータ・ファイルを変更する方法について説明します。 - Oracle Databaseサービスの作成および開始について
Oracle Databaseサービスを作成して開始する方法について説明します。 - Oracle Databaseインスタンスの起動
データベースをマウントせずにインスタンスを起動する方法について説明します。 - CREATE DATABASE文のスクリプトへの追加
CREATE DATABASE文は、データベースを作成するSQL文です。 - CREATE DATABASEスクリプトの実行
CREATE DATABASEスクリプトを実行するには、この手順を使用します。 - データベースのインポートについて
データ・ポンプ・インポートまたはインポートを使用する方法について説明します。 - レジストリのORACLE_SIDの更新
これがコンピュータの最初のデータベースである場合、または新しいデータベースをデフォルトのデータベースにする場合は、レジストリを変更する必要があります。 - ORACLE_SIDパラメータの作成
これがシステムでの最初のデータベースで、まだパラメータORACLE_SIDがない場合は、このパラメータを作成する必要があります。 - 新しいデータベースのバックアップ
データ損失を防ぐには、この手順を使用します。
親トピック: Windowsでのインストール後の構成
既存のデータベースのエクスポートについて
新しいデータベースに既存のデータベースの内容をコピーする場合は、既存のデータベースをエクスポートする必要があります。
以前のOracleリリースのデータを扱う場合は、その処理にエクスポートを使用できます。Oracle Database 10gリリース1(10.1)以上のデータを使用する場合は、浮動小数点などのOracle Database 10gリリース1(10.1)以上の新機能がサポートされるため、データ・ポンプ・エクスポートを使用することをお薦めします。
データ・ポンプ・エクスポートまたはエクスポートは、パラメータ・モードまたは対話形式モードのいずれかを使用して起動できますが、パラメータ・モードを使用することをお薦めします。対話形式モードはパラメータ・モードよりも機能が少なく、下位互換性を保つためにのみ用意されています。
データ・ポンプ・エクスポートのパラメータ・モードの構文は次のとおりです。
C:\> expdp SYSTEM DUMPFILE=myexp.dmp FULL=y LOGFILE=myexp.log Password: password
データ・ポンプ・エクスポートの対話形式モードの構文は次のとおりです。
C:\> expdp SYSTEM Password: password
expdp SYSTEMコマンドのみを入力すると、対話形式セッションが開始され、データ・ポンプ・エクスポートにより必要な情報の入力を求められます。
注意:
パラメータ・モードを使用する場合、ファイル名やディレクトリ名にスペースが存在するとデータ・ポンプ・エクスポートによって不正な名前とみなされます。対処方法として、DUMPFILE=パラメータのフルパス指定は、3つの二重引用符で囲みます。次に例を示します。
DUMPFILE="""C:\program files\export.dmp"""
データ・ポンプ・エクスポートを対話形式モードで使用する場合は、引用符を使用しなくてもファイル名やディレクトリ名にスペースを使用できます。
エクスポートのパラメータ・モードの構文は次のとおりです。
C:\> exp SYSTEM FILE=myexp.dmp FULL=y LOG=myexp.log Password: password
エクスポートの対話形式モードの構文は次のとおりです。
C:\> exp SYSTEM
Password: password
exp SYSTEMコマンドのみを入力すると、対話形式セッションが開始され、エクスポートにより必要な情報の入力を求められます。
注意:
パラメータ・モードを使用する場合、ファイル名やディレクトリ名にスペースが存在するとエクスポートによって不正な名前とみなされます。対処方法として、FILE=パラメータのフルパス指定は、3つの二重引用符で囲みます。次に例を示します。
FILE="""C:\program files\export.dmp"""
エクスポートを対話形式モードで使用する場合は、引用符を使用しなくてもファイル名やディレクトリ名にスペースを使用できます。
- 既存のデータベースからのすべてのデータのエクスポート
既存のデータベースからすべてのデータを新しいデータベースにエクスポートする方法について説明します。
関連項目:
データ・ポンプ・エクスポートまたはエクスポートの使用に関する詳細は、『Oracle Databaseユーティリティ』を参照してください。
既存のデータベースからのすべてのデータのエクスポート
既存のデータベースからすべてのデータを新しいデータベースにエクスポートする方法について説明します。
エクスポートするには、次の手順を実行します。
親トピック: 既存のデータベースのエクスポートについて
データベース・ファイルの削除
データベース・ファイルの削除は、既存のデータベースを新しいデータベースにコピーし、古いデータベースと置き換える場合にのみ必要です。
初期データベースorclのデータベース・ファイルを削除する例を次に示します。
データベース・ファイルを削除するには、次のようにします。
初期化パラメータ・ファイルの変更
初期化パラメータ・ファイルを変更する方法について説明します。
初期データベースorclを新しいデータベースの基本として使用するには、次のようにします。
-
ORACLE_BASE\admin\orcl\pfile\init.oraをコピーします。 -
そのコピーを
ORACLE_BASE\admin\prod\pfile\init.oraに置きます。 -
次のタスクを実行してファイルを変更します。
注意:
Oracle9iリリース2 (9.2)からは、円記号(\)エスケープ文字を使用した引用符のネストがサポートされなくなりました。これは、Oracle Databaseが初期化パラメータ・ファイルのパラメータ値を解釈する方法に影響します。たとえば、リリース2 (9.2)より前のリリースで
CONTROL_FILES = "ctlfile\'1.ora"を指定した場合、ファイル名はctlfile'1.oraとして解釈されました。リリース2 (9.2)からは、ファイル名はctlfile\'1.oraとして解釈されます。初期化パラメータ値のそのような参照および引用符のネストの他の方法を排除するために、パラメータ・ファイルを変更することを強くお薦めします。
-
システムに既存のデータベースがない場合は、既存の初期化パラメータ・ファイルをコピーして、新しい初期化パラメータ・ファイルの基礎として使用することはできません。しかし、次の場所に用意されているサンプル初期化パラメータ・ファイル
initsmpl.oraを使用することができます。ORACLE_HOME\admin\sample\pfileこれはデータベース
prodの初期化パラメータ・ファイルの基礎です。 -
initsmpl.oraファイルを初期化パラメータ・ファイルの基礎として使用する場合は、次のパラメータに指定された値を設定する必要があります(そうしなければ、データベースprodを起動できません)。DB_NAME=prod.domainパラメータ
DB_NAMEはデータベース名を示し、CREATE DATABASE文で使用される名前と一致する必要があります。データベースごとに一意の名前を付けます。データベース名に使用できる文字数は8文字までです。名前はデータベース・サービスのSIDと同じにする必要はありません。INSTANCE_NAME=prod.domainSERVICE_NAMES=prod.domainCONTROL_FILES = ("C:\app\username\oradata\prod\control01.ctl","C:\app\username\oradata\prod\control02.ctl","C:\app\username\oradata\prod\control03.ctl")パラメータ
CONTROL_FILESにはデータベースの制御ファイルを列記します。この時点ではファイル・システム上に制御ファイルがなくてもかまいません。制御ファイルは、CREATE DATABASE文を実行する際に作成されます。ドライブ名を含めて、フルパス名とファイル名を指定する必要があります。DB_FILES=100初期化パラメータ
DB_FILESの変更は必須ではありませんが、パフォーマンスを最適化するために変更することをお薦めします。このパラメータにはCREATE DATABASE文のMAXDATAFILESオプションの値と同じ数値を設定します。この例では100を使用します。DIAGNOSTIC_DEST初期化パラメータには自動診断リポジトリ(ADR)を設定します。このリポジトリは、データベースの外部に格納されているディレクトリ構造です。ADRはプログラムの診断で使用します。ORACLE_BASE環境変数が設定されていない場合、DIAGNOSTIC_DEST =ORACLE_HOME\logを使用します。ORACLE_BASE環境変数が設定されている場合、DIAGNOSTIC_DEST =ORACLE_BASE変数を使用します。関連項目:
-
ADRについては、『Oracle Databaseインストレーション・ガイドfor Microsoft Windows』を参照してください。
-
追加または変更できる他の初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。
-
-
Oracle Databaseサービスの作成および開始について
Oracle Databaseサービスを作成して開始する方法について説明します。
次のいずれかの手順を実行します。
-
既存のデータベースを新しいデータベースにコピーし、古いデータベースは保持
-
コピーするデータベースが存在しない場合、新しいデータベースを作成
データベースを作成する前に、そのデータベースを実行するWindowsサービスを作成します。このサービスはOracle Databaseプロセス(oracle.exe)で、Windowsサービスの形式でインストールされます。
サービスは、ORADIMを使用して作成します。
- Oracle Databaseサービスの作成および開始
Oracle Databaseサービスを作成して開始する方法について説明します。 - Oracle Databaseサービスのファイル・システムにあるOracleウォレットへのアクセス
Oracleウォレットへのアクセスについて説明します。
Oracle Databaseサービスの作成および開始
Oracle Databaseサービスを作成して開始する方法について説明します。
Oracle Databaseサービスを作成して開始するには、次のようにします。
CREATE DATABASE文のスクリプトへの追加
CREATE DATABASE文は、データベースを作成するSQL文です。
この文が含まれるスクリプトは、データベースを作成するときにいつでも使用できます。
CREATE DATABASE文には、次のパラメータがあります。
-
MAXDATAFILES: デフォルト値: 32、最大値: 65534 -
MAXLOGFILES: デフォルト値: 32、最大値: 255
CHARACTER SETパラメータによって、新しいデータベースのデータベース・キャラクタ・セットが決まります。デフォルト値はUS7ASCIIですが、推奨される値はAL32UTF8です。AL32UTF8は、UTF-8エンコード形式のUnicode標準文字のOracleでの実装です。Unicodeは、事実上世界のすべての文字言語のテキストの格納に適しています。
CREATE DATABASE文を実行すると、Oracle Databaseは、CREATE DATABASE文で指定されている句または設定した初期化パラメータに基づいて複数の処理を実行します。
注意:
Oracle Managed Filesは、CREATE DATABASE文とともに使用してOracle Databaseの管理を簡略化する機能です。Oracle Managed Filesでは、ファイル名ではなくデータベース・オブジェクトに関する処理を指定するため、Oracle Databaseサーバーを構成するオペレーティング・システム・ファイルを直接管理する必要がありません。
データベースprodを作成するには、script_name.sqlというファイルに次の文をコピーして保存します。
CREATE DATABASE prod USER SYS IDENTIFIED BY sys_password USER SYSTEM IDENTIFIED BY system_password MAXLOGFILES 5 MAXDATAFILES 100 DATAFILE 'C:\app\username\oradata\prod\system01.dbf' SIZE 325M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED UNDO TABLESPACE "UNDOTBS" DATAFILE 'app\username\oradata\prod\undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED CHARACTER SET AL32UTF8 logfile 'C:\app\username\oradata\prod\redo01.log' size 100M reuse, 'C:\app\username\oradata\prod\redo02.log' size 100M reuse, 'C:\app\username\oradata\prod\redo03.log' size 100M reuse EXTENT MANAGEMENT LOCAL;
関連項目:
-
Oracle Managed Filesの使用方法の詳細は、Oracle Database管理者ガイドを参照してください
-
推奨されるデータベース・キャラクタ・セットの詳細は、Oracle Databaseインストレーション・ガイドfor Microsoft Windowsを参照してください。
CREATE DATABASEスクリプトの実行
CREATE DATABASEスクリプトを実行するには、この手順を使用します。
SQLスクリプトを使用してデータベースを作成するには、次のようにします。
データベースのインポートについて
データ・ポンプ・インポートまたはインポートを使用する方法について説明します。
データ・ポンプ・インポート(Oracle Database 10gリリース1 (10.1)以上のデータの場合)またはインポート(旧データの場合)を使用して、作成した全エクスポートを新しいデータベースにインポートできます。データ・ポンプ・インポートまたはインポートは、パラメータ・モードまたは対話形式モードのいずれかを使用して起動できますが、パラメータ・モードの方が多くの機能があるため、パラメータ・モードを使用することをお薦めします。対話形式モードは、下位互換性のためにのみ用意されています。
データ・ポンプ・インポートのパラメータ・モードの構文は次のとおりです。
C:\> impdp SYSTEM DUMPFILE=myexp.dmp FULL=y LOG=myexp.log Password: password
データ・ポンプ・インポートの対話形式モードの構文は次のとおりです。
C:\> impdp SYSTEM
Password: password
impdp SYSTEMのみを入力すると、対話形式のセッションが開始され、データ・ポンプ・インポートにより必要な情報の入力を求められます。
注意:
-
パラメータ・モードを使用する場合、ファイル名やディレクトリ名にスペースが存在するとデータ・ポンプ・インポートによって不正な名前とみなされます。対処方法として、
DUMPFILE=パラメータのフルパス指定は、3つの二重引用符で囲みます。次に例を示します。DUMPFILE="""C:\program files\export.dmp"""データ・ポンプ・インポートを対話形式モードで使用する場合、二重引用符を使用しなくてもファイル名やディレクトリ名にスペースを使用できます。
-
エクスポート・ファイルの生成元のデータベースに、新しいデータベースにはない表領域が含まれている場合、インポートはその表領域とそれに関連付けられたデータ・ファイルを作成しようとします。
簡単な解決方法は、両方のデータベースに同じ表領域が含まれるようにすることです。データ・ファイルは同一である必要はありません。重要なのは表領域の名前のみです。
関連トピック
関連項目:
データ・ポンプ・インポートまたはインポートの詳細は、『Oracle Databaseユーティリティ』を参照してください。
レジストリのORACLE_SIDの更新
これがコンピュータの最初のデータベースである場合、または新しいデータベースをデフォルトのデータベースにする場合は、レジストリを変更する必要があります。
次の手順を実行します。
関連トピック
