ヘッダーをスキップ

Oracle Database プラットフォーム・ガイド
10gリリース2(10.2) for Microsoft Windows(x64)

B25695-04
目次
目次
索引
索引

戻る 次へ

3 Windowsでのインストール後のデータベース作成

この章では、Oracle Databaseをインストールした後、Database Configuration Assistantまたはコマンドライン・ツールを使用してデータベースを作成する方法を説明します。

この章の項目は次のとおりです。

3.1 Oracle Databaseのネーミング規則

ネットワークにマウントされたOracle Databaseサーバーすべてに一意のデータベース名が付けられている必要があります。データベースの作成時にデータベースと名前が対応付けられ、その制御ファイルに名前が格納されます。データベース・キーワードがCREATE DATABASE文で指定されている場合、またはDatabase Configuration Assistantで要求されたときに指定された場合は、その値がそのデータベースの名前になります。

同じデータベース名のOracle Databaseサーバーを2つマウントしようとすると、2番目のサーバーのマウント時に次のエラーが表示されます。

ORA-01102: データベースを排他モードでマウントすることができません。

同じコンピュータの異なるOracleホームに、複数のOracle Databaseサーバーがある場合は、次の規則が適用されます。

既存のデータベース名を変更するにはCREATE CONTROLFILE文を使用し、制御ファイルを再作成して新しいデータベース名を指定する必要があります。


注意

この章のディレクトリ・パスの例は、Optimal Flexible Architecture(OFA)のガイドラインに準拠しています。インストール時にOFAに準拠していないディレクトリを指定した場合、ディレクトリ・パスは異なったものになります。 


3.2 リモート・コンピュータ上の制御ファイル、データファイルおよびログ・ファイルへのアクセス

Oracle Databaseでは、汎用命名規則(UNC)を使用してリモート・コンピュータのデータベース・ファイルにアクセスできますが、この方法ではデータベースのパフォーマンスとネットワークの信頼性が低下する可能性があります。UNCは、Local Area Network上のリソースの場所を指定するためのPCの形式です。UNCでは、次の形式を使用します。

¥¥server-name¥shared-resource-path-name

たとえば、共有サーバーargon上のディレクトリC:¥oracle¥product¥10.2.0¥oradata¥orclsystem01.dbfファイルのUNC指定は、¥¥argon¥oracle¥product¥10.2.0¥oradata¥orcl¥system01.dbfになります。

制御ファイル、データファイル、オンラインREDOログ・ファイルおよびアーカイブ・ログ・ファイルの場所は、汎用命名規則(UNC)を使用して指定できないことに注意してください。初期化パラメータLOG_ARCHIVE_DEST_nは、常に、マップされたドライブに設定します。UNC指定に設定されていると、Oracle Databaseは起動せず、次のエラーが表示されます。

ORA-00256: アーカイブ先文字列'¥meldell¥rmdrive'を変換できません。
ORA-09291: sksachk: invalid device specified for archive destination 
OSD-04018: Unable to access the specified directory or device
O/S-Error: (OS 2) The system cannot find the file specified

ORA-00256エラーは、¥¥¥meldell¥rmdriveまたは¥¥¥meldell¥¥rmdriveと入力した場合にも発生します。Oracle8リリース8.0.4では、制御ファイルには追加の円記号が必要ですが、REDOログ・ファイルおよびデータファイルには必要ありません。

3.3 Database Configuration Assistantを使用したWindowsでのデータベースの作成

データベース作成の方法としては、Database Configuration Assistantを使用する方が簡単であるため、この方法をお薦めします。Database Configuration Assistantのインタフェースと動作は、サポートされているすべてのプラットフォームで同じであるため、ここでは詳細な手順やスクリーン・ショットを示しません。

関連項目

Database Configuration Assistantの使用方法は、『Oracle Database 2日でデータベース管理者』を参照 

Database Configuration Assistantを使用すると、次のことができます。

初期化パラメータ・ファイルは、パラメータを含むASCIIテキスト・ファイルです。コマンドライン・ツールを使用してデータベースを作成および変更する場合に使用できます。Database Configuration Assistantを使用してデータベースを作成すると、サーバー・パラメータ・ファイル(SPFILE)が初期化パラメータ・ファイルから作成され、初期化パラメータ・ファイルの名前が変更されます。Oracleは、名前変更されたファイルを初期化パラメータ・ファイルとして認識せず、インスタンスの開始後には使用しません。

Database Configuration Assistantで作成されたインスタンスを起動後に変更するには、ALTER SYSTEM文を使用する必要があります。SPFILEは、テキスト・エディタを使用して参照または表示できないバイナリ・ファイルであるため、このファイル自体は変更できません。新規に作成されたSPFILEの場所は、ORACLE_BASE¥ORACLE_HOME¥databaseです。SPFILEファイル名は、spfileSID.oraです。

