ORACLE TECHNOLOGY NETWORK
 
 
   

Oracle Technology Network (OTN) Japan - 掲示板 » データベース(R/O) » Oracle9iデータベースの部屋(読取専用)

スレッド: utl_file_dirについて

このスレッドに返信する このスレッドに返信する スレッド一覧へ スレッド一覧へ

Permlink 返信数: 7 - ページ数: 1 - 最新投稿 : 2004/06/15 18:04 最新投稿者: kitami422 - スレッド表示形式:
kitami422

投稿数: 3
登録日時: 02/04/24


utl_file_dirについて
投稿時刻: 2004/06/15 15:19
  このスレッドに返信します… 返信

初めて投稿します。

Oracle9i(9.2.0.1.0)をサーバーWin2000にインストールして
使用しています。

init.oraの一番最後に「utl_file_dir=*」と追加して再起動し、
クライアントからUTL_FILE.FOPENを使用すると

ORA-29280: 無効なディレクトリ・パスです

というエラーが出てしまいます。
何か設定方法が悪いのでしょうか?
init.oraはpfileディレクトリの下にあった「init.ora.固有の数字」
というファイルを変更しています。

※念のため過去ログを検索し
 CREATE SPFILE FROM PFILE='init.oraのフルパス';
 とやってみましたが

 ORA-32002: すでにインスタンスによって使用されているSPFILEは作成できませ
ん。

 というエラーが帰ってきてしまいました。
 ますます謎です。

khiroxj8

投稿数: 176
登録日時: 01/11/16


RE:utl_file_dirについて
投稿時刻: 2004/06/15 15:32   kitami422 さんへの返信です。 kitami422 さんへの返信です。
  このスレッドに返信します… 返信

PFILE 修正後、再起動したときSPFILE を使用しているのではないでしょうか?
そのため、PFILEに記述して、utl_file_dir パラ が有効になっていないと思われます。

startup pfile = フルパス で、再起動してみてください。

そのあとであれば、CREATE SPFILE FROM PFILE もとおると思います。



jini

投稿数: 8
登録日時: 03/09/18


RE:utl_file_dirについて
投稿時刻: 2004/06/15 15:34   kitami422 さんへの返信です。 kitami422 さんへの返信です。
  このスレッドに返信します… 返信

>初めて投稿します。
>
>Oracle9i(9.2.0.1.0)をサーバーWin2000にインストールして
>使用しています。
>
>init.oraの一番最後に「utl_file_dir=*」と追加して再起動し、
>クライアントからUTL_FILE.FOPENを使用すると
>
>ORA-29280: 無効なディレクトリ・パスです
>
>というエラーが出てしまいます。
>何か設定方法が悪いのでしょうか?
>init.oraはpfileディレクトリの下にあった「init.ora.固有の数字」
>というファイルを変更しています。
>
>※念のため過去ログを検索し
> CREATE SPFILE FROM PFILE='init.oraのフルパス';
> とやってみましたが
>
> ORA-32002: すでにインスタンスによって使用されているSPFILEは作成で
きませ
>ん。
>
> というエラーが帰ってきてしまいました。
> ますます謎です。

SQLリファレンスの「CREATE SPFILE」の箇所に以下の記述があります。

この文を実行するには、SYSDBA システム権限または
SYSOPER システム権限が必要です。
この文は、インスタンスの起動前と起動後のいずれかで実行できます。
ただし、spfile_name を使用して、インスタンスが
すでに起動済の場合は、この文で同じ
spfile_name を指定できません。

参考になりますか?

paddy

投稿数: 23
登録日時: 02/04/02


RE:utl_file_dirについて
投稿時刻: 2004/06/15 15:37   kitami422 さんへの返信です。 kitami422 さんへの返信です。
  このスレッドに返信します… 返信

> CREATE SPFILE FROM PFILE='init.oraのフルパス';
> とやってみましたが
>
> ORA-32002: すでにインスタンスによって使用されているSPFILEは作成できませ
ん。
>
> というエラーが帰ってきてしまいました。

