<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>技術情報</title>
    <link rel="alternate" type="text/html" href="http://www.cosol.jp/tech/" />
    <link rel="self" type="application/atom+xml" href="http://www.cosol.jp/tech/../feed/tech.xml" />
    <id>tag:www.cosol.jp,2011-01-17:/tech//5</id>
    <updated>2012-02-13T11:26:30Z</updated>
    <subtitle>コーソルでは経験豊かなエンジニアが、Oracle・データベースに関するお役立ち情報を発信しています。データベースのチューニングや設定にお役立ていただけます。</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 5.06</generator>

<entry>
    <title>ORA-01843: 指定した月が無効です。</title>
    <link rel="alternate" type="text/html" href="http://www.cosol.jp/tech/detail/ot0031_ora01843.shtml#000098" />
    <id>tag:www.cosol.jp,2012:/tech//5.98</id>

    <published>2012-02-13T11:25:12Z</published>
    <updated>2012-02-13T11:26:30Z</updated>

    <summary>ORA-01843エラーとはどのようなエラーか？ ORA-01843エラーは、文...</summary>
    <author>
        <name>cosol</name>
        <uri>http://www.cosol.jp/</uri>
    </author>
    
        <category term="Oracle DB Tips" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.cosol.jp/tech/">
        <![CDATA[<h4>ORA-01843エラーとはどのようなエラーか？</h4>

<p>ORA-01843エラーは、文字列 → DATE型への型変換に失敗したときに発生するエラーです。</p>

<h4>ORA-01843エラーのエラー出力例</h4>

<pre class="prettyprint linenums">
※ NLS_DATE_FORMATの設定が"DD-MON-RR"の場合
SQL> create table TEST_DATE (col1 DATE);
SQL> insert into TEST_DATE values ('24-04-02');
insert into TEST_DATE values ('24-04-02');
                              *
行1でエラーが発生しました。:
ORA-01843: 指定した月が無効です。
</PRE>

<h4>ORA-01843の一般的な発生要因と対処</h4>
ORA-01843はData型への変換に失敗した場合に発生します。一般には以下の2つのパターンがあります。

<ul>
<li>DATE型への暗黙的変換に失敗</li>
<li>to_date関数を使用した変換で失敗</li>
</ul>

<p><br />
<h5>DATE型への暗黙的変換に失敗</h5><br />
DATE型の列を操作するSQL文で to_date関数を使用していない場合は、列の値に指定した文字列が暗黙的にDATE型に変換されます。<br />
このとき、列の値に指定した文字列が NLS_DATE_FORMAT の形式に従っていない場合にORA-01843が発生します。<br />
上記の例では、NLS_DATE_FORMAT の "MON" に相当する部分に数字が指定されているため、妥当な月名ではないと判断されORA-1843が発生しています。<br />
　※ NLS_DATE_FORMATの "MON" は月を数字(1,2,3,4など)ではなく、名前の省略形(1月,2月,3月,4月など)で表すことを意味しています。</p>

<p>このような事象を回避するには、to_date関数を使用して日付型に正しく変換された値を使用してください。</p>

<pre class="prettyprint linenums">
SQL> insert into TEST_DATE values (to_date('24-04-02','DD-MM-RR'));
1行が作成されました。
</PRE>

<h5>to_date 関数を使用した変換で失敗</h5>
to_date関数を使用したSQL文で、月に指定した文字列が指定した形式に従っていない場合や無効な値の場合にORA-01843が発生します。
以下の例では、「13」という存在しない月を指定したためにエラーが発生しています。

<pre class="prettyprint linenums">
SQL> select to_date('24-13-02','DD-MM-RR') from dual;
select to_date('24-13-02','DD-MM-RR') from dual
               *
行1でエラーが発生しました。:
ORA-01843: 指定した月が無効です。
</PRE>

<h4>ORA-01843に関するFAQ</h4>

<h5>NLS_DATE_FORMATの設定はどのように確認しますか？ </h5>
v$nls_parametersビューで確認できます。

<pre class="prettyprint linenums">
SQL> col parameter format a25
SQL> col value format a35
SQL> select * from v$nls_parameters where parameter='NLS_DATE_FORMAT';
PARAMETER                 VALUE
------------------------- -----------------------------------
NLS_DATE_FORMAT           DD-MON-RR
</PRE>

<h5>9i では正常に動作していたDATE型変換の SQL文が、10g 以降では失敗します。なぜでしょうか？ </h5>
日本語環境（NLS_DATE_LANGUAGE が JAPANESE）での "MON" の書式の取り扱いが、9i 以前と 10g 以降で異なるためです。
9i までは "MON" にアルファベットの省略形(JAN,FEB,MAR,APRなど)を使用できましたが、10g 以降では使用できません。数字と漢字での省略形(1月,2月,3月,4月など)のみ使用できます。
例えば、以下のような型変換を行う SQL文を 10g 以降の環境で実行するとエラーが発生します。

<pre class="prettyprint linenums">
SQL> insert into d_test values (to_date('24-APR-02', 'DD-MON-RR'));
insert into d_test values (to_date('24-APR-02', 'DD-MON-RR'));
                              *
行1でエラーが発生しました。:
ORA-01843: 指定した月が無効です。
</PRE>

<p>このような場合、SQL文の 'APR' の部分を '4月' の形式に修正するか、 NLS_DATE_LANGUAGE を AMERICAN に変更する等の対応が必要です。</p>

<p><br />
<h4>キーワード</h4></p>

<p>ORA-01843 ORA-1843 NLS_DATE_FORMAT<br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>ORA-00471: DBWRプロセスはエラーで終了しました。</title>
    <link rel="alternate" type="text/html" href="http://www.cosol.jp/tech/detail/ot0030_ora00471.shtml#000097" />
    <id>tag:www.cosol.jp,2012:/tech//5.97</id>

    <published>2012-02-13T11:23:54Z</published>
    <updated>2012-02-13T11:25:00Z</updated>

    <summary>ORA-00471エラーとはどのようなエラーか？ ORA-00471エラーは、D...</summary>
    <author>
        <name>cosol</name>
        <uri>http://www.cosol.jp/</uri>
    </author>
    
        <category term="Oracle DB Tips" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.cosol.jp/tech/">
        <![CDATA[<h4>ORA-00471エラーとはどのようなエラーか？</h4>

<p>ORA-00471エラーは、DBWR(データベース・ライター・プロセス)が、何らかの理由で異常終了したことをエラーです。<br />
DBWRは、データベース・バッファ・キャッシュ内の変更されたバッファをディスクに書き込むプロセスです。</p>

<h4>ORA-00471エラーのエラー出力例</h4>

<p><PRE><br />
ORA-00471:DBWRプロセスはエラーで終了しました。<br />
</PRE></p>

<h4>ORA-00471の一般的な発生要因と対処</h4>

<p>ORA-00471は例外的な状況で発生するエラーであり、一般的な発生要因はありません。<br />
ORA-00471の発生前後にORA-600 や ORA-7445 など内部エラーが発生していないか、メモリなどのOSリソースが極端に不足している状況でないかを確認してください。<br />
本エラーが発生した場合、アラートログ、トレースファイルをOracle Databaseサポート窓口に問い合わせることをお勧めします。</p>

<p><br />
<h4>ORA-00471に関するFAQ</h4><br />
<h5>ORA-00471が発生した場合データベースにどのような影響がありますか？ </h5><br />
DBWR プロセスは、DBインスタンス起動中は常時起動する必要があるプロセスです。ORA-00471 が発生してDBWR プロセスが停止すると、インスタンスも強制停止します。</p>

<p><br />
<h4>キーワード</h4></p>

<p>ORA-471 ORA-00471 DBWR データベース・ライター・プロセス DBWn<br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>LRM-00101: 不明なパラメータ名です。&apos;???&apos;</title>
    <link rel="alternate" type="text/html" href="http://www.cosol.jp/tech/detail/ot0029_lrm00101.shtml#000096" />
    <id>tag:www.cosol.jp,2012:/tech//5.96</id>

    <published>2012-02-13T11:22:21Z</published>
    <updated>2012-02-13T11:23:43Z</updated>

    <summary>LRM-00101エラーとはどのようなエラーか？ PFILE に記述された初期化...</summary>
    <author>
        <name>cosol</name>
        <uri>http://www.cosol.jp/</uri>
    </author>
    
        <category term="Oracle DB Tips" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.cosol.jp/tech/">
        <![CDATA[<h4>LRM-00101エラーとはどのようなエラーか？</h4>

<p>PFILE に記述された初期化パラメータの指定が誤っている状態で、インスタンスを起動したときに発生するエラーです。<br />
PFILEは、初期化パラメータを記載するテキスト形式の設定ファイルで、サーバーパラメータファイルの代わりに使用できます。</p>

<h4>LRM-00101エラーのエラー出力例</h4>

<p><PRE><br />
LRM-00101；unknown parameter name 'process'<br />
</PRE></p>

<h4>LRM-00101の一般的な発生要因と対処</h4>
LRM-00101は一般に以下の要因で発生します。

<ul>
<li>PFILE 使用時、初期化パラメータ名のつづりに誤りがあり、インスタンスを起動しようとした場合</li>
</ul>

<p><br />
<h5>PFILE 使用時、初期化パラメータ名のつづりに誤りがあった場合 </h5><br />
PFILEをテキストエディタなどで開き、正しいつづりに修正してください。初期化パラメータの名称は、リファレンスマニュアル 1. 初期化パラメータから確認できます。</p>

<p>なお、PFILEはデフォルトで以下のパスに配置されています。</p>

<p><PRE><br />
Linux/UNIX:  $ORACLE_HOME/dbs/init<ORACLE_SID>.ora<br />
Windows:     %ORACLE_HOME%/database/init<ORACLE_SID>.ora<br />
</PRE></p>

<p><br />
<h4>キーワード</h4></p>

<p>LRM-00101 初期化パラメータ PFILE スペルミス つづりの誤り<br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>ORA-02095: 指定した初期化パラメータを変更できません。</title>
    <link rel="alternate" type="text/html" href="http://www.cosol.jp/tech/detail/ot0028_ora02095.shtml#000095" />
    <id>tag:www.cosol.jp,2012:/tech//5.95</id>

    <published>2012-02-13T11:20:14Z</published>
    <updated>2012-02-13T11:22:01Z</updated>

    <summary>ORA-02095エラーとはどのようなエラーか？ 初期化パラメータとはインスタン...</summary>
    <author>
        <name>cosol</name>
        <uri>http://www.cosol.jp/</uri>
    </author>
    
        <category term="Oracle DB Tips" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.cosol.jp/tech/">
        <![CDATA[<h4>ORA-02095エラーとはどのようなエラーか？</h4>

<p>初期化パラメータとはインスタンスの動作を調整する設定値です。初期化パラメータを適切な値に設定することで、インスタンスの処理パフォーマンスを最適化したり、データベースの制限を変更することができます。<br />
初期化パラメータの設定変更のために、ALTER SYSTEM SET 文を実行した際、何らかの理由で設定変更ができない場合に<br />
ORA-02095エラーが発生します。</p>

<p><br />
<h4>ORA-2095エラーのエラー出力例</h4></p>

<pre class="prettyprint linenums">
SQL> alter system set sga_max_size = 700M;
alter system set sga_max_size = 700M
                 *
行1でエラーが発生しました。:
ORA-02095: 指定した初期化パラメータを変更できません。
</pre>

<h4>ORA-2095の一般的な発生要因と対処</h4>
ORA-2095は一般に以下の要因で発生します。

<ul>
<li>静的な初期化パラメータをインスタンス起動中に変更しようとした場合</li>
<li>変更が許されない初期化パラメータを変更しようとした場合</li>
</ul>

<p><br />
<h5>静的な初期化パラメータをインスタンス起動中に変更しようとした場合 </h5><br />
インスタンス起動中に動的に変更可能な初期化パラメータと、設定変更・反映にはインスタンスの再起動が必要となる静的な初期化パラメータがあります。静的な初期化パラメータをインスタンス起動中に変更しようとした場合、ORA-02095 が発生します。</p>

<p>初期化パラメータを設定するALTER SYSTEM 文の SCOPE を SPFILE に変更し、インスタンス再起動を実施してください。</p>

<pre>
 例）ALTER SYSTEM SET PROCESSES = 500 SCOPE = SPFILE; 
</pre>

<p>それぞれの初期化パラメータが、静的な初期化パラメータであるどうかはリファレンスマニュアル 1. 初期化パラメータの 「変更の可/不可」を確認してください。</p>

<h5>変更が許されない初期化パラメータを変更しようとした場合</h5>

<p>DB_BLOCK_SIZE、DB_NAME などのいくつかのパラメータはデータベース作成後変更することができません。<br />
これらの変更不可な初期化パラメータを変更しようとした場合、ORA-02095エラー が発生します。</p>

<h4>キーワード</h4>

<p>ORA-2095 ORA-02095 初期化パラメータ 静的 動的 SPFILE <br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>ORA-00472: PMONプロセスはエラーで終了しました。</title>
    <link rel="alternate" type="text/html" href="http://www.cosol.jp/tech/detail/ot0027_ora00472.shtml#000094" />
    <id>tag:www.cosol.jp,2012:/tech//5.94</id>

    <published>2012-02-13T11:18:07Z</published>
    <updated>2012-02-13T11:19:26Z</updated>

    <summary>ORA-00472エラーとはどのようなエラーか？ PMON(プロセスモニタ・プロ...</summary>
    <author>
        <name>cosol</name>
        <uri>http://www.cosol.jp/</uri>
    </author>
    
        <category term="Oracle DB Tips" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.cosol.jp/tech/">
        <![CDATA[<h4>ORA-00472エラーとはどのようなエラーか？</h4>

<p>PMON(プロセスモニタ・プロセス)が、異常終了した別のプロセスのクリーンアップに失敗したことを示すエラーです。<br />
PMONは、プロセスが異常終了したときにプロセスが実行していた処理に関する復旧処理を実行します。この処理は通常エラーなく終了するものですが、例外的に何らかの理由でクリーンアップに失敗するとORA-00472エラーが発生します。</p>

<h4>ORA-00472エラーのエラー出力例</h4>

<pre>
ORA-00472:PMON プロセスはエラーで終了しました。
</pre>

<h4>ORA-00472の一般的な発生要因と対処</h4>

<p>ORA-00472は例外的な状況で発生するエラーであり、一般的な発生要因はありません。<br />
ORA-00472の発生前後にORA-600 や ORA-7445 など内部エラーが発生していないか、メモリなどのOSリソースが極端に不足している状況でないかを確認してください。<br />
本エラーが発生した場合、アラートログ、トレースファイルをOracle Databaseサポート窓口に問い合わせることをお勧めします。</p>

<p><br />
<h4>ORA-00472に関するFAQ</h4><br />
<h5>ORA-00472が発生した場合データベースにどのような影響がありますか？ </h5><br />
PMON プロセスは、DBインスタンス起動中は常時起動する必要があるプロセスです。ORA-00472 が発生してPMON プロセスが停止すると、インスタンスも強制停止します。</p>

<h4>キーワード</h4>

<p>ORA-472 ORA-00472 PMON データベース・ライター・プロセス PMON<br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>ORA-00020: 最大プロセス数：(???)を超えました</title>
    <link rel="alternate" type="text/html" href="http://www.cosol.jp/tech/detail/ot0026_ora00020.shtml#000093" />
    <id>tag:www.cosol.jp,2012:/tech//5.93</id>

    <published>2012-02-13T11:16:04Z</published>
    <updated>2012-02-13T11:17:48Z</updated>

    <summary>ORA-00020エラーとはどのようなエラーか？ 起動しているプロセス数が初期化...</summary>
    <author>
        <name>cosol</name>
        <uri>http://www.cosol.jp/</uri>
    </author>
    
        <category term="Oracle DB Tips" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.cosol.jp/tech/">
        <![CDATA[<h4>ORA-00020エラーとはどのようなエラーか？</h4>

<p>起動しているプロセス数が初期化パラメータ PROCESSES の値に達した場合に発生するエラーです。<br />
初期化パラメータ PROCESSES は起動できるプロセス数の上限を設定するパラメータです。</p>

<h4>ORA-00020エラーのエラー出力例</h4>

<pre>
ORA-00020: ORA-00020 最大プロセス数：(150)を超えました 
</pre>

<p>()の中の数値は現在の PROCESSES の値を表示しており、起動しているプロセス数が上限値に達したことを示しています。</p>

<p><br />
<h4>ORA-00020の一般的な発生要因と対処</h4></p>

<p>通常、アプリケーション処理を実行するために必要なプロセス数に比べて、初期化パラメータPROCESSESの値が小さいために発生します。<br />
また、リスナー経由のリモート接続の場合、リスナーログにTNS-12518が記録されます。</p>

<p>PROCESSES の値を増やすことでORA-00020エラーの発生を回避することできますが、起動されるプロセスの数が増えることが予想されるため、OSリソースの観点から問題がないかどうかを継続的に監視してください。</p>

<h4>ORA-00020に関するFAQ</h4>

<h5>現在の起動プロセスの数を調べる方法はありますか?</h5>

<p>V$RESOURCE_LIMIT の CURRENT_UTILIZATION を確認することで現在の起動しているプロセス数を確認することができます。過去の履歴を参照するためには DBA_HIST_RESOURCE_LIMIT の CURRENT_UTILIZATION を確認してください。</p>

<h4>キーワード</h4>

<p>ORA-20 ORA-00020 TNS-12518 ORA-12518 V$RESOURCE_LIMIT DBA_HIST_RESOURCE_LIMIT<br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>ORA-20000:(ユーザー定義例外)</title>
    <link rel="alternate" type="text/html" href="http://www.cosol.jp/tech/detail/ot0025_ora20000.shtml#000092" />
    <id>tag:www.cosol.jp,2012:/tech//5.92</id>

    <published>2012-02-13T11:13:15Z</published>
    <updated>2012-02-13T11:15:36Z</updated>

    <summary>ユーザー定義例外を示すORA-20000エラーについて説明します。 ORA-20...</summary>
    <author>
        <name>cosol</name>
        <uri>http://www.cosol.jp/</uri>
    </author>
    
        <category term="Oracle DB Tips" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.cosol.jp/tech/">
        <![CDATA[<p>ユーザー定義例外を示すORA-20000エラーについて説明します。</p>

<h4>ORA-20000エラーとはどのようなエラーか？</h4>

<p>PL/SQL を使用したプログラムにおいて、ユーザーによって定義された例外(エラー)が発生したことを示します。<br />
なお、ユーザーが指定可能なエラーコードは ORA-20000 ～ ORA-20999 の範囲に限定されています。</p>

<h4>ORA-20000エラーのエラー出力例</h4>

<pre class="prettyprint linenums">
SQL> begin
  2    RAISE_APPLICATION_ERROR(-20000, '明示的に発生させたエラーです。');
  3  end;
  4  /
begin
*
行1でエラーが発生しました。:
<b>ORA-20000: 明示的に発生させたエラーです。</b>
ORA-06512: 行2
</pre>

<h4>ORA-20000の一般的な発生要因と対処</h4>
ORA-20000は一般に以下の要因で発生します。

<ul>
<li>ユーザーが定義した例外(エラー)</li>
<li>Oracle組み込みパッケージによる例外(エラー)</li>
</ul>

<p><br />
<h5>ユーザーが定義した例外(エラー)</h5></p>

<p>ユーザーが定義した例外(エラー)のエラーコード、およびエラーメッセージから理由を判断します。<br />
そのため、メッセージからエラーが発生した理由が確認できるよう、プログラムを作成することが重要です。</p>

<h5>Oracle組み込みパッケージによる例外(エラー)</h5>

<p>Oracleが提供している一部の組み込みパッケージでは、ORA-20000により例外(エラー)が通知されるケースがあります。<br />
この場合、メッセージの内容を確認し、エラーの発生原因を確認します。</p>

<pre class="prettyprint linenums">
SQL> set serveroutput on size 2000
SQL> declare
  2    message VARCHAR2(4000);
  3  begin
  4    for i in 1 .. 4000 loop
  5      message := message || '0';
  6    end loop;
  7    DBMS_OUTPUT.PUT_LINE(message);
  8  end;
  9  /
declare
*
行1でエラーが発生しました。:
<b>ORA-20000: ORU-10027: buffer overflow, limit of 2000 bytes</b>
ORA-06512: "SYS.DBMS_OUTPUT", 行32
ORA-06512: "SYS.DBMS_OUTPUT", 行97
ORA-06512: "SYS.DBMS_OUTPUT", 行112
ORA-06512: 行7
</pre>
※一行で出力可能なバイト数(この例では2000バイト)をオーバーしたことを示す、エラーメッセージが出力されています。

<h4>ORA-20000に関するFAQ</h4>

<h5>Oracle組み込みパッケージでORA-20000が発生しましたが、発生原因がわかりません。</h5>

<p>マニュアルにエラーの発生原因、対処方法が記載されているケースもありますので、まずはマニュアルの確認が必要です。<br />
マニュアルからも発生原因が確認できない場合、Oracle カスタマー・サポートに問い合わせすることを検討してください。</p>

<h4>キーワード</h4>

<p>ORA-20000 ORA-20999 ユーザー定義例外 RAISE_APPLICATION_ERROR PL/SQL<br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>ORA-00933: SQLコマンドが正しく終了されていません</title>
    <link rel="alternate" type="text/html" href="http://www.cosol.jp/tech/detail/ot0024_ora00933.shtml#000091" />
    <id>tag:www.cosol.jp,2012:/tech//5.91</id>

    <published>2012-02-13T11:10:24Z</published>
    <updated>2012-02-13T11:19:58Z</updated>

    <summary>ORA-00933エラーとはどのようなエラーか？ ORA-00933は、SQL文...</summary>
    <author>
        <name>cosol</name>
        <uri>http://www.cosol.jp/</uri>
    </author>
    
        <category term="Oracle DB Tips" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.cosol.jp/tech/">
        <![CDATA[<h4>ORA-00933エラーとはどのようなエラーか？</h4>

<p>ORA-00933は、SQL文の終端に;以外の記号が書かれており、正常なSQLと見なされない場合に発生するエラーです。</p>

<p><br />
<h4>ORA-00933エラーのエラー出力例</h4></p>

<p><PRE><br />
SQL> select * from emp 123 where empno=1;<br />
                       *<br />
ERROR at line 1:<br />
ORA-00933: SQLコマンドが正しく終了されていません<br />
    <br />
SQL> select * from emp:;<br />
select * from emp:<br />
                 *<br />
ERROR at line 1:<br />
ORA-00933 SQLコマンドが正しく終了されていません<br />
</PRE></p>

<h4>ORA-00933の一般的な発生要因と対処</h4>
ORA-00933は、SQLの書き方、終え方が正しくない場合に発生します。

<p>一般的なORA-00933エラーの発生原因は以下のとおりです。</p>

<ul>
<li> SQLの書き方：テーブル名の別名に数字で始まる名前を付与している。
<li>SQL文の終端前後に;(セミコロン)以外の不要なものが指定されている。(:や,など)
</ul>

<p>SQLが適切に書かれているか、確認してください。</p>

<p><li>OracleのBug</li><br />
SQL文に間違いが無いにもかかわらず、ORA-00933が発生する場合、Oracle Bugの可能性もあります。<br />
以下の情報を添えて、Oracleのサポートへ確認を行ってください。</p>

<ul>
<li>使用しているOracleバージョン</li>
<li>使用しているOS、ビット数</li>
<li>該当のSQL全文</li>
<li>SQL文実行結果</li>
<li>alertログ</li>
<li>トレースログ(出力されていれば)</li>
</ul>

<p><br />
<h4>キーワード</h4></p>

<p>ORA-00933 ORA-933 SQL文 終端 SQLコマンド SQL command not properly ended<br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>ORA-00900: SQL文が無効です。</title>
    <link rel="alternate" type="text/html" href="http://www.cosol.jp/tech/detail/ot0023_ora00900.shtml#000090" />
    <id>tag:www.cosol.jp,2012:/tech//5.90</id>

    <published>2012-02-13T11:09:13Z</published>
    <updated>2012-02-13T11:10:10Z</updated>

    <summary>ORA-00900エラーとはどのようなエラーか？ ユーザーが発行したSQLが有効...</summary>
    <author>
        <name>cosol</name>
        <uri>http://www.cosol.jp/</uri>
    </author>
    
        <category term="Oracle DB Tips" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.cosol.jp/tech/">
        <![CDATA[<h4>ORA-00900エラーとはどのようなエラーか？</h4>

<p>ユーザーが発行したSQLが有効でない場合、ORA-00900エラーが発生します。</p>

<h4>ORA-00900の一般的な発生要因と対処</h4>
ORA-00900は一般に以下の要因で発生するため適切な対処を行ってください。

<ul>
<li>SQL文の引用符が欠落している</li>
<li>SQL文のカッコが閉じられていない</li>
<li>SQL文以外の構文に対するコール（EXECUTE SCHEMA.PACKAGE.PROC(PARAM1, PARAM2)という構文を使用したストアド・プロシージャへのコールなど）</li>
<li>PL/SQL(Procedual Option)がインストールされていない</li>
</ul>

<p><br />
<h4>キーワード</h4></p>

<p>ORA-900 ORA-00900 PL/SQL CREATE PROCEDURE invalid SQL statement インタフェース<br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>ORA-28000: アカウントがロックされています</title>
    <link rel="alternate" type="text/html" href="http://www.cosol.jp/tech/detail/ot0020_ora28000.shtml#000086" />
    <id>tag:www.cosol.jp,2012:/tech//5.86</id>

    <published>2012-01-31T10:15:07Z</published>
    <updated>2012-02-01T04:43:41Z</updated>

    <summary>ORA-28000エラーとはどのようなエラーか？ ユーザーのアカウントがロックさ...</summary>
    <author>
        <name>cosol</name>
        <uri>http://www.cosol.jp/</uri>
    </author>
    
        <category term="Oracle DB Tips" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.cosol.jp/tech/">
        <![CDATA[<h4>ORA-28000エラーとはどのようなエラーか？</h4>

<p>ユーザーのアカウントがロックされている状態で、インスタンスへの接続を実行するとORA-28000エラーが発生します。</p>

<h4>ORA-28000エラーのエラー出力例</h4>

<p>SQL*Plusで接続する場合:<br />
<pre><br />
SQL> connect test/test<br />
ERROR:<br />
ORA-28000: アカウントがロックされています。<br />
</pre></p>

<h4>ORA-28000の一般的な発生要因と対処</h4>
ORA-28000は一般に以下の要因で発生します。

<ul>
<li>プロファイルに指定されているログイン試行失敗の回数の上限(FAILED_LOGIN_ATTEMPTS)を超えて誤ったパスワードを入力した</li>
<li>データベース管理者(DBA)がアカウントをロックした</li>
</ul>

<p><br />
<h5>プロファイルに指定されているログイン試行失敗回数の上限(FAILED_LOGIN_ATTEMPTS)を超えて誤ったパスワードを入力した</h5><br />
誤ったパスワードで複数の端末もしくは複数回、ログインを施行した可能性があります。<br />
パスワードの大文字/小文字の区別される設定にて、パスワードの記述に大文字/小文字が混在するアプリケーションからの接続でロックされる可能性があります。</p>

<ul>
<li>正しいパスワードの周知</li>
<li>パスワードの記述の統一</li>
<li>パスワードの大文字/小文字の区別の無効化(SEC_CASE_SENSITIVE_LOGON)</li>
<li>ログイン試行失敗回数の上限の拡大(FAILED_LOGIN_ATTEMPTS)</li>
</ul>

<h5>データベース管理者(DBA)がアカウントをロックした</h5>
セキュリティ上の配慮から、ユーザーの接続を拒否するため、ユーザーデータベース管理者が明示的にアカウントをロックする場合があります。このような場合は、データベース管理者に連絡し、アカウントのロックを解除してもらってください。

<p>なお、パスワードを繰り返しミスしたために、アカウントがロックされた場合は、プロファイルのアカウントロック期間(PASSWORD_LOCK_TIME)で指定された時間が経過すると、アカウントは使用可能になります。</p>

<p>以下のコマンドでアカウントのロック、ロック解除できます。</p>

<pre>
アカウントのロック:  ALTER USER <ユーザ名> ACCOUNT LOCK;
アカウントのロック解除: ALTER USER <ユーザ名> ACCOUNT UNLOCK;
</pre>

<h4>ORA-28000に関するFAQ</h4>

<h5>ロックされているアカウントは分かりますか? </h5>
DBA_USERSビューから、ロックされているアカウント、ロックされた日時を確認できます。

<pre class="prettyprint linenums">
select username , to_char(lock_date,'HH24:MI:SS'), account_status from dba_users;
</pre>

<h5>ORA-28000は、どのような場合に発生する可能性が考えられますか? </h5>
定期的なパスワード変更に伴う、情報周知の漏れ、アプリケーションや監視機能などの修正漏れ などが要因として挙げられます。
また、旧バージョンからOracle11gへのバージョンアップに伴って発生するケースもございます。
※Oracle11gより、パスワードの大文字/小文字の区別が可能である為

<h4>キーワード</h4>

<p>ORA-28000 アカウント ロック FAILED_LOGIN_ATTEMPTS <br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>ORA-27101: shared memory realm does not exist</title>
    <link rel="alternate" type="text/html" href="http://www.cosol.jp/tech/detail/ot0019_ora27101.shtml#000085" />
    <id>tag:www.cosol.jp,2012:/tech//5.85</id>

    <published>2012-01-31T10:14:16Z</published>
    <updated>2012-01-31T10:19:02Z</updated>

    <summary>ORA-27101エラーとはどのようなエラーか？ Oracle Database...</summary>
    <author>
        <name>cosol</name>
        <uri>http://www.cosol.jp/</uri>
    </author>
    
        <category term="Oracle DB Tips" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.cosol.jp/tech/">
        <![CDATA[<h4>ORA-27101エラーとはどのようなエラーか？</h4>

<p>Oracle Databaseの主要な構成要素の1つに、SGAと呼ばれるメモリ領域があり、UNIXの共有メモリとして実装されています。<br />
Oracle Database関連の全てのプロセスは共有メモリにアクセスできる必要がありますが、<br />
共有メモリにアクセスに失敗した場合にORA-27101エラーが発生します。</p>

<h4>ORA-27101エラーのエラー出力例</h4>

<pre class="prettyprint linenums">
SQL> connect scott/tiger
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
プロセスID: 0
セッションID: 0、シリアル番号: 0
</pre>

<h4>ORA-27101の一般的な発生要因と対処</h4>
ORA-27101は一般に以下の要因で発生します。

<ul>
<li>インスタンスが起動していない</li>
<li>環境変数 ORACLE_SID が誤っている</li>
</ul>

<p><br />
<h5>インスタンスが起動していない </h5></p>

<p>インスタンスが起動していない状態で、一般ユーザでインスタンスへの接続を実行するとORA-27101エラーが発生します。<br />
SQL*Plus からSYSユーザでSYSDBA接続を行い、startup コマンドでインスタンスを起動してから、再度接続を試みてください。</p>

<h5>環境変数 ORACLE_SID が誤っている </h5>

<p>一般ユーザでローカル接続を行う場合、環境変数 ORACLE_SID が正しい設定でないとORA-27101エラーが発生します。<br />
意図した ORACLE_SID が設定されているか確認のうえ接続を行ってください。</p>

<h4>ORA-27101に関するFAQ</h4>

<h5>インスタンスが nomount  や mount の場合でも ORA-27101エラー が発生しますか？ </h5>
インスタンスが nomount/mount で起動している場合には ORA-01033エラーが発生します。
ORA-27101エラーが発生している場合には、意図せずインスタンスが停止している状況も考えられます。

<h4>キーワード</h4>

<p>ORA-27101 ORA-01034 ORA-1034 ORACLE_SID ORA-01033 ORA-1033<br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>ORA-12545/TNS-12545: ターゲット・ホストまたはオブジェクトが存在しないため、接続に失敗しました </title>
    <link rel="alternate" type="text/html" href="http://www.cosol.jp/tech/detail/ot0017_ora12545.shtml#000084" />
    <id>tag:www.cosol.jp,2012:/tech//5.84</id>

    <published>2012-01-31T10:12:45Z</published>
    <updated>2012-01-31T10:19:27Z</updated>

    <summary>ORA-12545エラーとはどのようなエラーか？ クライアントからOracleデ...</summary>
    <author>
        <name>cosol</name>
        <uri>http://www.cosol.jp/</uri>
    </author>
    
        <category term="Oracle DB Tips" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.cosol.jp/tech/">
        <![CDATA[<h4>ORA-12545エラーとはどのようなエラーか？</h4>

<p>クライアントからOracleデータベースに接続する際に、接続先ホスト名の解決に失敗した時に発生するエラーです。<br />
また、接続先ホストに oracle の実行ファイルが存在しない場合にも、このエラーが発生します。</p>

<h4>ORA-12545の一般的な発生要因と対処</h4>

<p>ORA-12545は一般に以下の要因で発生します。</p>

<ul>
<li>ホスト名が解決できない</li>
<li>ORACLE_HOME、ORACLE_SID環境変数が正しく設定されていない</li>
<li>oracle 実行ファイルが存在しない</li>
</ul>

<h5>ホスト名が解決できない</h5>

<p>tnsnames.ora や listener.ora の ADDRESS 句に記載されたホスト名を正しく名前解決できない場合にORA-12545が発生します。</p>

<p>以下のいずれかの対処を行ってください。</p>

<ul>
<li>DNS等ネットワークの設定を変更し、ホスト名を正しく名前解決できるようにする</li>
<li>クライアントの hosts ファイルに、ホスト名とIPアドレスのエントリを追加する</li>
<li>tnsnames.ora、listener.ora に、ホスト名の代わりにIPアドレスを設定する</li>
</ul>

<h5>ORACLE_HOME、ORACLE_SID環境変数が正しく設定されていない</h5>

<p>ローカル接続時に、ORACLE_HOME が正しく設定されていなかったり、ORACLE_SID が設定されていない場合に、ORA-12545が発生することがあります。</p>

<p>この場合は、ORACLE_HOME、ORACLE_SID を正しく設定しなおしてから操作を再試行してください。</p>

<h5>oracle 実行ファイルが存在しない</h5>

<p>UNIX系OSの場合、oracle 実行ファイルが正しくリンクされていない時に、ORA-12545が発生することがあります。</p>

<p>このような場合は、oracle 実行ファイルを再リンクしてください。</p>

<pre class="prettyprint linenums">
% cd $ORACLE_HOME/rdbms/lib
% make -f ins_rdbms.mk ioracle
</pre>

<p><br />
<h4>キーワード</h4></p>

<p>ORA-12545 TNS-12545 名前解決 <br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>ORA-01034: Oracleは使用できません。</title>
    <link rel="alternate" type="text/html" href="http://www.cosol.jp/tech/detail/ot0008_ora01034.shtml#000083" />
    <id>tag:www.cosol.jp,2012:/tech//5.83</id>

    <published>2012-01-31T04:10:58Z</published>
    <updated>2012-02-01T04:52:36Z</updated>

    <summary>ORA-01034エラーとはどのようなエラーか？ ORA-01034は、接続先の...</summary>
    <author>
        <name>cosol</name>
        <uri>http://www.cosol.jp/</uri>
    </author>
    
        <category term="Oracle DB Tips" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.cosol.jp/tech/">
        <![CDATA[<h4>ORA-01034エラーとはどのようなエラーか？</h4>

<p>ORA-01034は、接続先のインスタンスが使用できないことを示すエラーです。<br />
インスタンスが存在するノードと同一のノードからインスタンスに接続する方式をローカル接続と呼びます。<br />
ローカル接続を実行したとき、接続先のインスタンスが停止しているか、または環境変数ORACLE_SIDの指定が誤っている場合に、ORA-01034エラーが発生します。</p>

<h4>ORA-01034エラーのエラー出力例</h4>

<pre>
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
</pre>

<p>ORA-01034エラーに付随して出力されるエラー（上記例ではORA-27101）は、ORA-01034エラーの発生原因を示すエラーとなります。</p>

<h4>ORA-01034の一般的な発生要因と対処</h4>
ORA-01034は一般に以下の要因で発生します。

<ul>
<li>接続先インスタンスが起動していない状態で、ローカル接続を実行した</li>
<li>環境変数ORACLE_SIDに誤った値を設定して、ローカル接続を実行した</li>
</ul>

<p><br />
<h5>接続先インスタンスが起動していない状態で、ローカル接続を実行した</h5><br />
ORA-01034発生時に環境変数ORACLE_SIDで指定したデータベースインスタンスが起動していない場合、接続先のインスタンスが使用できないため ORA-01034 は発生します。<br />
接続先のインスタンス起動後に再度接続を行うことで、ORA-01034 エラーの発生を回避することができます。</p>

<h5>環境変数ORACLE_SIDに誤った値を設定して、ローカル接続を実行した</h5>
ローカル接続では、環境変数 ORACLE_SID に指定しているインスタンスに接続を行います。ORACLE_SID に設定するSIDが誤っている場合、正しいSIDのインスタンスへ接続を行うことができないため、ORA-01034エラーが発生します。
正しいSIDを設定することでORA-01034エラーの発生を回避することができます。

<h4>ORA-01034に関するFAQ</h4>

<h5>同様の状況で「アイドル・インスタンスに接続しました。」が出力される理由は？</h5>
接続先のインスタンスが停止している場合や、接続しようとしたSIDの指定が誤っている状態で、SYSDBA権限を持つユーザーでインスタンスに接続した場合は、「アイドル・インスタンスに接続しました。」というメッセージが表示されます。

<p>データベースを起動する場合、SYSDBA権限をもつユーザーでインスタンスに接続することが必要です。この場合はインスタンスが起動していないことが明らかなので、エラーを表示するのではなく「アイドル・インスタンスに接続しました。」というメッセージを出力する仕様となっています。<br />
SIDの指定が誤っている場合も、誤ったSIDに対応するインスタンスが起動していないため、同じメッセージが表示されます。ただし、誤ったSIDに対応する初期化パラメータファイルが存在しないため、実際にはstartupコマンドを実行してもインスタンスを起動できません。</p>

<h4>キーワード</h4>

<p>ORA-1034 ORA-01034 SID ORACLE_SID 識別子 ORA-27101<br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>ORA-00001: 一意制約(??.??)に反しています</title>
    <link rel="alternate" type="text/html" href="http://www.cosol.jp/tech/detail/ot0001_ora00001.shtml#000067" />
    <id>tag:www.cosol.jp,2012:/tech//5.67</id>

    <published>2012-01-31T01:00:00Z</published>
    <updated>2012-01-31T04:06:14Z</updated>

    <summary>ORA-00001エラーとはどのようなエラーか？ 表の列（または複数の列）に対し...</summary>
    <author>
        <name>cosol</name>
        <uri>http://www.cosol.jp/</uri>
    </author>
    
        <category term="Oracle DB Tips" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.cosol.jp/tech/">
        <![CDATA[<h4>ORA-00001エラーとはどのようなエラーか？</h4>

<p>表の列（または複数の列）に対して、一意制約（ユニークキー制約）と呼ばれる、データの一意性を保証する制約を設定することができます。一意制約（ユニークキー制約）が設定された場合、表の列（または複数の列）に重複したデータを格納することができません。<br />
一意制約が設定されている列（または複数の列）に対して、重複したデータをINSERTしようとしたとき、または重複したデータにUPDATEしようとしたときに、ORA-00001エラーが発生します。</p>

<p>また、主キー制約（プライマリキー制約）には、一意制約（ユニークキー制約）と同じくデータの一意性を保証する機能があり、同様な状況でORA-00001エラーが発生します。</p>

<h4>ORA-00001エラーのエラー出力例</h4>

<pre>
ORA-00001: 一意制約(XXXXX.SYS_CXXXXX)に反しています
</pre>

<h4>ORA-00001の一般的な発生要因と対処</h4>
ORA-00001は一般に以下の要因で発生します。

<ul>
<li>重複したデータをINSERTしようとしたとき</li>
<li>重複したデータにUPDATEしようとしたとき</li>
</ul>

<p>一意制約が付与された列（また複数の列）について重複しないように格納する値を変更してください。<br />
そもそも列に対して一意性が不要な場合は、索引の一意制約を削除してください。</p>

<h4>ORA-00001の原因となったデータを特定する例 </h4>

<p>INSERT INTO A SELECT * FROM B; などの大量データを一度に処理する場合にORA-00001エラーが発生したとき、原因となるデータの特定が困難な場合があります。<br />
このような場合、DBMS_ERRLOG(*1) パッケージ（Oracle 10g Release2より） と LOG ERRORS 句を使用することでエラーの発生する原因レコードデータをロギングすることができます。ロギングにはDBMS_ERRLOG を使い、テーブル単位に手動でログ用テーブルを作成する必要があります。</p>

<p><small> (*1) DBMS_ERRLOGパッケージの詳細はマニュアルをご確認ください。 </small></p>

<p><br />
<h5>INSERT文を実行した結果、ORA-00001が発生</h5></p>

<pre class="prettyprint linenums">
SQL> CREATE TABLE TRANS (
2    ITEM   VARCHAR(10),
3    NUM    NUMBER
4  );
表が作成されました。
  
SQL> CREATE TABLE MASTER (
2    ITEM   VARCHAR(10) PRIMARY KEY, /* プライマリキー */
3    NUM    NUMBER
4  );
表が作成されました。
  
SQL> INSERT INTO TRANS VALUES ('A', 10);
1行が作成されました。
  
SQL> INSERT INTO TRANS VALUES ('A', 20);
1行が作成されました。
  
SQL> INSERT INTO TRANS VALUES ('B', 30);
1行が作成されました。
  
SQL> INSERT INTO TRANS VALUES ('B', 40);
1行が作成されました。
  
SQL> INSERT INTO MASTER SELECT * FROM TRANS;
INSERT INTO MASTER SELECT * FROM TRANS
*
行1でエラーが発生しました。:
ORA-00001: 一意制約(XXXXX.SYS_CXXXXX)に反しています
</pre>  

<h5> DBMS_ERRLOG パッケージと LOG ERRORS 句を使用して問題のデータをロギング</h5>

<p>以下にDBMS_ERRLOG を使用して問題のデータを特定した例を示します。</p>

<pre class="prettyprint linenums">
SQL> exec dbms_errlog.create_error_log('master');
  
PL/SQLプロシージャが正常に完了しました。
SQL> desc err$_master
名前                                      NULL?    型
----------------------------------------- -------- ----------------------------
ORA_ERR_NUMBER$                                    NUMBER
ORA_ERR_MESG$                                      VARCHAR2(2000)
ORA_ERR_ROWID$                                     ROWID
ORA_ERR_OPTYP$                                     VARCHAR2(2)
ORA_ERR_TAG$                                       VARCHAR2(2000)
ITEM                                               VARCHAR2(4000)
NUM                                                VARCHAR2(4000)
  
-- LOG ERRORS REJECT LIMIT UNLIMITED エラー発生箇所をすべてロギングします。
  
SQL> insert into master select * from trans LOG ERRORS REJECT LIMIT UNLIMITED;
  
2行が作成されました。
  
SQL> select * from master;
  
ITEM              NUM
---------- ----------
A                  10
B                  30
  
SQL> select item, num, ora_err_mesg$ from err$_master;
  
ITEM     NUM      ORA_ERR_MESG$
-------- -------- ------------------------------------------------------------
A        20       ORA-00001: 一意制約(XXXXX.SYS_CXXXXX)に反しています
B        40       ORA-00001: 一意制約(XXXXX.SYS_CXXXXX)に反しています
  
-- ORA-00001エラーとなる2レコードがロギングされています。

</pre>
 
<small> * 調査終了後、DROP TABLE err$_master; を実行してロギング用テーブルを削除して下さい。</small>

<h4>キーワード</h4>

<p>ORA-1 ORA-00001 キー重複 重複 一意制約違反 重複データ特定<br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>ORA-00439: 機能は有効ではありません: ??</title>
    <link rel="alternate" type="text/html" href="http://www.cosol.jp/tech/detail/ot0002_ora00439.shtml#000068" />
    <id>tag:www.cosol.jp,2012:/tech//5.68</id>

    <published>2012-01-31T01:00:00Z</published>
    <updated>2012-01-31T10:22:31Z</updated>

    <summary>ORA-439エラーとはどのようなエラーか？ Oracle Databaseには...</summary>
    <author>
        <name>cosol</name>
        <uri>http://www.cosol.jp/</uri>
    </author>
    
        <category term="Oracle DB Tips" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.cosol.jp/tech/">
        <![CDATA[<h4>ORA-439エラーとはどのようなエラーか？</h4>

<p>Oracle Databaseには様々な機能がありますが、インストール時の構成によっては全ての機能を使用できる訳ではありません。機能が有効となっていない状態で、その機能を使用した場合、ORA-00439エラーが発生します。</p>

<h4>ORA-00439エラーのエラー出力例</h4>

<pre>
    ORA-00439: 機能は有効ではありません: Database resource manager
</pre>
エラーの数値、引数の意味は以下のとおりです。

<pre>
    Database resource manager   使用したが有効となっていない機能の名称
</pre>

<h4>ORA-00439の一般的な発生要因と対処</h4>
ORA-00439は一般に以下の要因で発生します。

<ul>
<li>Enterprise Editionでなければ使用できない機能を、Standard Editionで使用した</li>
<li>有償オプションを導入しなければ使用できない機能を、導入していない環境で使用した</li>
<li>OracleのBug</li>
</ul>

<p><br />
<h5>Enterprise Editionでなければ使用できない機能を、Standard Editionで使用した </h5></p>

<p>Enterprise Editionで提供されている機能をStandard Editionで使用した場合、ORA-00439エラーが出力されます。<br />
例えば、下記の機能が挙げられます。</p>

<ul>
<li>Database resource manager</li>
<li>Flashback Table</li>
<li>Bit-mapped indexes</li>
<li>初期化パラメータのLOG_ARCHIVE_DEST_n(*1)</li>
</ul>

<p>この場合の対処策は、Enterprise Editionを導入するか、当該機能を使用しないこととなります。</p>

<p><br />
<small>(*1)DBCA(DataBase Configuration Assistant)でデータベース構築時にアーカイブログモードを指定すると、LOG_ARCHIVE_DEST_n(nは有限個の数字)が使われます。Oracle9i Release2以前には、当該パラメータはEnterprise Editionのみ使用可能であったため、ORA-00439エラーが出力されます。</small></p>

<h5>有償オプションを導入しなければ使用できない機能を、導入していない環境で使用した</h5>

<p>Oracle Database Enterprise Editionの機能を拡張するためにオプションを追加することができます（有償）。<br />
オプションを導入していない環境で、オプションの機能を使用した場合、ORA-00439エラーが出力されます。<br />
例えば、下記機能が挙げられます。</p>

<ul>
<li>Partitioning</li>
<li>Label Secutiry</li>
<li>OLAP</li>
</ul>

<p>対処策は、有償オプションを導入するか、当該機能を使用しないこととなります。</p>

<h5>OracleのBug</h5>

<p>PSR(Patch Set Release)等のパッチを適用した場合、Standard Editionとして導入した環境のファイルがEnterprise Edition用のファイルに置き換わってしまう問題が過去に報告されています。そういった事象に気付かずに処理を実施することで、ORA-00439エラーが出力される場合もあります。<br />
Editionの差異や有償オプションの有無等、実行環境と実行内容に相違がなければ、前後に出力されているエラーや出力された状況をOracle Databaseのサポート窓口に提示して、調査を依頼してください。</p>

<h4>ORA-00439に関するFAQ</h4>

<h5>Enterprise Editionを導入すればORA-00439エラーの発生を回避できますか？</h5>

<p>Enterprise Editionの機能を使用した結果ORA-00439エラーが発生していた場合は、Enterprise Editionを導入すればエラー発生を回避できます。しかし、Standard Editionを選択してインストールした製品を、Enterprise Editionに直接変更することはできないため、一旦製品を削除してからEnterprise Editionを導入する必要があります。<br />
このため、作業を実行するときは、データベースのバックアップを取得されることを強くお勧めします。</p>

<h5>有償オプションを導入すればORA-00439エラーの発生を回避できますか？</h5>

<p>有償オプションの機能を使用した結果、ORA-00439エラー発生していた場合には、有償オプションを導入すればエラー発生を回避できます。<br />
このとき、既存の環境にPSR等のパッチを適用していた場合、有償オプション導入後にパッチを再適用する必要があることに注意してください。</p>

<h4>キーワード</h4>
ORA-00439 ORA-0439 ORA-439 LOG_ARCHIVE_DEST feature not enabled 機能は使用可能ではありません
]]>
        
    </content>
</entry>

</feed>

