web-dev-qa-db-ja.com

Oracleスプールの場所

一部のパッケージのDDLをスプールするためにSQLDeveloperを使用していますが、サーバーがスプールしている場所を特定できません。 OracleはAIXにインストールされていますが、OSへの接続に使用しているユーザーがわかりません。

基本的に、私が実行すると:

spool test.lst

select 1 from dual;

spool off

コンソールに確認メッセージが表示されます

1                      
---------------------- 
1          

パスを指定しようとすると、おそらくユーザー権限が原因でエラーが発生します。

spool /tmp/test.lst
select 1 from dual;
spool off


Cannot create SPOOL file /tmp/test.lst 
1                      
---------------------- 
1             

だから私の質問はtest.lstはどこにあるのですか?

9
Vlad Cozma

スプールはクライアントアクティビティであり、サーバーアクティビティではありません。 .lstファイルは、接続先のデータベースが存在するサーバーではなく、SQLDeveloperが存在するマシン上に作成されます。

Windows7およびSQLDeveloper 3.1では、デフォルトでは、.lst%APPDATA%\Sql Developer\に格納しているようです。

特定のディレクトリにスプールできます。 spool c:\windows\temp\test.lstであり、設定している場合はspool \\<aix-server>\<dir>\test.lstのようなものを使用できます。もちろん、パスはクライアントOSによって異なります。

14
Alex Poole

私のLINUXインストールでは、デフォルトのスプールディレクトリはsqlplusを実行している場所です。すなわち。書き込み権限がないディレクトリからsqlplusを実行すると、失敗します。

「!」と入力してみてくださいまたは、sqlplusプロンプトで「ホスト」を選択してOSに移動します。 pwdディレクトリが最終的に配置され、これがスプールの場所だと思います。

(sqlplusに戻るにはexitと入力します)

0
OraNob