• ベストアンサー

トレースファイルの削除スクリプト

trcファイルを削除する(n日分削除する)スクリプトを作成したいのですが、オラクルユーザにならないと /u01/oracle/diag/rdbms配下へアクセスできません。 スクリプトで(ルートユーザでない)ここのディレクトリへアクセスさせるには何か方法はないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

No1 , No3です。 何度もスミマセン。 >ログ出力先をオラクル外へ変更する場合、オラクルを止なくても全く問題ないでしょうでしょうか?また一般論でかまいませんが、trcログはオラクルhome外へ出力しておくのが良いのでしょうか?メンテナンス的にも楽なんですが。。 Oracleを停止しなくても変更可能です。 詳細はOracleのマニュアルの"ALTER SYSTEM"を参照してください。 次ですが、アラートログやトレースログ等は、容量が増えていく=ディスクを圧迫していくので、システム系以外の別なディスクに格納するのが絶対です。 でないと、システムディスクがパンクし、最悪システムダウンになりかねませんので。 また、当然ですが、そういったログの中には機密情報等が含まれる可能性がありますので、一般ユーザに教えない・見えないようにしておく事が必須です。 余談ですが、私はシステムエンジニアとして、多数の顧客のOracleDB等の管理する仕事をしています。

devid
質問者

お礼

有難うございます。参考にさせていただきます。

すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.3

No.1です。 削除専用のUnixIDを1つ作成し、dbaグループに属させます。 そのIDを使用すれば、対象ファイルの削除が可能になると思いますが、如何でしょうか。

devid
質問者

お礼

dbaグループにしても削除できませんでした。

devid
質問者

補足

有難う御座います。 お尋ねします。 ログ出力先をオラクル外へ変更する場合、オラクルを止なくても全く問題ないでしょうでしょうか?また一般論でかまいませんが、trcログはオラクルhome外へ出力しておくのが良いのでしょうか?メンテナンス的にも楽なんですが。。

すると、全ての回答が全文表示されます。
  • entree
  • ベストアンサー率55% (405/735)
回答No.2

Oracleもしくはrootユーザで実行する。セキュリティ的にもこれで全然OKだと思いますが。。 それ以外の方法としては以下が考えられますが・・・。  1. setuid (oracle) を行うラッパを書いて配置する  2. diag/rdbms配下にアクセスできるようにパーミッションを変更する 1 はsetuidを使用するためセキュリティ的にあまり望ましくないでしょう。 2 は削除するユーザを oinstall にしてディレクトリをg+wするわけですが、 削除するユーザに oinstall 権限を付与するためセキュリティ的にあまり 望ましくないでしょう。

devid
質問者

お礼

有難う御座います。やはりoracleユーザーで検討してみます。

すると、全ての回答が全文表示されます。
回答No.1

ORACLE_HOME(今回の場合は/u01/oracle/diag/rdbms)配下は、Oracleのシステム関連のファイルなどが入っているため第三者にアクセスさせるのは好ましくないと思います。 トレースファイルをORACLE_HOME外へ作成するのが良いと思います。 Oracleの初期化パラメータにある、"bdump","udump"の値を吐き出し先をORACLE_HOME以外の適当なディレクトリに設定してみてください。

devid
質問者

補足

今回初期設定は変更しないで、行いたいのですが、何か方法はありますか?

すると、全ての回答が全文表示されます。

関連するQ&A