この章では、Oracle Databaseをインストールした後、Database Configuration Assistantまたはコマンドライン・ツールを使用してデータベースを作成する方法を説明します。
この章の項目は次のとおりです。
ネットワークにマウントされたOracle Databaseサーバーすべてに一意のデータベース名が付けられている必要があります。データベースの作成時にデータベースと名前が対応付けられ、その制御ファイルに名前が格納されます。データベース・キーワードがCREATE DATABASE
文で指定されている場合、またはDatabase Configuration Assistantで要求されたときに指定された場合は、その値がそのデータベースの名前になります。
同じデータベース名のOracle Databaseサーバーを2つマウントしようとすると、2番目のサーバーのマウント時に次のエラーが表示されます。
ORA-01102: cannot mount database in EXCLUSIVE mode
同じコンピュータの異なるOracleホームに、複数のOracle Databaseサーバーがある場合は、次の規則が適用されます。
データベース名がそれぞれ一意であること
SIDがそれぞれ一意であること
既存のデータベース名を変更するにはCREATE CONTROLFILE
文を使用し、制御ファイルを再作成して新しいデータベース名を指定する必要があります。
データベースの作成にはDatabase Configuration Assistantを使用することをお薦めします。データベースの作成が簡単になります。インタフェースが同じであり、サポートされているすべてのプラットフォームで同じように動作するため、ここでは段階的な処理手順の説明もスクリーン・ショットも割愛しています。
関連項目: Database Configuration Assistantの使用方法は、『Oracle Database 2日でデータベース管理者』を参照してください。 |
Database Configuration Assistantを使用すると、次のことができます。
データベースの作成
データベースのデータベース・オプションの構成
データベースの削除
テンプレートの管理
初期化パラメータ・ファイルは、パラメータを含むASCIIテキスト・ファイルです。コマンドライン・ツールを使用してデータベースを作成および変更する場合に使用します。Database Configuration Assistantを使用してデータベースを作成すると、サーバー・パラメータ・ファイル(SPFILE)が初期化パラメータ・ファイルから作成され、初期化パラメータ・ファイルの名前が変更されます。Oracleは、名前変更されたファイルを初期化パラメータ・ファイルとして認識せず、インスタンスの開始後には使用しません。
Database Configuration Assistantで作成されたインスタンスを起動後に変更するには、ALTER SYSTEM
文を使用する必要があります。サーバー・パラメータ・ファイルは、テキスト・エディタを使用して参照または表示できないバイナリ・ファイルであるため、このファイル自体は変更できません。新規に作成されたサーバー・パラメータ・ファイルの場所は、ORACLE_HOME
\database
です。サーバー・パラメータ・ファイル名は、spfile
SID
.ora
です。
関連項目: 『Oracle Database管理者ガイド』のサーバー・パラメータ・ファイルを使用した初期化パラメータの管理に関する項 |
この項では、新しいデータベースを手動で作成する方法について説明します。データベース・ソフトウェア・ファイルの一部として、Oracle Databaseではサンプル初期化パラメータ・ファイルが用意されており、必要に応じて編集できます。DBCAを使用して、データベース作成スクリプトを作成することもできます。
データベースの作成方法は、次の3種類です。
既存のデータベースをコピーし、古いデータベースは削除。
既存のデータベースをコピーし、古いデータベースは保持。
データベースがシステムに存在しない場合、新しいデータベースを作成。
表3-1は、前述の各データベース作成カテゴリにおける、新しいデータベースを作成する作業を示しています。各手順は、この後の各項で詳しく説明しています。
表3-1 手動でのデータベース作成作業
作業 | 既存のデータベースをコピーし、古いデータベースを削除 | 既存のデータベースをコピーし、古いデータベースを保持 | データベースがシステムに存在しない場合、新しいデータベースを作成 |
---|---|---|---|
|
はい |
|
該当なし |
|
はい |
いいえ |
該当なし |
|
はい |
はい |
はい |
|
はい |
はい |
はい |
|
いいえ |
はい |
はい |
|
はい |
はい |
はい |
|
はい |
はい |
はい |
|
はい |
|
該当なし |
|
いいえ |
デフォルトの |
はい |
|
はい |
はい |
はい |
注意1
データを既存のデータベースから新しいデータベースにコピーする場合にのみ必要で、それ以外の場合は不要です。
注意2
既存のデータベースからエクスポートされた表および他のオブジェクトをインポートする場合にのみ必要で、それ以外の場合は不要です。
後述の各項では、1つの例を使用して、データベースを作成する方法について説明します。この例では、既存のデータベースはSIDがorclの
初期データベースで、ディレクトリ
C:\app\
username
\product\11.2.0\oradata\orcl
にあります。orcl
を、ディレクトリC:\app\
username
\product\11.2.0\oradata\prodにある、データベース名とSID
がprod
の新しいデータベースにコピーします。次に初期データベースorcl
を削除します。
新しいデータベースに既存のデータベースの内容をコピーする場合は、既存のデータベースをエクスポートする必要があります。以前の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つの二重引用符で囲みます。次に例を示します。
データ・ポンプ・エクスポートを対話形式モードで使用する場合は、引用符を使用しなくてもファイル名やディレクトリ名にスペースを使用できます。 |
エクスポートのパラメータ・モードの構文は次のとおりです。
C:\> exp SYSTEM FILE=myexp.dmp FULL=y LOG=myexp.log Password: password
エクスポートの対話形式モードの構文は次のとおりです。
C:\> exp SYSTEM
Password: password
exp
SYSTEM
コマンドのみを入力すると、対話形式セッションが開始され、エクスポートにより必要な情報の入力を求められます。
注意: パラメータ・モードを使用する場合、ファイル名やディレクトリ名にスペースが存在するとエクスポートによって不正な名前とみなされます。対処方法として、FILE= パラメータのフルパス指定は、3つの二重引用符で囲みます。次に例を示します。
エクスポートを対話形式モードで使用する場合は、引用符を使用しなくてもファイル名やディレクトリ名にスペースを使用できます。 |
関連項目: データ・ポンプ・エクスポートまたはエクスポートの詳細は、『Oracle Databaseユーティリティ』を参照 |
既存のデータベースからすべてのデータを新しいデータベースにエクスポートするには、次のようにします。
ORACLE_SID
を、エクスポートするデータベースのデータベース・サービスに設定します。たとえば、エクスポートするデータベースが初期データベースorcl
の場合は、コマンド・プロンプトで次のように入力します。等号文字(=
)の両側にはスペースを入れないでください。
C:\> set ORACLE_SID=orcl
既存のデータベースがOracle Database 10gリリース1(10.1)以上の場合は、コマンド・プロンプトからデータ・ポンプ・エクスポートを起動します。
C:\> expdp SYSTEM DUMPFILE=myexp.dmp FULL=y LOG=myexp.log
Password: password
これで、初期データベースorcl
の全データベースのエクスポートがmyexp.dmp
ファイルに作成されました。データ・ポンプ・エクスポートからのすべてのメッセージは、myexp.log
ファイルに記録されます。
既存のデータベースがOracle Database 10gリリース1(10.1)より前の場合は、コマンド・プロンプトからエクスポートを起動します。
C:\> exp SYSTEM FILE=myexp.dmp FULL=y LOG=myexp.log
Password: password
これで、初期データベースorcl
の全データベースのエクスポートがmyexp.dmp
ファイルに作成されました。エクスポートからのすべてのメッセージは、myexp.log
ファイルに記録されます。
データベース・ファイルの削除は、既存のデータベースを新しいデータベースにコピーし、古いデータベースと置き換える場合にのみ必要です。初期データベースorcl
のデータベース・ファイルを削除する例を次に示します。
データベース・ファイルを削除するには、次のようにします。
コマンド・プロンプトで初期データベースorcl
を停止します。
C:\> oradim -SHUTDOWN -SID orcl -SHUTTYPE inst -SHUTMODE immediate
ディレクトリC:\app\
username
\product\11.2.0\oradata\orcl
から次のファイルを削除します。
ファイル名 | ファイル名 | ファイル名 | ファイル名 |
---|---|---|---|
control01.ctl |
drsys01.dbf |
temp01.dbf |
xdb01.dbf |
control02.ctl |
cwmlite01.dbf |
tools01.dbf |
redo01.log |
control03.ctl |
example01.dbf |
undotbs01.dbf |
redo02.log |
index01.dbf |
system01.dbf |
user01.dbf |
redo03.log |
新しいデータベースの基礎として初期データベース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 として解釈されます。
パラメータ・ファイルを変更して、このような参照を削除することを強くお薦めします。初期化パラメータ値の引用符のネストに関するその他の方法は、『Oracle Databaseリファレンス』を参照してください。 |
システムに既存のデータベースがない場合は、既存の初期化パラメータ・ファイルをコピーして、新しい初期化パラメータ・ファイルの基礎として使用することはできません。しかし、次の場所に用意されているサンプル初期化パラメータ・ファイルinitsmpl.ora
を使用することができます。
ORACLE_HOME\admin\sample\pfile
このファイルをデータベースprod
の初期化パラメータ・ファイルの基礎とすることができます。
initsmpl.ora
を初期化パラメータ・ファイルの基礎として使用する場合、次のパラメータを示されている値に設定する必要があります。設定しなかった場合は、データベースprod
を起動できません。
DB_NAME=prod.domain
パラメータDB_NAME
はデータベースの名前を示し、「CREATE DATABASE文のスクリプトへの書込み」
に記載されているCREATE DATABASE文で使用されている名前と一致していなければなりません。データベースごとに一意の名前を付けます。データベース名に使用できる文字数は8文字までです。名前はデータベース・サービスのSID
と同じにする必要はありません。
INSTANCE_NAME=prod.domain
SERVICE_NAMES=prod.domain
CONTROL_FILES = (
"C:\app\
username
\product\11.2.0\oradata\prod\control01.ctl",
"C:\app\
username
\product\11.2.0\oradata\prod\control02.ctl",
"C:\app\
username
\product\11.2.0\oradata\prod\control03.ctl")
パラメータCONTROL_FILES
にはデータベースの制御ファイルを列記します。この時点ではファイル・システム上に制御ファイルがなくてもかまいません。制御ファイルは、CREATE DATABASE
文を実行する際に作成されます。ドライブ名を含めて、フルパス名とファイル名を指定する必要があります。
DB_FILES=100
初期化パラメータDB_FILES
の変更は必須ではありませんが、パフォーマンスを最適化するために変更することをお薦めします。このパラメータにはCREATE DATABASE文の
MAXDATAFILES
オプションの値と同じ数値を設定します。この例では100
を使用します。
関連項目: 追加または変更できる他の初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。 |
DIAGNOSTIC_DEST
初期化パラメータには自動診断リポジトリ(ADR)を設定します。このリポジトリは、データベースの外部に格納されているディレクトリ構造です。ADRはプログラムの診断で使用します。
ORACLE_BASE
環境変数が設定されていない場合、DIAGNOSTIC_DEST =
ORACLE_HOME\logとします。
ORACLE_BASE
環境変数が設定されている場合、DIAGNOSTIC_DEST =
ORACLE_BASE変数とします。
関連項目: ADRについては、Oracle Databaseのインストレーション・ガイドを参照してください。 |
Oracle Databaseサービスの作成および開始は、次のいずれかを行う場合にのみ必要です。
既存のデータベースを新しいデータベースにコピーし、古いデータベースは保持
コピーするデータベースが存在しない場合、新しいデータベースを作成
データベースを作成する前に、そのデータベースを実行するWindowsサービスを作成します。このサービスはOracle Databaseプロセス(oracle.exe
)で、Windowsサービスの形式でインストールされます。
サービスは、ORADIMを使用して作成します。作成が終了すると、サービスは自動的に開始されます。ORADIMの使用方法は、「ORADIMによるOracle Databaseインスタンスの管理」を参照してください。
Oracle Databaseサービスを作成して開始するには、次のようにします。
コマンド・プロンプトからORADIMを実行します。
C:\> oradim -NEW -SID prod -STARTMODE manual -PFILE "C:\app\oracle\product\11.2.0\admin\prod\pfile\init.ora"
すでに作成した初期化パラメータ・ファイルが、ドライブ名を含めて、フルパスで指定されていることに注意してください。サービスが開始されたかどうかは、「コントロール パネル」の「サービス」ウィンドウで確認できます。
ORACLE_SID
をprod
と等しくなるように設定します。等号文字(=)の両側にはスペースを入れないでください。
C:\> set ORACLE_SID=prod
データベースをマウントせずにインスタンスを起動します。
SQL> STARTUP NOMOUNT
この例では、初期化パラメータ・ファイルがデフォルトの場所に格納されているため、PFILE
句の指定は不要です。この時点で、データベースはありません。新規データベースを作成する準備として、SGAのみ作成され、バックグラウンド・プロセスが起動します。
CREATE DATABASE
文は、データベースを作成するSQL文です。この文が含まれるスクリプトは、データベースを作成するときにいつでも使用できます。
CREATE DATABASE
文には、次のパラメータがあります。
MAXDATAFILES
: デフォルト値: 32、最大値: 65534
MAXLOGFILES
: デフォルト値: 32、最大値: 255
CREATE DATABASE
文を実行すると、Oracle Databaseは、CREATE 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\oracle\product\11.2.0\oradata\prod\system01.dbf' SIZE 325M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED UNDO TABLESPACE "UNDOTBS" DATAFILE 'app\oracle\product\11.2.0\oradata\prod\undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED CHARACTER SET WE8MSWIN1252 logfile 'C:\app\username\product\11.2.0\oradata\prod\redo01.log' size 100M reuse, 'C:\app\username\product\11.2.0\oradata\prod\redo02.log' size 100M reuse, 'C:\app\username\product\11.2.0\oradata\prod\redo03.log' size 100M reuse EXTENT MANAGEMENT LOCAL;
SQLスクリプトを使用してデータベースを作成するには、次のようにします。
サービスが開始されているかどうかを、「コントロール パネル」で確認します。この例では、サービス名はOracleServicePROD
で、その「状態」列には「開始」と表示されます。「開始」になっていない場合は、サービス名を選択して「開始」をクリックします。
また、コマンド・プロンプトで次のように入力して、サービスの状態を確認することもできます。
C:\> net START
現在システム上に存在するすべてのWindowsサービスのリストが表示されます。リストにOracleServicePROD
がない場合は、次のように入力します。
C:\> net START OracleServicePROD
PROD
を現在のSID
にします。
C:\> set ORACLE_SID=PROD
ORACLE_HOME
\bin
をPATH
環境変数に追加します。
set PATH=ORACLE_BASE\ORACLE_HOME\bin;%PATH%
コマンド・プロンプトからSQL*Plusを起動し、データベースにSYSDBAで接続します。
C:\> sqlplus /NOLOG SQL> CONNECT / AS SYSDBA
「connected
」というメッセージが表示されます。
スプーリングをオンにしてメッセージを保存します。
SQL> SPOOL script_name.log
「CREATE DATABASE文のスクリプトへの書込み」で作成したスクリプト
script_name.sqlを実行します。
SQL> C:\app\oracle\product\11.2.0\dbhome_1\rdbms\admin\script_name.sql;
データベースの作成が正常に終了した場合は、インスタンスが開始され、「Statement
processed
」というメッセージが数回表示されます。
データ・ポンプ・インポート(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
のみを入力すると、対話形式のセッションが開始され、データ・ポンプ・インポートにより必要な情報の入力を求められます。
注意:
|
関連項目: データ・ポンプ・インポートまたはインポートの詳細は、『Oracle Databaseユーティリティ』を参照してください。 |
これがシステムの最初のデータベースである場合、または新しいデータベースをデフォルトのデータベースにする場合は、レジストリを変更する必要があります。
コマンド・プロンプトでレジストリ エディタを起動します。
C:\> regedit
「レジストリ エディタ」ウィンドウが表示されます。
コンピュータの最初のOracleホームに相当するサブキー\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0
を選択します。同じコンピュータの異なるOracleホームに続けてインストールするときのパスは、\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME
ID
です。IDはOracleホームを識別するための一意の番号です。
「レジストリ エディタ」ウィンドウの右側でパラメータORACLE_SID
を探します。
パラメータ名をダブルクリックし、データを新しいSID
(この例ではprod
)に変更します。
これがシステムでの最初のデータベースで、まだパラメータORACLE_SID
がない場合は、このパラメータを作成する必要があります。
パラメータORACLE_SID
を作成するには、次のようにします。
「編集」メニューから「値の追加」を選択します。
「値の追加」ダイアログが表示されます。
「値の名前」
フィールドにORACLE_SIDと入力します。
「データ型」リストで、REG_EXPAND_SZ(拡張可能文字列用)を選択します。
「OK」をクリックします。
データ型に対応する「文字列エディタ」ダイアログが表示されます。
「文字列」フィールドにprodと入力します。
「OK」をクリックします。
レジストリ エディタにより、パラメータORACLE_SID
が追加されます。
「レジストリ」メニューから「レジストリ エディタの終了」を選択します。
レジストリ エディタが終了します。
注意: バックアップを行わずに新しいデータベースを操作していて、問題が生じた場合は、データベース作成手順を繰り返す必要があります。データを失ってしまうことがないように、データベースはここでバックアップしてください。 |
新しいデータベースをバックアップするには、次のようにします。
データベース・インスタンスを停止してサービスを停止します。
C:\> oradim -SHUTDOWN -SID prod -SHUTTYPE srvc,inst -SHUTMODE immediate
注意: すぐにORADIM によりプロンプトが表示されますが、手順2に進む前に、データベースおよびサービスが完全に停止するまで待つ必要があります。サービスOracleServicePROD が停止したことがコントロール パネルに表示されるまで待ってください。表示されるまで待たないと、データがデータファイルに書き込まれている最中にバックアップが作成されて、バックアップが無効になる可能性があります。 |
任意のツールを使用して、データベース・ファイルをバックアップします。
データベース・ファイルは、初期化パラメータ・ファイル、制御ファイル、オンラインREDOログ・ファイルおよびデータファイルから構成されます。
バックアップが完了したら再びデータベースを起動し、必要に応じてユーザーとオブジェクトを作成し、必要な変更を行って、データベースを使用することができます。
データベースに重要な変更(アーカイブ・モードを切り替える、表領域またはデータファイルを追加する、など)を行った後は、データベースをバックアップしてください。
関連項目: アーカイブ、バックアップおよびリカバリの詳細は、次の資料を参照してください。
|
注意: 圧縮ドライブにデータベース・ファイルを格納しないでください。書込みエラーが発生し、パフォーマンスを低下させる可能性があります。 |
ORADIMは、Oracle Databaseで使用できるコマンドライン・ツールです。ORADIMが必要になるのは、手動でデータベースを作成、削除または変更する場合のみです。この目的で使用するツールとしてはDatabase Configuration Assistantの方が簡単です。
後述の項では、ORADIMのコマンドおよびパラメータについて説明します。各コマンドの前には必ずダッシュ(-
)が付きます。ORADIMパラメータのリストを表示するには、次のように入力します。
oradim -? | -h | -help
注意: オプションを何も指定せずにoradim を指定することでも、ORADIMのパラメータおよび説明のリストが返されます。 |
ORADIMを使用すると、oradim.log
と呼ばれるログ・ファイルがORACLE_HOME
\database
またはORA_CWD
レジストリ・パラメータで指定したディレクトリにオープンされます。すべての処理(正常の場合も異常の場合もすべて)がこのファイルに記録されます。このファイルをチェックして、処理が成功したかどうかを検証する必要があります。
Oracle DatabaseサービスをWindowsにインストールした場合は、開始モードを「自動」に設定してSYSTEMユーザー(LocalSystem)としてログオンした際に、Oracle Databaseサービスは開始されますが、データベースが自動的には起動しない可能性があります。次のエラー・メッセージがディレクトリORACLE_HOME
\database
のORADIM.LOG
ファイルに書き込まれます。
ORA-12640: Authentication adapter initialization failed
Oracle Enterprise Management Agent、Oracle Enterprise Manager Management ServerおよびOracle Internet Directoryも、同じ理由でデータベースに接続できないため失敗することがあります。対処方法は次のとおりです。
SQLNET.ORA
を変更します。
SQLNET.ORA
は、次の行を削除することにより変更できます。
sqlnet.authentication_services=(NTS)
または、この行を次のように変更します。
sqlnet.authentication_services=(NONE)
サービス開始後のデータベースの起動
Oracle Databaseサービスを開始した後で、SQL*Plusを使用し、SYSDBA
として接続することにより、データベースを手動で起動できます。
特定のユーザーとしてのサービスの開始
関連項目: サービスの開始方法は、オペレーティング・システムのドキュメントを参照 |
ORADIMを使用してインスタンスを作成するには、次のように入力します。
oradim [-NEW -SID SID] | -SRVC service_name | -ASMSID SID | -ASMSRVC service_name [-SYSPWD password] [-STARTMODE auto | manual] [-SRVCSTART system | demand] [-PFILE filename | -SPFILE] [-SHUTMODE normal | immediate | abort] [-TIMEOUT secs] [-RUNAS osusr/ospass]
それぞれの意味は次のとおりです。
-NEW
は、新しいインスタンスを作成することを示します。これは必須パラメータです。
-SID
SID
は、作成するインスタンスの名前です。
-SRVC
service_name
は、作成するサービスの名前(OracleService
SID
)です。
-ASMSID
SID
は、作成する自動ストレージ管理インスタンスの名前です。
-ASMSRVC
service_name
は、作成する自動ストレージ管理サービスの名前です。
-SYSPWD
password
は、システム・パスワードです。
-STARTMODE
auto
| manual
は、Oracle Databaseサービスの開始時に、インスタンスを起動するかどうかを示します。デフォルトはmanual
です。
-SRVCSTART system | demand
は、コンピュータの再起動時にOracle Databaseサービスを開始するかどうかを示します。デフォルトはdemand
です。system
は、システムの起動または再起動時に自動的に開始するようサービスを構成することを示します。demand
は、ユーザーが明示的にサービスを開始する必要があることを示します。
-PFILE
filename
は、このインスタンスで使用する初期化パラメータ・ファイルです。このファイルは、ドライブ名を含めて、フルパス名を指定する必要があります。
-SPFILE
は、起動時にPFILEのかわりにサーバー・パラメータ・ファイル(SPFILE)を使用することを指定します。
-SHUTMODE
は、インスタンスの停止方法を指定します。引数が必要で、デフォルトはimmediate.
です。SHUTMODE
を指定しない場合は、サービスが停止するときにインスタンスは停止しなくなります。
-TIMEOUT
secs
には特定のSID
のサービスが停止するまで待機する最長時間(秒)を設定します。デフォルトは、90秒間です。SHUTDOWN
引数を指定せずに使用することはできません。
-RUNAS osusr/ospass
(run as)は、Oracleサービスがシステムにログオンする際に使用するオペレーティング・システム・ユーザーを設定します。オペレーティング・システム・ユーザーの名前とパスワードを指定することで、サービスのログオンと実行にそのユーザーの権限が使用されます。このパラメータを省略すると、サービスは、特権ユーザーであるLocalSystemアカウントを使用してシステムにログオンします。
注意: この機能を簡単に説明するため、この例では、デプロイ済のシステムで通常使用されるパスワード管理テクニックを実行していません。本番環境では、Oracle Databaseのパスワード管理ガイドラインに従って、すべてのサンプル・アカウントを無効にしてください。パスワード管理ガイドラインと他のセキュリティ上の推奨事項の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。 |
たとえば、PROD
というインスタンスを作成するには、次のように入力します。
C:\> oradim -NEW -SID prod -STARTMODE auto -PFILE C:\app\oracle\product\11.2.0\admin\prod\pfile\init.ora
ORADIMを使用してインスタンスを起動し、サービスを開始するには、次のように入力します。
oradim -STARTUP -SID SID | -ASMSID SID [-SYSPWD password] [-STARTTYPE srvc | inst | srvc,inst] [-PFILE filename | -SPFILE]
それぞれの意味は次のとおりです。
-STARTUP
は、既存のインスタンスを起動することを示します。これは必須パラメータです。
-SID
SID
は、起動するインスタンスの名前です。
-ASMSID
SID
は、起動する自動ストレージ管理インスタンスの名前です。
-STARTTYPE
srvc
、inst
は、サービスまたはインスタンスのどちらを起動するかを示します。片方または両方を指定できます。指定しない場合は、現在の設定がレジストリで確認されます。
-STARTTYPE srvc
は、コマンドラインからのnet start oracleservice<sid>
と同じです。
-STARTTYPE inst
は、SQL*Plus内でのstartup
と同じです。
-PFILE
filename
は、このインスタンスで使用する初期化パラメータ・ファイルです。このファイルは、ドライブ名を含めて、フルパス名を指定する必要があります。
-SPFILE
は、起動時にPFILEのかわりにサーバー・パラメータ・ファイル(SPFILE)を使用することを指定します。
たとえば、puma
というインスタンスを起動するには、次のように入力します。
C:\> oradim -STARTUP -SID puma -STARTTYPE inst -PFILE C:\app\oracle\product\11.2.0\admin\prod\pfile\init.ora
Enterprise Database Controlサービス(OracleDBConsole
SID
)は、Oracle Databaseサービス(OracleService
SID
)に依存します。Enterprise Database Control依存サービスは、(インストールされている場合)ORADIM
がデータベース・インスタンス・サービスを停止する前に、停止する必要があります。
ORADIMを使用してインスタンスを停止するには、次のように入力します。
oradim -SHUTDOWN -SID SID | -ASMSID SID [-SYSPWD password] [-SHUTTYPE srvc | inst | srvc,inst] [-SHUTMODE normal | immediate | abort]
それぞれの意味は次のとおりです。
-SHUTDOWN
は、インスタンスの停止を示します。これは必須パラメータです。
-SID
SID
は、停止するインスタンスの名前を指定します。
-ASMSID
SID
は、停止する自動ストレージ管理インスタンスの名前です。
-SHUTTYPE
srvc
、inst
は、サービスまたはインスタンスのどちらを停止するかを示します。片方または両方を指定できます。指定しない場合は、現在の設定がレジストリで確認されます。
-SHUTMODE
は、インスタンスの停止方法を指定します。これはオプション・パラメータです。インスタンスの停止方法を指定しない場合、デフォルト・モードはimmediate
です。
たとえば、puma
というインスタンスを停止するには、次のように入力します。
C:\> oradim -SHUTDOWN -SID puma -SHUTTYPE srvc,inst
既存のインスタンスを編集すると、インスタンス名、起動モード、停止モード、停止タイプなどの値を変更できます。ORADIMを使用してインスタンスを変更するには、次のように入力します。
oradim -EDIT -SID SID | -ASMSID SID [-SYSPWD password] [-STARTMODE auto | manual] [-SRVCSTART system | demand] [-PFILE filename | -SPFILE][SHUTMODE normal | immediate | abort] [SHUTTYPE srvc | inst | srvc,inst]
それぞれの意味は次のとおりです。
-EDIT
は、インスタンスの変更を示します。これは必須パラメータです。
-SID
SID
は、変更するインスタンスの名前を指定します。これは必須パラメータです。
-ASMSID
SID
は、変更する自動ストレージ管理インスタンスの名前です。
-STARTMODE
は、Oracle Databaseサービスの開始時にインスタンスを起動するかどうかを示します。デフォルトはmanual
です。
-SRVCSTART system | demand
は、コンピュータの再起動時にOracle Databaseサービスを開始するかどうかを示します。デフォルトはdemand
です。
-PFILE
filename
は、このインスタンスで使用する初期化パラメータ・ファイルを指定します。このファイルは、ドライブ名を含めて、フルパス名を指定する必要があります。
-SPFILE
は、起動時にPFILEのかわりにサーバー・パラメータ・ファイル(SPFILE)を使用することを指定します。
-SHUTMODE
は、インスタンスの停止方法を指定します。これはオプション・パラメータです。インスタンスの停止方法を指定しない場合は、immediate
がデフォルト・モードです。
-SHUTTYPE
は、サービスまたはインスタンスのどちらを停止するかを示します。片方または両方を指定できます。指定しない場合は、現在の設定がレジストリで確認されます。
たとえば、インスタンスprod
に対して新しい初期化パラメータ・ファイルを指定するには、次のように入力します。
C:\> oradim -EDIT -SID prod -PFILE C:\app\oracle\product\11.2.0\admin\lynx\pfile\init.ora
Enterprise Database Controlサービス(OracleDBConsole
SID
)は、Oracle Databaseサービス(OracleService
SID
)に依存します。Enterprise Database Control依存サービスは、(インストールされている場合)ORADIM
がデータベース・インスタンス・サービスを削除する前に、停止する必要があります。
ORADIMを使用してインスタンスを削除するには、次のように入力します。
oradim -DELETE -SID SID | -ASMSID SID | -SRVC service_name | -ASMSRVC service_name
それぞれの意味は次のとおりです。
-DELETE
は、インスタンスまたはサービスの削除を示します。これは必須パラメータです。
-SID
SID
は、削除するSID
の名前を指定します。
-SRVC
service_name
は、削除するサービスの名前(OracleServiceSID)を指定します。ユーザーは、SID
またはSRVCを指定する必要があります。
-ASMSID
SID
は、削除する自動ストレージ管理インスタンスの名前です。
-ASMSRVC
service_name
は、削除する自動ストレージ管理サービスの名前です。
たとえば、prod
というインスタンスを削除するには、次のように入力します。
C:\> oradim -DELETE -SID prod
次の項目について説明します。
関連項目: 旧リリースのOracle DatabaseをOracle Database 11g リリース2(11.2)にアップグレードする方法の詳細は、『Oracle Databaseアップグレード・ガイド』を参照してください。 |
32ビットOracleホームのデータベースをバックアップするには、次のようにします。
SQL*Plusを起動します。
C:\> sqlplus /NOLOG
SYSDBA
でデータベース・インスタンスに接続します。
SQL> CONNECT / AS SYSDBA;
64ビット・コンピュータで制御ファイルを再作成するためのテンプレートとして使用する.trc
ファイルを作成します。
SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
データベースを停止します。
SQL> SHUTDOWN IMMEDIATE;
データベースの全体オフライン・バックアップを実行します。
関連項目: バックアップおよびリカバリ・ソリューションの概要は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。 |
Oracle Database 11g リリース2(11.2)for Windows(32-bit)をOracle Database 11g リリース2(11.2)for Windows(64-bit)に移行するには、次のようにします。
Oracle Database 11g リリース2(11.2)for Windows(64-bit)をインストールします。
関連項目: 『Oracle Databaseインストレーション・ガイドfor Microsoft Windows』 |
コマンド・プロンプトでOracle Database 11g リリース2(11.2)の新規サービスを作成します。
C:\> ORADIM -NEW -SID SID [-INTPWD PASSWORD ]-MAXUSERS USERS -STARTMODE AUTO -PFILE ORACLE_HOME\DATABASE\INITSID.ORA
次の表に、指定する必要のある値の詳細情報を示します。
パラメータ | 説明 |
---|---|
SID |
移行するデータベースのSID です。 |
PASSWORD |
Oracle Database 11g リリース2(11.2)for Windows(64-bit)の新規データベース用のパスワードです。これは、SYSDBA 権限で接続するユーザーのパスワードです。-INTPWD オプションは必須ではありません。このオプションを指定しない場合、オペレーティング・システム認証が使用されます(パスワードは必要ありません)。 |
USERS |
SYSDBA 権限とSYSOPER 権限を付与できるユーザーの最大数です。 |
ORACLE_HOME |
Oracleホーム・ディレクトリです。-PFILE オプションでは、Oracleホーム・ディレクトリのドライブ文字を含め、フルパス名を指定する必要があります。 |
32ビット・データファイルを新規64ビットOracleホームにコピーします。
32ビット構成ファイルを64ビットOracleホームにコピーします。
32ビット初期化パラメータ・ファイルにIFILE
(挿入ファイル)エントリが含まれる場合、IFILE
エントリで指定されているファイルを64ビットOracleホームにコピーし、その新しい場所を示すように初期化パラメータ・ファイルのIFILE
エントリを編集します。
32ビットOracleホームにパスワード・ファイルが存在する場合、そのパスワード・ファイルを64ビットOracleホームにコピーします。デフォルトの32ビット・パスワード・ファイルは、ORACLE_HOME
\database\pwd
SID
.ora
に存在します(SID
はOracleインスタンスのIDです)。
64ビットOracleホームで、ワード・サイズを変更する前にORACLE_HOME
\database\ORACLE_
SID
\init.ora
ファイルに_SYSTEM_TRIG_ENABLED = false
というパラメータを追加します。
このパラメータは、ワード・サイズの変更の完了後に初期化ファイルから削除します。
関連項目: ワード・サイズの変更の詳細は、『Oracle Databaseアップグレード・ガイド』を参照してください。 |
コマンド・プロンプトで64ビットのORACLE_HOME
\rdbms\admin
ディレクトリに移動します。
SQL*Plusを起動します。
C:\> sqlplus /NOLOG
SYSDBA
でデータベース・インスタンスに接続します。
SQL> CONNECT / AS SYSDBA;
CREATE CONTROLFILE
コマンドを使用して64ビット制御ファイルを再作成します。「32ビットOracle Databaseのバックアップ」で作成したトレース・ファイルを編集し、64ビット・コンピュータのOracleホームを示すようにデータファイル、ログ・ファイルおよび制御ファイルのパスを変更します。これにより、ORACLE_HOME
\database
に新規制御ファイルを作成します。
次に、32ビット・コンピュータのorcl32
データベースを64ビット・コンピュータのorcl64
データベースに移行する場合の例を示します。
CREATE CONTROLFILE REUSE DATABASE "T1" NORESETLOGS NOARCHIVELOG MAXLOGFILES 32 MAXLOGMEMBERS 2 MAXDATAFILES 32 MAXINSTANCES 16 MAXLOGHISTORY 1815 LOGFILE GROUP 1 'C:\app\oracle\product\11.2.0\oradata\orcl64\REDO03.LOG' SIZE 1M, # was 'C:\app\oracle\product\11.2.0\oradata\orcl32\...LOG' # on the 32-bit computer GROUP 2 'C:\app\oracle\product\11.2.0\oradata\orcl64\REDO02.LOG' SIZE 1M, GROUP 3 'C:\app\oracle\product\11.2.0\oradata\orcl64\REDO01.LOG' SIZE 1M DATAFILE 'C:\app\oracle\product\11.2.0\oradata\orcl64\SYSTEM01.DBF', # was 'C:\app\oracle\product\11.2.0\oradata\orcl32\...DBF' # on the 32-bit computer 'C:\app\oracle\product\11.2.0\oradata\orcl64\RBS01.DBF', 'C:\app\oracle\product\11.2.0\oradata\orcl64\USERS01.DBF', 'C:\app\oracle\product\11.2.0\oradata\orcl64\TEMP01.DBF', 'C:\app\oracle\product\11.2.0\oradata\orcl64\TOOLS01.DBF', 'C:\app\oracle\product\11.2.0\oradata\orcl64\INDX01.DBF', 'C:\app\oracle\product\11.2.0\oradata\orcl64\DR01.DBF' CHARACTER SET WE8ISO8859P1;
前の手順で作成した新規制御ファイルを含めるように32ビット・コンピュータでinit
ファイルを変更します。
データベースを停止します。
SQL> SHUTDOWN IMMEDIATE;
UPGRADE
モードでデータベースを起動してutlirp.sql
を実行します。
SQL> STARTUP UPGRADE;
PFILE
オプションを使用して、初期化パラメータ・ファイルの場所を指定する必要があります。
後で操作が成功したかどうかを検証するために、ログ・ファイルに結果をスプールするようシステムを設定します。次に例を示します。
SQL> SPOOL mig32-64.log;
次のコマンドを入力して画面にスクリプトの出力を表示します。
SQL> SET ECHO ON;
64ビットOracle Databaseに必要な形式で既存のPL/SQLモジュールを再コンパイルします。
SQL> @utlirp.sql;
ログ・ファイルに対するスクリプトの結果のスプールをオフにします。
SQL> SPOOL OFF;
スプール・ファイルをチェックし、パッケージとプロシージャのコンパイルが成功したかどうかを確認します。このファイルで検出された問題は、すべて修正します。
データベースを停止します。
SQL> SHUTDOWN IMMEDIATE;
データベースを起動します。
SQL> STARTUP;
JServer JAVA仮想マシン・コンポーネントがインストールされている場合、SYS
として接続した後に次の手順を実行します。
begin update obj$ set status=5 where obj#=(select obj# from obj$,javasnm$ where owner#=0 and type#=29 and short(+)=name and nvl(longdbcs,name)='oracle/aurora/rdbms/Compiler'); commit; declare cursor C1 is select 'DROP JAVA DATA "' || u.name || '"."' || o.name || '"' from obj$ o,user$ u where o.type#=56 and u.user#=o.owner#; ddl_statement varchar2(200); iterations number; previous_iterations number; loop_count number; my_err number; begin previous_iterations := 10000000; loop -- To make sure we eventually stop, pick a max number of iterations select count(*) into iterations from obj$ where type#=56; exit when iterations=0 or iterations >= previous_iterations; previous_iterations := iterations; loop_count := 0; open C1; loop begin fetch C1 into ddl_statement; exit when C1%NOTFOUND or loop_count > iterations; exception when others then my_err := sqlcode; if my_err = -1555 then -- snapshot too old, re-execute fetch query exit; else raise; end if; end; initjvmaux.exec(ddl_statement); loop_count := loop_count + 1; end loop; close C1; end loop; end; commit; initjvmaux.drp('delete from java$policy$shared$table'); update obj$ set status=1 where obj#=(select obj# from obj$,javasnm$ where owner#=0 and type#=29 and short(+)=name and nvl(longdbcs,name)='oracle/aurora/rdbms/Compiler'); commit; end; / create or replace java system; /
64ビットOracle Databaseに必要な形式で既存のPL/SQLモジュールを再コンパイルします。
SQL> @utlrp.sql;
Oracle Database 10g リリース2(10.2)をOracle Database 11g リリース2(11.2)for Windows(64-bit)に移行するには、次のようにします。
「Oracle Database 11g リリース2(11.2)の移行」の手順1から11を実行します。
64ビット・コンピュータのデータベースを停止します。
SQL> SHUTDOWN IMMEDIATE;
データベースの移行を開始します。
SQL> STARTUP MIGRATE;
『Oracle Databaseアップグレード・ガイド』の第3章「新しいリリースへのアップグレード」に記載された手順に従ってデータベースを移行します。
データベースを停止します。
SQL> SHUTDOWN IMMEDIATE;
データベースを再起動します。
SQL> STARTUP OPEN;