関連項目

『Oracle Database管理者ガイド』のサーバー・パラメータ・ファイルを使用した初期化パラメータの管理に関する項 

3.4 コマンドライン・ツールを使用したWindowsでのデータベースの作成

この項では、新しいデータベースを手動で作成する方法について説明します。データベース・ソフトウェア・ファイルの一部として、Oracle Databaseではサンプル・データベース作成スクリプトおよびサンプル初期化パラメータ・ファイルが用意されており、どちらも必要に応じて編集できます。既存のスクリプトがある場合は、それをデータベースの手動作成にそのまま使用できます。また、サンプル・データベース作成スクリプトをガイドとして使用し、既存のスクリプトを編集することもできます。

データベースの作成方法は、次の3種類です。

表3-1は、前述の各データベース作成カテゴリにおける、新しいデータベースを作成する作業を示しています。各手順は、この後の各項で詳しく説明しています。

表3-1    手動でのデータベース作成作業 
作業  既存のデータベースをコピーし、古いデータベースを削除  既存のデータベースをコピーし、古いデータベースを保持  データベースがシステムに存在しない場合、新しいデータベースを作成 

ディレクトリの作成 

○ 

○ 

○ 

既存のデータベースのエクスポート 

○ 

必要な場合あり1 

該当なし 

データベース・ファイルの削除 

○ 

× 

該当なし 

初期化パラメータ・ファイルの変更 

○ 

○ 

○ 

Oracle Databaseインスタンスの起動 

○ 

○ 

○ 

Oracle Databaseサービスの作成および開始 

× 

○ 

○ 

CREATE DATABASE文のスクリプトへの書込み 

○ 

○ 

○ 

CREATE DATABASEスクリプトの実行 

○ 

○ 

○ 

データベースのインポート 

○ 

必要な場合あり2 

該当なし 

レジストリのORACLE_SIDの更新 

× 

デフォルトのSIDを変更する場合にのみ必要 

○ 

新しいデータベースのバックアップ 

○ 

○ 

○ 

1 データを既存のデータベースから新しいデータベースにコピーする場合にのみ必要で、それ以外の場合は不要です。

2 既存のデータベースからエクスポートされた表および他のオブジェクトをインポートする場合にのみ必要で、それ以外の場合は不要です。

後述の各項では、1つの例を使用して、データベースを作成する方法について説明します。この例では、既存のデータベースはSIDorcl初期データベースで、ディレクトリC:¥oracle¥product¥10.2.0¥oradata¥orclにあります。orclを、ディレクトリC:¥oracle¥product¥10.2.0¥oradata¥prodにある、データベース名とSIDprodの新しいデータベースにコピーします。次に、初期データベースorclを削除します。

3.4.1 ディレクトリの作成

次のディレクトリを作成します。これらのディレクトリには、新しいデータベースprodの管理ファイルおよびデータベース・ファイルを配置します。

3.4.2 既存のデータベースのエクスポート

エクスポートは、既存のデータベースの内容を新しいデータベースにコピーする場合にのみ必要です。以前のリリースのOracleのデータを処理している場合は、この作業にエクスポートを使用できます。Oracle Database 10gリリース1(10.1)以上のデータを使用している場合は、データ・ポンプ・エクスポートを使用することをお薦めします。データ・ポンプ・エクスポートではOracle Database 10gリリース1(10.1)以上の新機能(浮動小数点など)をサポートしているためです。

データ・ポンプ・エクスポートまたはエクスポートは、パラメータ・モードまたは対話形式モードのどちらでも起動できますが、パラメータ・モードをお薦めします。対話形式モードは、パラメータ・モードよりも機能が制限されています。対話形式モードは、下位互換性のためにのみ用意されています。

データ・ポンプ・エクスポートのパラメータ・モードの構文は次のとおりです。

C:¥> expdp SYSTEM/password DUMPFILE=myexp.dmp FULL=y LOGFILE=myexp.log

データ・ポンプ・エクスポートの対話形式モードの構文は次のとおりです。

C:¥> expdp SYSTEM/password 

expdp SYSTEM/passwordコマンドのみを入力すると、対話形式セッションが開始され、データ・ポンプ・エクスポートにより必要な情報の入力を求められます。


注意

パラメータ・モードを使用する場合、ファイル名やディレクトリ名にスペースが存在するとデータ・ポンプ・エクスポートによって不正な名前とみなされます。対処方法として、DUMPFILE=パラメータのフルパス指定は、3つの二重引用符で囲みます。次に例を示します。

DUMPFILE="""C:¥program files¥export.dmp"""

