• 締切済み

アクセスログのとり方を教えてください

あるデータベース検索ソフトを使用しているのですが アクセスログが取れないのです。 ODBCやORACLEなどで 以下のようなアクセスログはとれないでしょうか? ・いつ ・だれが ・どのデータベースに ・どのようなアクセスをしたのか(SQL文) ※ORACLE9iSEを使用しているので 標準監査は使用できますがFGN監査が使用できません。 標準監査ではSQL文のログが取れません。 なんとかログが取れる方法はないでしょうか? よろしくお願いします。

  • Oracle
  • 回答数2
  • ありがとう数0

みんなの回答

  • gdcootie
  • ベストアンサー率42% (3/7)
回答No.2

V$SESSIONとV$SESSION_WAITをJOINしてバックグラウンドプロセスを省き、SQLが実行中であるものだけ(STATUSがACTIVE)を対象にして、ログ出力します。 ※この際、実行前に必ずdual表からsysdateで時間を取得 いつ(sysdateの時間) だれが(SID、USERNAME、PROGRAMなど特定できるいずれか) どのデータベースにおよびどんなSQL文を実行したか(sql_hash_value) が取得できます。 SQL文そのものもそこからとれますが量からいってあまり現実的ではありませんので取得はせずにこのSQL文がくさいと思って原因を断定した時には V$SQLAREAやV$SQLTEXTなどで出力されたSQLアドレスをキーにSQL文を取得します。 欲張らず最低限の情報のみcronで10秒間隔程度で1分間のデータを1ファイルに吐き出すようなシェルをcronなどで1分間隔でスケジュールされたらいいのではないでしょうか。 まぁ間隔などは調整してくださいね。 でわ。

  • ese_ee
  • ベストアンサー率48% (68/139)
回答No.1

その場合は、常にSQLトレースを取りつづけるしかないと思います。 デメリットとしてはパフォーマンスの悪化とトレース解析処理の複雑さがあります。 要件的には、 EnterpriseEditionの導入も提案すべきとも思えなくもないです。

