ORADIMを使用したOracle Databaseインスタンスの管理について

ORADIMは、Oracle Databaseで使用できるコマンドライン・ツールです。

ORADIMは、手動でデータベースを作成、削除または変更する場合にのみ使用します。この目的で使用するツールとしてはDatabase Configuration Assistantの方が簡単です。

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\databaseORADIM.LOGファイルに書き込まれます。

ORA-12640: Authentication adapter initialization failed

Oracle Enterprise Management Agent、Oracle Enterprise Manager Management ServerおよびOracle Internet Directoryも、同じ理由でデータベースに接続できないため失敗します。

この問題を回避するには、次の手順を実行します。

  1. SQLNET.ORAを変更します。

    SQLNET.ORAを変更するには、次のいずれかを実行します。

    • sqlnet.authentication_services=(NTS)を削除

    • sqlnet.authentication_services=(NONE)を変更

  2. サービス開始後にデータベースを起動します。

    Oracle Databaseサービスを開始した後で、SQL*Plusを使用し、SYSDBAとして接続することにより、データベースを手動で起動できます。

  3. 特定のユーザーとしてのサービスの開始

    関連項目:

    サービスの開始方法は、オペレーティング・システムのドキュメントを参照

ORADIMを使用したインスタンスの作成

ORADIMを使用してOracle Databaseインスタンスを作成する方法について説明します。

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をコマンド・ラインに指定することもできますが、ospassstdin.を介して受け入れることをお薦めします。

    ORADIMはOracleホーム・ユーザー・アカウントで実行する、Oracle Databaseサービス、Oracle VSSライター・サービスおよびOracleスケジューラ・サービスを作成します。このアカウントがWindowsローカル・ユーザー・アカウントまたはWindowsドメイン・ユーザー・アカウントである場合、ORADIMはそのアカウントのパスワードを要求し、stdinを介して同じものを受け入れます。

注意:

この機能を簡単に説明するため、この例では、デプロイ済のシステムで通常使用されるパスワード管理テクニックを実行していません。本番環境では、Oracle Databaseのパスワード管理ガイドラインに従って、サンプル・アカウントを無効にします。

たとえば、PRODというインスタンスを作成するには、次のように入力します。

C:\> oradim -NEW -SID prod -STARTMODE auto -PFILE C:\app\username\admin\prod\pfile\init.ora

関連項目:

パスワード管理のガイドラインおよびセキュリティ上のその他の推奨事項については、『Oracle Databaseセキュリティ・ガイド』を参照してください。

ORADIMを使用したインスタンスおよびサービスの開始

ORADIMを使用してインスタンスおよびサービスを起動する方法について説明します。

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 srvcinstは、サービスまたはインスタンスのどちらを起動するかを示します。片方または両方を指定できます。指定しない場合は、現在の設定がレジストリで確認されます。

    -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を使用してインスタンスおよびサービスを停止する方法について説明します。

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 srvcinstは、サービスまたはインスタンスのどちらを停止するかを示します。片方または両方を指定できます。指定しない場合は、現在の設定がレジストリで確認されます。

  • -SHUTMODEは、インスタンスの停止方法を指定します。これはオプションのパラメータです。インスタンスの停止方法を指定しない場合は、immediateがデフォルト・モードです。

たとえば、pumaというインスタンスを停止するには、次のように入力します。

C:\> oradim -SHUTDOWN -SID puma -SHUTTYPE srvc,inst

ORADIMを使用したインスタンスの編集

ORADIMを使用してインスタンスを編集し、インスタンス名、起動モード、停止モード、停止タイプなどの値を変更する方法について説明します。

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\12.2.0\admin\lynx\pfile\init.ora

ORADIMを使用したインスタンスの削除

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は削除するOracle Automatic Storage Managementインスタンスの名前です。

  • -ASMSRVC service_nameは、削除するOracle Automatic Storage Managementサービスの名前です。