データ・ポンプ・エクスポートを対話形式モードで使用する場合は、引用符を使用しなくてもファイル名やディレクトリ名にスペースを使用できます。 


エクスポートのパラメータ・モードの構文は次のとおりです。

C:¥> exp SYSTEM/password FILE=myexp.dmp FULL=y LOG=myexp.log

エクスポートの対話形式モードの構文は次のとおりです。

C:¥> exp SYSTEM/password 

exp SYSTEM/passwordコマンドのみを入力すると、対話形式セッションが開始され、エクスポートにより必要な情報の入力を求められます。


注意

パラメータ・モードを使用する場合、ファイル名やディレクトリ名にスペースが存在するとエクスポートによって不正な名前とみなされます。対処方法として、FILE=パラメータのフルパス指定は、3つの二重引用符で囲みます。次に例を示します。

FILE="""C:¥program files¥export.dmp"""

エクスポートを対話形式モードで使用する場合は、引用符を使用しなくてもファイル名やディレクトリ名にスペースを使用できます。 


関連項目

データ・ポンプ・エクスポートまたはエクスポートの詳細は、『Oracle Databaseユーティリティ』を参照 

既存のデータベースからすべてのデータを新しいデータベースにエクスポートするには、次のようにします。

  1. ORACLE_SIDを、エクスポートするデータベースのデータベース・サービスに設定します。たとえば、エクスポートするデータベースが初期データベースorclの場合は、コマンド・プロンプトで次のように入力します。等号文字(=)の両側にはスペースを入れないでください。

    C:¥> set ORACLE_SID=orcl
    
    
  2. 既存のデータベースがOracle Database 10gリリース1(10.1)以上の場合は、コマンド・プロンプトからデータ・ポンプ・エクスポートを起動します。

    C:¥> expdp SYSTEM/password DUMPFILE=myexp.dmp FULL=y LOG=myexp.log
    
    

    これで、初期データベースorclの全データベースのエクスポートがmyexp.dmpファイルに作成されました。データ・ポンプ・エクスポートからのすべてのメッセージは、myexp.logファイルに記録されます。

  3. 既存のデータベースがOracle Database 10gリリース1(10.1)より前の場合は、コマンド・プロンプトからExportを起動します。

    C:¥> exp SYSTEM/password FILE=myexp.dmp FULL=y LOG=myexp.log
    
    

    これで、初期データベースorclの全データベースのエクスポートがmyexp.dmpファイルに作成されました。エクスポートからのすべてのメッセージは、myexp.logファイルに記録されます。

3.4.3 データベース・ファイルの削除

データベース・ファイルの削除は、既存のデータベースを新しいデータベースにコピーし、古いデータベースと置き換える場合にのみ必要です。初期データベースorclのデータベース・ファイルを削除する例を次に示します。

データベース・ファイルを削除するには、次のようにします。

  1. コマンド・プロンプトで初期データベースorclを停止します。

    C:¥> oradim -SHUTDOWN -SID orcl -SHUTTYPE inst -SHUTMODE immediate
    
    
  2. ディレクトリC:¥oracle¥product¥10.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 

    redo01.log 

    index01.dbf 

    system01.dbf 

    user01.dbf 

    redo03.log 

3.4.4 初期化パラメータ・ファイルの変更

新しいデータベースの基礎として初期データベース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_BASE¥ORACLE_HOME¥admin¥sample¥pfile

このファイルをデータベースprodの初期化パラメータ・ファイルの基礎とすることができます。

initsmpl.oraを初期化パラメータ・ファイルの基礎として使用する場合、次のパラメータを示されている値に設定する必要があります。設定しなかった場合は、データベースprodを起動できません。

3.4.5 Oracle Databaseインスタンスの起動

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

STARTUP NOMOUNT

この例では、初期化パラメータ・ファイルがデフォルトの場所に格納されているため、PFILE句の指定は不要です。この時点で、データベースはありません。新規データベースを作成する準備として、SGAのみ作成され、バックグラウンド・プロセスが起動します。

3.4.6 Oracle Databaseサービスの作成および開始

Oracle Databaseサービスの作成および開始は、次のいずれかを行う場合にのみ必要です。

データベースを作成する前に、そのデータベースを実行するWindowsサービスを作成します。このサービスはOracle Databaseプロセスoracle.exe)で、Windowsサービスの形式でインストールされます。

サービスは、ORADIMを使用して作成します。作成が終了すると、サービスは自動的に開始されます。ORADIMの使用方法は、「ORADIMによるOracle Databaseインスタンスの管理」を参照してください。