関連するQ&A

  • ASPでACCESSからoracleにリンクさせて表示したい。

    はじめまして。 いろいろ調べてみたのですが、わからなかったので質問させてください。 現在、ASPを利用してACCESS(2003)のテーブルから簡単な検索をできるようにしています。 このACCESSのテーブルは、別サーバーで動いているoracle(10g)のデーターベースから EXCELでエクスポートしたものを、ACCESSでインポートして使用していました。 この手間を省くため、ACCESSとoracleをODBCを使用してリンクさせたいと思いました。 まず、ODBCのシステムDSNで「oracle in oraclient10g」で追加して、接続を確認。 その後、ACCESSにてODBCでテーブルをリンクさせて開くことも確認できました。しかし、 WEB上で確認したところ、サーバー側・クライアント側でも以下のエラーが出てしまいます。 Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access Driver] ODBC--'****' への接続が失敗しました。 これはどのようにすれば、出来るようになるでしょうか。 初歩的な質問で申し訳ありませんが、ご教授ください。 よろしくお願いします。

  • AccessからODBCでOracleに接続する際の環境

    AccessからODBCを使用してOracleに接続する際の環境について教えてください。 想定しているクライアントとサーバの環境は以下となるのですが、 >クライアント:WindowsXP + Access2003 >サーバ: Solaris + Oracle10g 上記以外にクライアント側にインストールする必要があるソフトウェアを教えてください。 ODBCドライバはWindowsXPに標準で入っていると思うので、 あとはOracle関係のソフト(Oracle Net Services?)だと思うのですが、 最低限どれが必要なのかが正確に知りたいです。 よろしくお願い致します。

  • ACCESS2000で8iのテーブルへアクセスしたら、ODBC--接続失敗となる

    Oracle8iのシステムとOracle9iのシステムがあります。 Oracle8iを使用していたクライアントPCを9iのシステムを 使用するために一度バージョンアップしましたが、また8i のシステムを使うために8iに戻しました。 OracleのNet8 Configuration Assistant でのOracleの データベースへの接続はできましたが、ACCESS2000での Oracleデータベースへの接続は「ODBC--"****"への 接続が失敗しました」というエラーが出てアクセスが開き ません。 どうすればよいでしょうか。

  • ACCESSからODBC接続での書き込みや更新

    ACCESSからODBC接続での書き込みや更新 環境 OS:WindowsXP home SQL Server Express 2008 SQL server manegement studio 2008 パソコンネーム:pc01に SQL Server Express 2008をインストールしてあり そのパソコンからマイクロソフトACCESSからODBC経由で SQLにアクセス(全て同一パソコン) SQL server manegement studioで 以下のようにデータベースを作成しました データベース名:DB01 テーブル名:tbl_01 所有者:pc01\user1 ODBC接続の設定 以下3点以外は規定値 接続するSQLサーバーの名前:pc01\SQLEXPRESS ネットワークへのログインIDでWindows NTの認証メカニズムを使う 規定のデータベースを以下のものに変更する:DB01 この状態でACCESSからODBC経由でDB01のtbl_01に接続しても 新規書き込みや更新が出来ません、 書き込みや更新をしたい場合何を設定すれば良いのでしょうか? SQL server manegement studioで ユーザー、ロール、マップなどを 色々触って見たのですがテーブルの閲覧は出来ますが 更新や新規書き込みが出来ません。 確認すべき項目など御座いましたら具体的にお教え願えれば 幸いです、よろしくお願い致します。

  • AccessのデータをjavaプログラムからSQL文を使って操作したい。

    フォーム上の入力欄で入力したデータベースのパスを使って、Accessのデータをjavaプログラムから SQL文を使って操作したいのですがどのような手段があるでしょうか? javaとAccessの接続について初めてで条件に合った方法を探せずにいます。 以下がこれまで試みた手段です。 JDBC-ODBCを使った場合、パスの設定がプログラム上で設定できませんでした。ODBC データソース アドミニストレータで登録をしなければなりませんでした。 jackcessはパスを入力欄から入力できましたが、SQL文が使えませんでした。

    • ベストアンサー
    • Java
  • ORACLEのアクセス

    oracle10gで構築したDBをoracle9iのクライアントからアクセス可能でしょうか。(SQLを参照したりVBで作成しらプログラムからODBC/OLE形式でアクセスする)

  • なぜ「アクセス」なんですか?

    WWWからデータベースへアクセスするjavaプログラム作成時によく「MS ACCESS」を使用するのはなぜなんですか?JDBCで直接データベースへアクセスできるようなデータベースがあればわざわざODBCを使用しJDBC-ODBC bridgeで橋渡しをしなくてもJDBCだけでできるんではないですか?また直接アクセスできるデータベースがない等の問題点があるのですか?教えてください.よくわからないのでお願いします.(質問が的はずれだったらすみません.まだ勉強がたりないもので...)

  • Oracle 11g R2の監査ログのフォルダ

    よろしくお願いします。 【環境】 RHEL 5 Oracle 11g R2 【質問】 AUDIT_FILE_DESTパラメータ に /opt/oracle/app/diag/AUDIT を指定して ファイルとして出力しています。(必須監査も含めて)通常は正常に動作していますが、なぜか まれに以下のフォルダに監査ログが出力されてしまいます。 $ORACLE_BASE/admin/adump 出力されるログは今のところ以下の1種類の監査ログのみです。 ACTION:[7] 'CONNECT' DATABASE USER:[1] '/' PRIVILEGE:[6] 'SYSBA' CLIENT USER:[6] 'oracle' CLIENT TERMINAL][13] 'Not Available' 質問ですが、なぜこの監査ログのみ adump 以下の記録されるのでしょうか。

  • 【Win2012】アクセスログの取得方法について

    お世話になります。 ファイルサーバーのアクセスログの取り方についてご教授願います。  WindowsServer 2012 Standard  ファイルサーバー  ドメイン環境 いつ、誰が、何を、どのように・・・というような内容のログは取得したいと考えております。 一般的にはWindowsの標準機能(UALサービス?+監査ポリシー?)を使うのでしょうか。それとも何かツールを使うものなのでしょうか。 Windowsの標準機能だと一回のアクセスでログが10~20ぐらいのログが作られるそうですが、これだとすぐにログファイルが膨大なサイズにならないか懸念しております。 ご教授の程、宜しくお願い致します。

  • AccessからOracleへのODBC接続

    現在、Oracleで作成したデータベースに接続して 検索するソフトを、Accessで作成してあります。 Oracleに接続をするのに、 ODBCを使用しているのですが、 最初依頼があったときは「Oracle8」のときだったので、 「Oracle8」のみ接続可能なプログラムが組んであり、 「Oracle10g」の入っているPCでは接続できないという問題が発生しました。 そこで、「Oracle8」と「Oracle10g」とも接続出来るように プログラムを書き換えたのですが、 現在は「Oracle11g」が最新になっていると思うので、 ゆくゆくはそれに対応しなければならないなあ、と思っています。 そうすると、Oracleがバージョンアップするたびに、 ソフトのプログラムを書き換えなくてはならなくなり、 効率的ではないな…と思いまして… Oracleのバージョンが違っていても、 自分のPCのOracleのバージョンを自動認識して、 AccessからOracleへ接続する方法はあるのでしょうか? ちなみに現在は、TableDefsコレクションを使用して、 まず、Oracle8で繋ぎにいき、それでエラーが起これば Oracle10gで繋ぎにいく、という処理を行っています。 【参考コード】 dim db as object dim tdf as object set db = CurrentDb set tdf = TableDefs("テーブル名") tdf.Connect = "(※テーブルのプロパティの説明のところに入る文)" tbf.RefreshLink (※ここが8と10gで違ってくる) よろしくお願いします。