この章では、Oracle Databaseをインストールした後、Oracle 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文を使用し、制御ファイルを再作成して新しいデータベース名を指定する必要があります。
データベースの作成にはOracle Database Configuration Assistantを使用することをお薦めします。データベースの作成が簡単になります。インタフェースが同じであり、サポートされているすべてのプラットフォームで同じように動作するため、ここでは段階的な処理手順の説明もスクリーン・ショットも割愛しています。
|
関連項目: 『Oracle Database 2日でデータベース管理者』 |
Oracle Database 12cリリース1 (12.1)から、この管理ツールでは他の管理ツールと同様に、Oracleホーム・ユーザーがWindowsローカル・ユーザー・アカウントまたはWindowsドメイン・ユーザー・アカウントであり、Oracleホーム・ユーザーのパスワードがOracleウォレットに保存されていない場合、パスワードを要求します。Oracleホーム・ユーザーの主な目的は、WindowsサービスをWindowsユーザー・アカウントで実行することです。しかし、このユーザー・アカウント(Oracleホーム・ユーザー)は非常に限られたオペレーティング・システム・レベルの権限のセットしか持たず、データベース管理には使用できません。Oracle Database Configuration Assistantには、インストールの過程で指定した、Oracleホーム・ユーザーまたはWindows組込みのローカル・システム・アカウントによって、Oracle Databaseサービスを作成するためのインタフェースが用意されています。ただし、Oracleホーム・ユーザーとして、新規Windowsユーザーを作成するためのインタフェースは用意されていません。
作成されたサービスはWindowsデスクトップと対話できません。ORADIMはOracleServiceSID - Oracle Databaseサービスを作成するために使用するWindowsユーティリティ・ツールで、Oracle Database Configuration Assistantがローカルおよびリモート・ノードにサービスを作成するために使用されます。Oracle Database Configuration Assistantはサービスを実行するためのユーザー名およびパスワードを受け入れ、作成するファイル(パスワード・ファイルなど)の所有権を、Oracleホーム・ユーザーが変更できるように変更します。
Oracle Database Configuration Assistantを使用すると、次のことができます。
データベースの作成
データベースのデータベース・オプションの構成
データベースの削除
テンプレートの管理
初期化パラメータ・ファイルは、パラメータを含むASCIIテキスト・ファイルです。コマンドライン・ツールを使用してデータベースを作成および変更する場合に使用します。Database Configuration Assistantを使用してデータベースを作成すると、サーバー・パラメータ・ファイル(SPFILE)が初期化パラメータ・ファイルから作成され、初期化パラメータ・ファイルの名前が変更されます。Oracleは、名前変更されたファイルを初期化パラメータ・ファイルとして認識せず、インスタンスの開始後には使用しません。
Oracle Database Configuration Assistantで作成されたインスタンスを起動後に変更するには、ALTER SYSTEM文を使用する必要があります。サーバー・パラメータ・ファイルは、テキスト・エディタを使用して参照または表示できないバイナリ・ファイルであるため、このファイル自体は変更できません。新規に作成されたサーバー・パラメータ・ファイルの場所は、ORACLE_HOME\databaseです。サーバー・パラメータ・ファイル名は、spfileSID.oraです。
|
関連項目: 『Oracle Database管理者ガイド』 |
この項では、新しいデータベースを手動で作成する方法について説明します。データベース・ソフトウェア・ファイルの一部として、Oracle Databaseではサンプル初期化パラメータ・ファイルが用意されており、必要に応じて編集できます。Oracle Database Configuration Assistantを使用して、データベース作成スクリプトを作成できます。
データベースの作成方法は、次の3種類です。
既存のデータベースをコピーし、古いデータベースは削除。
既存のデータベースをコピーし、古いデータベースは保持。
データベースがシステムに存在しない場合、新しいデータベースを作成。
手動でのデータベース作成作業
表4-1を使用して、前述の各データベース作成カテゴリにおける、新しいデータベースを手動で作成する作業を理解します。各手順は、この後の各項で詳しく説明しています。
表4-1 手動でのデータベース作成作業
| 作業 | 既存のデータベースをコピーし、古いデータベースを削除 | 既存のデータベースをコピーし、古いデータベースを保持 | データベースがシステムに存在しない場合、新しいデータベースを作成 |
|---|---|---|---|
|
|
はい |
|
該当なし |
|
|
はい |
いいえ |
該当なし |
|
|
はい |
はい |
はい |
|
|
はい |
はい |
はい |
|
Oracle Databaseサービスの作成および開始について |
いいえ |
はい |
はい |
|
|
はい |
はい |
はい |
|
|
はい |
はい |
はい |
|
|
はい |
|
該当なし |
|
|
いいえ |
デフォルトの |
はい |
|
|
はい |
はい |
はい |
注意1
データを既存のデータベースから新しいデータベースにコピーする場合にのみ必要で、それ以外の場合は不要です。
注意2
既存のデータベースからエクスポートされた表および他のオブジェクトをインポートする場合にのみ必要で、それ以外の場合は不要です。
次の項の例でデータベースの作成方法を示します。この例では、既存のデータベースはSIDがorclの初期データベースで、ディレクトリC:\app\username\oradata\orclにあります。orclを、ディレクトリC:\app\username\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\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\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を使用します。
|
関連項目: 『Oracle Databaseリファレンス』 |
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サービスの作成および開始は、次のいずれかを行う場合にのみ必要です。
既存のデータベースを新しいデータベースにコピーし、古いデータベースは保持
コピーするデータベースが存在しない場合、新しいデータベースを作成
データベースを作成する前に、そのデータベースを実行するWindowsサービスを作成します。このサービスはOracle Databaseプロセス(oracle.exe)で、Windowsサービスの形式でインストールされます。
サービスは、ORADIMを使用して作成します。ORADIMの使用方法の詳細は、「ORADIMを使用したOracle Databaseインスタンスの管理について」を参照してください。
Oracle Databaseサービスを作成して開始するには、次のようにします。
コマンド・プロンプトからORADIMを実行します。
C:\> oradim -NEW -SID prod -STARTMODE manual -PFILE "C:\app\username\admin\prod\pfile\init.ora"
すでに作成した初期化パラメータ・ファイルが、ドライブ名を含めて、フルパスで指定されていることに注意してください。サービスが開始されたかどうかは、「コントロール パネル」の「サービス」ウィンドウで確認できます。Oracle Database 12cリリース1 (12.1)から、ORADIMはOracleホーム・ユーザー・アカウントでのOracle Databaseサービスを作成します。このOracleホーム・ユーザーがWindowsローカル・ユーザー・アカウントまたはWindowsドメイン・ユーザー・アカウントである場合、ORADIMはそのパスワードを要求します。
ORACLE_SIDをprodと等しくなるように設定します。等号文字(=)の両側にはスペースを入れないでください。
C:\> set ORACLE_SID=prod
Oracleウォレットがファイル・システムに作成される場合、ウォレットを作成しているユーザーにはウォレット作成ツールによりそのウォレットへのアクセス権が付与されます。したがって、Oracle Databaseサービス(Windowsユーザー・アカウントとして実行中)は、Windowsツールを使用してウォレットへのアクセス権を明示的に付与しないかぎり、ウォレットにアクセスできない可能性があります。
詳細は、「ファイル・システムACLの手動での設定について」の項を参照してください。
SQL> STARTUP NOMOUNT
この例では、初期化パラメータ・ファイルがデフォルトの場所に格納されているため、PFILE句の指定は不要です。この時点で、データベースはありません。新規データベースを作成する準備として、System Global Area (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\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 WE8MSWIN1252 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;
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\username\product\12.1.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\HOMEIDです。IDはOracleホームを識別するための一意の番号です。
「レジストリ エディタ」ウィンドウの右側でパラメータORACLE_SIDを探します。
パラメータ名をダブルクリックし、データを新しいSID(この例ではprod)に変更します。
これがシステムでの最初のデータベースで、まだパラメータORACLE_SIDがない場合は、このパラメータを作成する必要があります。
パラメータORACLE_SIDを作成するには、次のようにします。
「編集」メニューから「新規」を選択します。
メニュー・リストから「展開可能な文字列値」を選択します。
「レジストリ・エディタ」ウィンドウの右側のペインに、「新しい値 #1」という展開可能な文字列値名がデータの種類REG_EXPAND_SZで作成されます。
パラメータを右クリックして、「名前の変更」を選択し、名前をORACLE_SIDに変更して、[Enter]を押します。
ORACLE_SIDエントリをダブルクリックして、値のデータを新しいSIDに変更します。
「文字列の編集」ダイアログ・ボックスが表示されます。

「値のデータ」フィールドに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の方が簡単です。
Oracle Database 12cリリース1 (12.1)から、ORADIMはOracleホーム・ユーザー・アカウントで実行する、Oracle Databaseサービス、Oracle VSSライター・サービスおよびOracleスケジューラ・サービスを作成します。このアカウントがWindowsローカル・ユーザー・アカウントまたはWindowsドメイン・ユーザー・アカウントである場合、ORADIMはそのアカウントのパスワードを要求し、stdinを介して同じものを受け入れます。
-RUNAS osusr[/ospass]オプションを使用して、Oracleホーム・ユーザーおよびそのパスワードの両方をoradimに指定できます。指定したosusrがOracleホーム・ユーザーとは異なる場合、Oracleホーム・ユーザーがosusrの代わりに、指定したospassとともに使用されます。
後述の項では、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][-MAXUSERS number][-STARTMODE auto | manual] [-SRVCSTART system | demand] [-PFILE filename | -SPFILE] [-SHUTMODE normal | immediate | abort] [-TIMEOUT secs] [-RUNAS osusr[/ospass]]
このコマンドでは、次のことに注意してください。
-NEWは、新しいインスタンスを作成することを示します。これは必須パラメータです。
-SID SIDは、作成するインスタンスの名前です。
-SRVC service_nameは、作成するサービスの名前(OracleServiceSID)です。
-ASMSID SIDは作成するOracle Automatic Storage Managementインスタンスの名前です。
-ASMSRVC service_nameは、作成するOracle Automatic Storage Managementサービスの名前です。
-SYSPWD passwordは、システム・パスワードです。
-MAXUSERS numberはパスワード・ファイルに定義されているユーザー数です。デフォルトは5です。
-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](「として実行」)では、Oracleホーム・ユーザーおよびそのパスワードの両方を指定できます。指定したosusrがOracleホーム・ユーザーとは異なる場合、Oracleホーム・ユーザーがosusrの代わりに、指定したospassとともに使用されます。
ospassをコマンド・ラインに指定することもできますが、ospassをstdinを介して受け入れることをお薦めします。
Oracle Database 12cリリース1 (12.1)から、ORADIMはOracleホーム・ユーザー・アカウントで実行する、Oracle Databaseサービス、Oracle VSSライター・サービスおよびOracleスケジューラ・サービスを作成します。このアカウントがWindowsローカル・ユーザー・アカウントまたはWindowsドメイン・ユーザー・アカウントである場合、ORADIMはそのアカウントのパスワードを要求し、stdinを介して同じものを受け入れます。
|
注意: この機能を簡単に説明するため、この例では、デプロイ済のシステムで通常使用されるパスワード管理テクニックを実行していません。本番環境では、Oracle Databaseのパスワード管理ガイドラインに従って、すべてのサンプル・アカウントを無効にしてください。パスワード管理ガイドラインと他のセキュリティ上の推奨事項の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。 |
たとえば、PRODというインスタンスを作成するには、次のように入力します。
C:\> oradim -NEW -SID prod -STARTMODE auto -PFILE C:\app\username\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は起動するOracle Automatic Storage Managementインスタンスの名前です。
-STARTTYPE srvc、instは、サービスまたはインスタンスのどちらを起動するかを示します。片方または両方を指定できます。指定しない場合は、現在の設定がレジストリで確認されます。
-STARTTYPE srvcは、コマンドラインからnet start oracleservicesidを実行することと同じです。
-STARTTYPE instは、SQL*Plus内でstartupを実行することと同じです。
-PFILE filenameは、このインスタンスで使用する初期化パラメータ・ファイルです。このファイルは、ドライブ名を含めて、フルパス名を指定する必要があります。
-SPFILEは、起動時にPFILEのかわりにサーバー・パラメータ・ファイル(SPFILE)を使用することを指定します。
たとえば、pumaというインスタンスを起動するには、次のように入力します。
C:\> oradim -STARTUP -SID puma -STARTTYPE inst -PFILE C:\app\username\admin\prod\pfile\init.ora
ORADIMを使用してインスタンスを停止するには、次のように入力します。
oradim -SHUTDOWN -SID SID | -ASMSID SID [-SYSPWD password] [-SHUTTYPE srvc | inst | srvc,inst] [-SHUTMODE normal | immediate | abort]
このコマンドでは、次のことに注意してください。
-SHUTDOWNは、インスタンスの停止を示します。これは必須パラメータです。
-SID SIDは、停止するインスタンスの名前を指定します。
-ASMSID SIDは停止するOracle Automatic Storage Managementインスタンスの名前です。
-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は変更するOracle Automatic Storage Managementインスタンスの名前です。
-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\username\product\11.2.0\admin\lynx\pfile\init.ora
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は削除するOracle Automatic Storage Managementインスタンスの名前です。
-ASMSRVC service_nameは、削除するOracle Automatic Storage Managementサービスの名前です。
たとえば、prodというインスタンスを削除するには、次のように入力します。
C:\> oradim -DELETE -SID prod
次の項目について説明します。
|
関連項目: 『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バックアップおよびリカバリ・ユーザーズ・ガイド』 |
WindowsプラットフォームでASMディスク・グループをOracle Database 11gからOracle Database 12cリリース1 (12.1)へアップグレードする際、そのディスク・グループのすべての現在のファイルはすべてのユーザーにアクセス可能として示されます。そのため、SYSASM権限のあるユーザーは、現在のファイルのユーザーの所有権、グループ・メンバーシップおよびアクセス権限を変更して、ファイルがそれぞれのデータベース・ユーザーにのみ所有されるようにする必要があります。
Oracle Database 11g リリース2(11.2) for Windows (32-bit)以前をOracle Database 12cリリース1 (12.1) for Windows (64-bit)に移行するには、次の手順を実行します。
Oracle Database 12cリリース1 (12.1) for Windows (64-bit)をインストールします。
|
関連項目: 『Oracle Databaseインストレーション・ガイドfor Microsoft Windows』 |
コマンド・プロンプトでOracle Database 12cリリース1 (12.1)の新規サービスを作成します。
C:\> ORADIM -NEW -SID SID [-INTPWD PASSWORD ] -MAXUSERS USERS -STARTMODE AUTO -PFILE ORACLE_HOME\DATABASE\INITSID.ORA
次の表に、指定する必要のある値の詳細情報を示します。
| パラメータ | 説明 |
|---|---|
SID |
移行するデータベースのSIDです。 |
PASSWORD |
Oracle Database 12c リリース1 (12.1) 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\pwdSID.oraに存在します(SIDはOracleインスタンスのIDです)。
12.1 OracleホームがWindowsユーザー・アカウントをOracleホーム・ユーザーとして使用する場合、このOracleホーム・ユーザーをユーザーのリストに追加し、すべてのデータベース・ファイル、init.oraファイル、oracleパスワード・ファイルなどに対するファイル権限またはディレクトリ権限を付与します。
ワード・サイズを変更する前に、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\username\oradata\orcl64\REDO03.LOG' SIZE 1M,
# was 'C:\app\username\oradata\orcl32\...LOG'
# on the 32-bit computer
GROUP 2 'C:\app\username\oradata\orcl64\REDO02.LOG' SIZE 1M,
GROUP 3 'C:\app\username\oradata\orcl64\REDO01.LOG' SIZE 1M
DATAFILE
'C:\app\username\oradata\orcl64\SYSTEM01.DBF',
# was 'C:\app\username\oradata\orcl32\...DBF'
# on the 32-bit computer
'C:\app\username\oradata\orcl64\RBS01.DBF',
'C:\app\username\oradata\orcl64\USERS01.DBF',
'C:\app\username\oradata\orcl64\TEMP01.DBF',
'C:\app\username\oradata\orcl64\TOOLS01.DBF',
'C:\app\username\oradata\orcl64\INDX01.DBF',
'C:\app\username\oradata\orcl64\DR01.DBF'
CHARACTER SET WE8ISO8859P1;
前の手順で作成した新規制御ファイルを含めるように32ビット・コンピュータでinitファイルを変更します。
64ビット・コンピュータのデータベースを停止します。
SQL> SHUTDOWN IMMEDIATE;
データベースの移行を開始します。
SQL> STARTUP MIGRATE;
『Oracle Databaseアップグレード・ガイド』のOracle Databaseのアップグレードに関する章に記載された手順に従ってデータベースを移行します。
|
注意: Oracle Database 12cリリース1 (12.1)へのアップグレードは、ソースと宛先Oracleホームの両方で同じWindowsユーザー・アカウントがOracleホーム・ユーザーとして使用されるか、またはデータベースがアップグレードされている元のホームがWindows組込みアカウントを使用している場合にのみサポートされます。Windows上の新しいOracleホームの準備の前提条件の詳細は、『Oracle Databaseアップグレード・ガイド』を参照してください。 |
データベースを停止します。
SQL> SHUTDOWN IMMEDIATE;
データベースを再起動します。
SQL> STARTUP OPEN;