Oracle Databaseサービスを作成して開始するには、次のようにします。

  1. コマンド・プロンプトからORADIMを実行します。

    C:¥> oradim -NEW -SID prod -STARTMODE manual
    -PFILE "C:¥oracle¥product¥10.2.0¥admin¥prod¥pfile¥init.ora"
    
    

    すでに作成した初期化パラメータ・ファイルが、ドライブ名を含めて、フルパスで指定されていることに注意してください。サービスが開始されたかどうかは、「コントロール パネル」の「サービス」ウィンドウで確認できます。

  2. ORACLE_SIDprodと等しくなるように設定します。等号文字(=)の両側にはスペースを入れないでください。

    C:¥> set ORACLE_SID=prod
    

3.4.7 CREATE DATABASE文のスクリプトへの書込み

CREATE DATABASE文は、データベースを作成するSQL文です。この文が含まれるスクリプトは、データベースを作成するときにいつでも使用できます。

CREATE DATABASE文には、次のパラメータがあります。

CREATE DATABASE文を実行すると、Oracle Databaseは、CREATE DATABASE文で指定されている句または設定した初期化パラメータに基づいて複数の処理を実行します。


注意

Oracle Managed Filesは、CREATE DATABASE文とともに使用してOracle Databaseの管理を簡略化する機能です。Oracle Managed Filesでは、ファイル名ではなくデータベース・オブジェクトに関する処理を指定するため、Oracle Databaseサーバーを構成するオペレーティング・システム・ファイルを直接管理する必要がありません。Oracle Managed Filesの使用の詳細は、『Oracle Database管理者ガイド』を参照してください。 


データベースprodを作成するには、script_name.sqlというファイルに次の文をコピーして保存します。

CREATE DATABASE prod
MAXLOGFILES 5
MAXDATAFILES 100
DATAFILE 'C:¥oracle¥product¥10.2.0¥oradata¥prod¥system01.dbf' SIZE 325M REUSE
AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
UNDO TABLESPACE "UNDOTBS" DATAFILE 'oracle¥product¥10.2.0¥oradata¥prod¥undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
CHARACTER SET WE8MSWIN1252
logfile 'C:¥oracle¥product¥10.2.0¥oradata¥prod¥redo01.log' size 100M reuse,
        'C:¥oracle¥product¥10.2.0¥oradata¥prod¥redo02.log' size 100M reuse,
        'C:¥oracle¥product¥10.2.0¥oradata¥prod¥redo03.log' size 100M reuse;

3.4.8 CREATE DATABASEスクリプトの実行

SQLスクリプトを使用してデータベースを作成するには、次のようにします。

  1. サービスが開始されているかどうかを、「コントロール パネル」で確認します。この例では、サービス名はOracleServicePRODで、その「状態」列には「開始」と表示されます。「開始」になっていない場合は、サービス名を選択して「開始」をクリックします。

    また、コマンド・プロンプトで次のように入力して、サービスの状態を確認することもできます。

    C:¥> net START
    
    

    システムで現在実行されている、すべてのWindowsサービスのリストが表示されます。リストにOracleServicePRODがない場合は、次のように入力します。

    C:¥> net START OracleServicePROD
    
    
  2. PRODを現在のSIDにします。

    C:¥> set ORACLE_SID=PROD
    
    
  3. ORACLE_BASE¥ORACLE_HOME¥binPATH環境変数に追加します。

    set PATH=ORACLE_BASE¥ORACLE_HOME¥bin;%PATH%
    
    
  4. コマンド・プロンプトからSQL*Plusを起動し、データベースにSYSDBAで接続します。

    C:¥> sqlplus /NOLOG
    SQL> CONNECT / AS SYSDBA 
    
    

    connected」というメッセージが表示されます。

  5. スプーリングをオンにしてメッセージを保存します。

    SQL> SPOOL script_name.log
    
    
  6. 「CREATE DATABASE文のスクリプトへの書込み」で作成したスクリプトscript_name.sqlを実行します。

    SQL> @C:¥oracle¥product¥10.2.0¥db_1¥rdbms¥admin¥script_name.sql;
    
    

    データベースの作成が正常に終了した場合は、インスタンスが開始され、「Statement processed」というメッセージが数回表示されます。

3.4.9 データベースのインポート

データ・ポンプ・インポート(Oracle Database 10gリリース1(10.1)以上のデータの場合)またはインポート(旧データの場合)を使用して、「既存のデータベースのエクスポート」で作成した全エクスポートを新しいデータベースにインポートできます。データ・ポンプ・インポートまたはインポートは、パラメータ・モードまたは対話形式モードのいずれかを使用して起動できますが、パラメータ・モードの方が多くの機能があるため、パラメータ・モードを使用することをお薦めします。対話形式モードは、下位互換性のためにのみ用意されています。