たとえば、prodというインスタンスを削除するには、次のように入力します。

C:\> oradim -DELETE -SID prod

ORADIMを使用したACLの操作

ORADIMを使用してACLを操作する方法について説明します。

ORADIMを使用してACLを操作するには、次のコマンドを入力します。

oradim    -ACL -setperm|-addperm|-removeperm  dbfiles|diag|registry  -USER username  -OBJTYPE file|dir|registry  -OBJPATH object-path  -RECURSE true|false [-HOST hostname]

このコマンドでは、次のことに注意してください。

  • -ACLはオブジェクトのACLを操作していることを示します。これは必須パラメータです。

  • -setperm | -addperm | -removeperm dbfiles | diag | registry-は、指定したオブジェクトのACLを設定、追加または削除することを示します。dbfilesはデータベース・ファイル、diagはデータベース、oracle-base & logs、およびregistryはレジストリ・キーを示します。ACLを設定するオブジェクトに基づいてこれらのいずれかを設定します。これは必須パラメータです。

  • -USER usernameはACLが付与されるユーザーを示します。これは、現在のOracleホームのサービス・ユーザーではない必要があります。これは必須パラメータです。

  • -OBJTYPE file|dir|registryは、ACLが設定されるオブジェクトに基づいてオブジェクト・タイプにfile/dir/registryを設定します。これは必須パラメータです。

  • -RECURSE true / falseは、指定したオブジェクト内のすべてのオブジェクトにACLを適用するかどうかを示します。これは必須パラメータです。

  • -HOST hostnameは、指定したホストにリモートからACLを設定するために使用できます。これは、Windowsによってリモートからサポートされるもののスコープに制限されます。これを行う別の方法は、-HOSTオプションを使用せずに、Windowsで許容される規則を使用することです。たとえば、\\<hostame>\c$\oracle\rdbms\admin\abc.txtです。これはオプションです。

たとえば、abc.txtというファイルにACLを設定するには、次のコマンドを入力します。

c:\> oradim -acl -setperm dbfiles -user winusr -objtype file -objpath c:\a.txt -recurse true

たとえば、レジストリ・キーにACLを追加するには、次のコマンドを入力します。

c:\>oradim -acl -addperm registry -USER wingen  -OBJTYPE registry -OBJPATH MACHINE\SOFTWARE\ORACLE\KEY_OraDB12Home1 -RECURSE true

ORADIMを使用した初期化パラメータのファミリ設定の操作

初期化パラメータのファミリ設定を操作する方法について説明します。

ORADIMを使用して、ファミリ・サポートを初期化パラメータに追加するには、次のコマンドを入力します。

oradim     -FAMILY -set|-delete value [-SID sid | -ASMSID sid |  -MGMTDBSID sid | -IOSSID sid | -APXSID sid ]

このコマンドでは、次のことに注意してください。

  • -FAMILY: ファミリ設定を操作していることを示します。これは必須パラメータです。

  • -set | -delete value: 値<HKLM>/Software/Oracle/<Current_ORACLE_HOME>/ORACLE_FAMILYを設定または削除するために使用します。setを指定すると、前述のレジストリ・キーが作成され、指定した値が設定されます。キーがすでに存在する場合、値は更新されます。deleteを指定すると、エントリが削除されます。

  • [-SID sid | -ASMSID sid | -MGMTDBSID sid | -IOSSID sid | -APXSID sid ]: これらのいずれかを指定した場合、設定または削除されるレジストリ・キーは<HKLM>/Software/Oracle/<Current_ORACLE_HOME>/ORACLE_<sid>_FAMILYです。これはオプションです。

たとえば、inst1をファミリprodの一部にするには、次のコマンドを入力します。

c:\>oradim -FAMILY -set prod -SID inst1

これにより、レジストリ・エントリ<HKLM>/Software/Oracle/<Current_ORACLE_HOME>/ORACLE_inst1_FAMILY = prodが作成されます。