これは、インスタンスがspfileを使用して起動されていると考えられます。
# <Oracleホームの場所>\database フォルダ下に、spfile<SID>.ora
# ファイルが存在する場合は、spfileが有効になります。

spfileで起動されている場合は、パラメータをSQL文で変更します。

ALTER SYSTEM SET utl_file_dir = "*" scope = SPFILE;

パラメータの変更が反映されているかどうかは、SQL*Plusから
SQL> show parameter
を実行するか、v$parameterビューをSELECTすると確認できます。

>init.oraはpfileディレクトリの下にあった「init.ora.固有の数字」
>というファイルを変更しています。

ちなみに、この「init.ora.固有の数字」はDBCAで作成したときに
内部的に作成されるパラメータ・ファイルみたいです。
DB作成後は参照されませんが、作成時のパラメータを思い出す程度には
役に立つかも、、と私は思ってます。(^^;

tubame

投稿数: 2
登録日時: 01/03/15


RE[1]:utl_file_dirについて
投稿時刻: 2004/06/15 16:01   paddy さんへの返信です。 paddy さんへの返信です。
  このスレッドに返信します… 返信

>
>spfileで起動されている場合は、パラメータをSQL文で変更します。
>
>ALTER SYSTEM SET utl_file_dir = "*" scope = SPFILE;
>
でも、マニュアルには、このutl_file_dirのパラメータ・クラスには
“静的”となってますよ

でで

投稿数: 9,980
登録日時: 00/10/25


RE[2]:utl_file_dirについて
投稿時刻: 2004/06/15 16:10   tubame さんへの返信です。 tubame さんへの返信です。
  このスレッドに返信します… 返信

>>spfileで起動されている場合は、パラメータをSQL文で変更します。
>>
>>ALTER SYSTEM SET utl_file_dir = "*" scope = SPFILE;
>>
>でも、マニュアルには、このutl_file_dirのパラメータ・クラスには
>“静的”となってますよ

SPFILEの変更は上記で正しいです。
その変更がインスタンスに反映されるのは、インスタンス再起動を行って
からになるというだけに過ぎません。

"動的"なパラメータをインスタンス再起動なしで反映するには、
ALTER SYSTEM SET ..... scope = memory ;
ALTER SYSTEM SET ..... scope = both ;
などとします。


hoge

投稿数: 11,812
登録日時: 99/03/15


RE[2]:utl_file_dirについて
投稿時刻: 2004/06/15 16:18   tubame さんへの返信です。 tubame さんへの返信です。
  このスレッドに返信します… 返信

>でも、マニュアルには、このutl_file_dirのパラメータ・クラスには
>“静的”となってますよ

SQL> show parameter utl_file_dir

NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
utl_file_dir string
c:\temp

SQL> alter system set utl_file_dir = * scope = spfile;

システムが変更されました。

SQL> shutdown
データベースがクローズされました。
データベースがアンマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> startup
ORACLEインスタンスが起動しました。
データベースがマウントされました。
データベースがオープンされました。

SQL> show parameter utl_file_dir

NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
utl_file_dir string
*

「SQLリファレンス」の10-32あたりが参考になるかと思います。
bothの指定はできないようですね。

SQL> alter system set utl_file_dir = * scope = both;
alter system set utl_file_dir = * scope = both
*
行1でエラーが発生しました。:
ORA-02095: 指定した初期化パラメータを変更できません。




kitami422

投稿数: 3
登録日時: 02/04/24


RE:utl_file_dirについて
投稿時刻: 2004/06/15 18:04   kitami422 さんへの返信です。 kitami422 さんへの返信です。
  このスレッドに返信します… 返信

皆さんご教授ありがとうございました。

今回は
「ALTER SYSTEM SET UTL_FILE_DIR = '*' SCOPE = SPFILE;」
で設定を変更し、データベースを再起動して
「ORA-29280: 無効なディレクトリ・パスです」
エラーが出ないようにはなりました。
(今度は「無効な操作です」というメッセージが出ましたが、
 これは別問題ですね。)

私もまだまだ勉強不足であることを痛感しました。
ありがとうございました。






ウェブサイトのご使用条件 | 個人情報保護基本方針/情報保護基本方針