データ・ポンプ・インポートのパラメータ・モードの構文は次のとおりです。

C:¥> impdp SYSTEM/password DUMPFILE=myexp.dmp FULL=y LOG=myexp.log

データ・ポンプ・インポートの対話形式モードの構文は次のとおりです。

C:¥> impdp SYSTEM/password 

impdp SYSTEM/passwordのみを入力すると、対話形式のセッションが開始され、データ・ポンプ・インポートにより必要な情報の入力を求められます。


注意

パラメータ・モードを使用する場合、ファイル名やディレクトリ名にスペースが存在するとデータ・ポンプ・インポートによって不正な名前とみなされます。対処方法として、DUMPFILE=パラメータのフルパス指定は、
3つの二重引用符で囲みます。次に例を示します。

DUMPFILE="""C:¥program files¥export.dmp"""

データ・ポンプ・インポートを対話形式モードで使用する場合、二重引用符を使用しなくてもファイル名やディレクトリ名にスペースを使用できます。 


インポートのパラメータ・モードの構文は次のとおりです。

C:¥> imp SYSTEM/password FILE=myexp.dmp FULL=y LOG=myexp.log

インポートの対話形式モードの構文は次のとおりです。

C:¥> imp SYSTEM/password 

imp SYSTEM/passwordのみを入力すると、対話形式のセッションが開始され、インポートにより必要な情報の入力を求められます。


注意

パラメータ・モードを使用する場合、ファイル名やディレクトリ名にスペースが存在するとインポートによって不正な名前とみなされます。対処方法として、FILE=パラメータのフルパス指定は、3つの二重引用符で囲みます。次に例を示します。

FILE="""C:¥program files¥export.dmp"""

インポートを対話形式モードで使用する場合、二重引用符を使用しなくてもファイル名やディレクトリ名にスペースを使用できます。 



注意

エクスポート・ファイルの生成元のデータベースに、新しいデータベースにはない表領域が含まれている場合、インポートはその表領域とそれに関連付けられたデータファイルを作成しようとします。

簡単な解決方法は、両方のデータベースに同じ表領域が含まれるようにすることです。データファイルは、同一である必要はありません。重要なのは表領域の名前のみです。 


関連項目

データ・ポンプ・インポートまたはインポートの詳細は、『Oracle Databaseユーティリティ』を参照 

3.4.10 レジストリのORACLE_SIDの更新

これがシステムの最初のデータベースである場合、または新しいデータベースをデフォルトのデータベースにする場合は、レジストリを変更する必要があります。

  1. コマンド・プロンプトでレジストリ エディタを起動します。

    C:¥> regedit
    
    

    「レジストリ エディタ」ウィンドウが表示されます。

  2. コンピュータ上で最初のOracleホームの場合、サブキー¥HKEY_LOCAL_MACHINE¥
    SOFTWARE¥ORACLE¥HOME0
    を選択します。同一コンピュータ上の別のOracleホームに対する後続インストールの場合は、パスは¥HKEY_LOCAL_MACHINE¥SOFTWARE¥ORACLE¥
    HOME
    IDです。IDは、Oracleホームを識別する一意の数値です。

    関連項目

    複数のOracleホームのサブキーの場所の詳細は、第14章「パラメータおよびレジストリの構成」を参照 

  3. 「レジストリ エディタ」ウィンドウの右側でパラメータORACLE_SIDを探します。

  4. パラメータ名をダブルクリックし、データを新しいSID(この例ではprod)に変更します。

これがシステムでの最初のデータベースで、まだパラメータORACLE_SIDがない場合は、このパラメータを作成する必要があります。

パラメータORACLE_SIDを作成するには、次のようにします。

  1. 「編集」メニューから「値の追加」を選択します。

    「値の追加」ダイアログが表示されます。


    画像の説明

  2. 「値の名前」フィールドにORACLE_SIDと入力します。

  3. 「データ型」リストで、REG_EXPAND_SZ(拡張可能文字列用)を選択します。

  4. 「OK」をクリックします。

    データ型に対応する「文字列エディタ」ダイアログが表示されます。


    画像の説明

  5. 「文字列」フィールドにprodと入力します。

  6. 「OK」をクリックします。

    レジストリ エディタにより、パラメータORACLE_SIDが追加されます。

  7. 「レジストリ」メニューから「レジストリ エディタの終了」を選択します。

    レジストリ エディタが終了します。

3.4.11 新しいデータベースのバックアップ


注意

バックアップを行わずに新しいデータベースを操作していて、問題が生じた場合は、データベース作成手順を繰り返す必要があります。データを失ってしまうことがないように、データベースはここでバックアップしてください。  


新しいデータベースをバックアップするには、次のようにします。

  1. データベース・インスタンスを停止してサービスを停止します。

    C:¥> oradim -SHUTDOWN -SID prod -SHUTTYPE srvc,inst -SHUTMODE immediate
    


    注意

    すぐにORADIMによりプロンプトが表示されますが、手順2に進む前に、データベースおよびサービスが完全に停止するまで待つ必要があります。サービスOracleServicePRODが停止したことがコントロール パネルに表示されるまで待ってください。表示されるまで待たないと、データがデータファイルに書き込まれている最中にバックアップが作成されて、バックアップが無効になる可能性があります。 


  2. 任意のツールを使用して、データベース・ファイルをバックアップします。

    データベース・ファイルは、初期化パラメータ・ファイル、制御ファイル、オンラインREDOログ・ファイルおよびデータファイルから構成されます。

    バックアップが完了したら再びデータベースを起動し、必要に応じてユーザーとオブジェクトを作成し、必要な変更を行って、データベースを使用することができます。

    データベースに重要な変更(アーカイブ・モードを切り替える、表領域またはデータファイルを追加する、など)を行った後は、データベースをバックアップしてください。

    関連項目

    アーカイブ、バックアップおよびリカバリの詳細は、次の資料を参照してください。

    • 『Oracle Database概要』

    • 『Oracle Databaseバックアップおよびリカバリ基礎』

    • 『Oracle Database 2日でデータベース管理者』

     


    注意

    圧縮ドライブにデータベース・ファイルを格納しないでください。書込みエラーが発生し、パフォーマンスを低下させる可能性があります。 


3.5 ORADIMによるOracle Databaseインスタンスの管理

ORADIMは、Oracle Databaseで使用できるコマンドライン・ツールです。ORADIMが必要になるのは、手動でデータベースを作成、削除または変更する場合のみです。この目的で使用するツールとしてはDatabase Configuration Assistantの方が簡単です。

後述の項では、ORADIMのコマンドおよびパラメータについて説明します。各コマンドの前には必ずダッシュ(-)が付きます。ORADIMパラメータのリストを表示するには、次のように入力します。

oradim -? | -h | -help


注意

  • オプションを何も指定せずにoradimを指定することでも、ORADIMのパラメータおよび説明のリストが返されます。

  • Windows VistaおよびWindows Server 2008でORADIMを実行するには、管理者権限が必要です。

 

ORADIMを使用すると、oradim.logと呼ばれるログ・ファイルが
ORACLE_BASE¥ORACLE_HOME¥databaseまたはORA_CWDレジストリ・パラメータで指定したディレクトリにオープンされます。すべての処理(正常の場合も異常の場合もすべて)がこのファイルに記録されます。このファイルをチェックして、処理が成功したかどうかを検証する必要があります。

Oracle DatabaseサービスをWindows 2000にインストールした場合は、開始モードを「自動」に設定してSYSTEMユーザー(LocalSystem)としてログオンした際に、Oracle Databaseサービスは開始されますが、データベースが自動的には起動しない可能性があります。次のエラー・メッセージがディレクトリORACLE_BASE¥ORACLE_HOME¥databaseORADIM.LOGファイルに書き込まれます。

ORA-12640: Authentication adapter initialization failed 

Oracle Enterprise Management Agent、Oracle Enterprise Manager Management ServerおよびOracle Internet Directoryも、同じ理由でデータベースに接続できないため失敗することがあります。対処方法は次のとおりです。

3.5.1 インスタンスの作成

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]

それぞれの意味は次のとおりです。

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

C:¥> oradim -NEW -SID prod -STARTMODE auto -PFILE 
C:¥oracle¥product¥10.2.0¥admin¥prod¥pfile¥init.ora

3.5.2 インスタンスの起動とサービスの開始

ORADIMを使用してインスタンスを起動し、サービスを開始するには、次のように入力します。

oradim -STARTUP -SID SID | -ASMSID SID [-SYSPWD password]  
[-STARTTYPE srvc | inst | srvc,inst] [-PFILE filename | -SPFILE]

それぞれの意味は次のとおりです。

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

C:¥> oradim -STARTUP -SID puma -STARTTYPE inst -PFILE 
C:¥oracle¥product¥10.2.0¥admin¥prod¥pfile¥init.ora

3.5.3 インスタンスおよびサービスの停止

Enterprise Database Controlサービス(OracleDBConsoleSID)は、Oracle Databaseサービス(OracleServiceSID)に依存します。Enterprise Database Control依存サービスは、(インストールされている場合)ORADIMを実行してデータベース・インスタンス・サービスを停止する前に、停止する必要があります。

ORADIMを使用してインスタンスを停止するには、次のように入力します。

oradim -SHUTDOWN -SID SID | -ASMSID SID [-SYSPWD password] 
[-SHUTTYPE srvc | inst | srvc,inst] [-SHUTMODE normal | immediate | abort]

それぞれの意味は次のとおりです。

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

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

3.5.4 インスタンスの編集

既存のインスタンスを編集すると、インスタンス名、起動モード、停止モード、停止タイプなどの値を変更できます。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]

それぞれの意味は次のとおりです。

たとえば、インスタンスprodに対して新しい初期化パラメータ・ファイルを指定するには、次のように入力します。

C:¥> oradim -EDIT -SID prod -PFILE C:¥oracle¥product¥10.2.0¥admin¥lynx¥pfile¥init.ora

3.5.5 インスタンスの削除

Enterprise Database Controlサービス(OracleDBConsoleSID)は、Oracle Databaseサービス(OracleServiceSID)に依存します。Enterprise Database Control依存サービスは、(インストールされている場合)ORADIMを実行してデータベース・インスタンス・サービスを削除する前に、停止する必要があります。

ORADIMを使用してインスタンスを削除するには、次のように入力します。

oradim -DELETE -SID SID | -ASMSID SID | -SRVC service_name | -ASMSRVC service_name

それぞれの意味は次のとおりです。

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

C:¥> oradim -DELETE -SID prod

3.6 32ビットWindowsコンピュータからのデータベースの移行

次の項目について説明します。

3.6.1 32ビットOracle Databaseのバックアップ

32ビットOracleホーム・データベースをバックアップするには、次のようにします。

  1. SQL*Plusを起動します。

    C:¥> sqlplus /NOLOG
    
    
  2. SYSDBAでデータベース・インスタンスに接続します。

    SQL> CONNECT / AS SYSDBA;
    
    
  3. 64ビット・コンピュータで制御ファイルを再作成するためのテンプレートとして使用する.trcファイルを作成します。

    SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
    
    
  4. データベースを停止します。

    SQL> SHUTDOWN IMMEDIATE;
    
    
  5. データベースの完全なオフライン・バックアップを実行します。

    関連項目

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

3.6.2 Oracle Database 10gリリース2(10.2)データベースの移行

Oracle Database 10gリリース2(10.2) for 32-bit WindowsデータベースをOracle Database 10gリリース2(10.2) for 64-bit Windowsデータベースに移行するには、次のようにします。

  1. Oracle Database 10gリリース2(10.2) for 64-bit Windowsをインストールします。

    関連項目

    『Oracle Databaseインストレーション・ガイド for Microsoft Windows(64-Bit)on Intel Itanium』 

  2. コマンド・プロンプトで、新規のOracle Database 10gリリース2(10.2)サービスを作成します。

    C:¥> ORADIM -NEW -SID SID [-INTPWD PASSWORD ]-MAXUSERS USERS 
    -STARTMODE AUTO -PFILE ORACLE_HOME¥DATABASE¥INITSID.ORA
    
    

    次の表に、指定する必要のある値の詳細を示します。

    パラメータ  説明 

    SID  

    アップグレードするデータベースのSID。 

    PASSWORD  

    新規のOracle Database 10gリリース2(10.2) for 64-bit Windowsデータベースのパスワード。これは、SYSDBA権限で接続するユーザーのパスワードです。-INTPWDオプションは不要です。これを指定しない場合、オペレーティング・システム認証が使用され、パスワードは不要です。 

    USERS  

    SYSDBA権限およびSYSOPER権限を付与できるユーザーの最大数。 

    ORACLE_HOME  

    Oracleホーム・ディレクトリ。-PFILEオプションで、必ずOracleホーム・ディレクトリのドライブ文字を含むフルパス名を指定してください。  

  3. 32ビット・データベースを新しい64ビットOracleホームにコピーします。

  4. 32ビット構成ファイルを新しい64ビットOracleホームにコピーします。

    1. 32ビット初期化パラメータ・ファイルにIFILE(インクルード・ファイル)エントリがある場合、IFILEエントリで指定したファイルを64ビットOracleホームにコピーし、初期化パラメータ・ファイルのIFILEエントリがその新しい場所を指すように編集します。

    2. 32ビットOracleホームにパスワード・ファイルがある場合、それを64ビットOracleホームにコピーします。デフォルトの32ビット・パスワード・ファイルは、ORACLE_BASE¥ORACLE_HOME¥database¥pwdSID.oraにあります。SIDは、OracleインスタンスIDです。

  5. 64ビットOracleホームで、ワード・サイズを変更する前に、
    _SYSTEM_TRIG_ENABLED = falseパラメータを
    ORACLE_HOME¥database¥ORACLE_SID ¥init.oraファイルに追加します。

  6. ワード・サイズの変更完了後に、初期化ファイルからこのパラメータを削除します。

    関連項目

    ワード・サイズ変更の詳細は、『Oracle Databaseアップグレード・ガイド』を参照 

  7. コマンド・プロンプトから、64ビットORACLE_HOME¥rdbms¥adminディレクトリに移動します。

  8. SQL*Plusを起動します。

    C:¥> sqlplus /NOLOG 
    
    
  9. SYSDBAでデータベース・インスタンスに接続します。

    SQL> CONNECT / AS SYSDBA;
    
    
  10. 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:¥oracle¥product¥10.2.0¥oradata¥orcl64¥REDO03.LOG'  SIZE 1M, 
        # was   'C:¥oracle¥product¥10.2.0¥oradata¥orcl32¥...LOG' 
        # on the 32-bit computer
        GROUP 2 'C:¥oracle¥product¥10.2.0¥oradata¥orcl64¥REDO02.LOG'  SIZE 1M,
        GROUP 3 'C:¥oracle¥product¥10.2.0¥oradata¥orcl64¥REDO01.LOG'  SIZE 1M
    DATAFILE
       'C:¥oracle¥product¥10.2.0¥oradata¥orcl64¥SYSTEM01.DBF',
        # was 'C:¥oracle¥product¥10.2.0¥oradata¥orcl32¥...DBF' 
        # on the 32-bit computer
       'C:¥oracle¥product¥10.2.0¥oradata¥orcl64¥RBS01.DBF',
       'C:¥oracle¥product¥10.2.0¥oradata¥orcl64¥USERS01.DBF',
       'C:¥oracle¥product¥10.2.0¥oradata¥orcl64¥TEMP01.DBF',
       'C:¥oracle¥product¥10.2.0¥oradata¥orcl64¥TOOLS01.DBF',
       'C:¥oracle¥product¥10.2.0¥oradata¥orcl64¥INDX01.DBF',
       'C:¥oracle¥product¥10.2.0¥oradata¥orcl64¥DR01.DBF'
    CHARACTER SET WE8ISO8859P1;
    
    
  11. 32ビット・コンピュータのinitファイルを、前の手順で生成された新しい制御ファイルがインクルードされるように変更します。

  12. データベースを停止します。

    SQL> SHUTDOWN IMMEDIATE;
    
    
  13. utlirp.sqlを実行するために、データベースを UPGRADEモードで起動します。

    SQL> STARTUP UPGRADE;
    
    

    初期化パラメータ・ファイルの場所を指定するために、PFILEオプションの使用が必要な場合があります。

  14. 後から成功を検証するために、結果がログ・ファイルにスプールされるよう、システムを設定します。次に例を示します。

    SQL> SPOOL mig32-64.log;
    
    
  15. 次のコマンドを入力して、スクリプトの出力が画面上に表示されるようにします。

    SQL> SET ECHO ON;
    
    
  16. 既存のPL/SQLモジュールを、64ビットOracle Databaseで要求される形式に再コンパイルします。

    SQL> @utlirp.sql;
    
    
  17. スクリプトの結果のログ・ファイルへのスプーリングを無効にします。

    SQL> SPOOL OFF;
    
    
  18. スプール・ファイルをチェックし、パッケージやプロシージャが正常にコンパイルされたことを確認します。このファイルで問題が見つかれば修正します。

  19. データベースを停止します。

    SQL> SHUTDOWN IMMEDIATE;
    
    
  20. データベースを起動します。

    SQL> STARTUP;
    
    
  21. 既存のPL/SQLモジュールを、64ビットOracle Databaseで要求される形式に再コンパイルします。

    SQL> @utlrp.sql;
    
    

3.6.3 Oracle Database 10gリリース1(10.1)またはそれより前のデータベースへの移行

Oracle Database 10gリリース1(10.1)またはそれより前のデータベースをOracle Database 10gリリース2(10.2) for 64-bit Windowsデータベースに移行するには、次のようにします。

  1. 「Oracle Database 10gリリース2(10.2)データベースの移行」
    手順1〜11を実行します。

  2. 64ビット・コンピュータのデータベースを停止します。

    SQL> SHUTDOWN IMMEDIATE;
    
    
  3. データベースの移行を開始します。

    SQL> STARTUP MIGRATE;
    
    
  4. 『Oracle Databaseアップグレード・ガイド』の第3章「新しいリリースのOracle Database 10gへのデータベースのアップグレード」で説明されているように、データベースを移行します。

  5. データベースを停止します。

    SQL> SHUTDOWN IMMEDIATE;
    
    
  6. データベースを再起動します。

    SQL> STARTUP MOUNT;
    

戻る 次へ
Oracle
Copyright © 1996, 2008 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引