忍者ブログ

OracleDBAの技術メモ

最近物覚えが悪くなったので 仕事中に調べた後々役立つ情報をメモしております。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

フォルダを選択するダイアログ

VBAからフォルダを選択させるためのダイアログを表示する方法はいくつかあるが、
FileDIalogオブジェクトを使用する方法が一番使いやすと思われる。
(WSH ”Shell.BrowseForFolder” の方がダイアログの見た目が良いが
 初期パスを渡すと、それ以上の階層が表示されなくなるので使いづらい。)


Sub subTest()

Dim dlgFolder as office.FileDialog
Dim iRes as Integer

    Set dlgFolder = Application.FileDialog(msoFileDialogFolderPicker)
    dlgFolder.AllowMultiSelect = False
    dlgFolder.InitialFileName = "c:\"
    iRes = dlgFolder.Show
    If iRes = -1 then
        msgbox dlgFolder.SelectedItem(1)
    End If

End Sub



PR

悲観ロックと楽観ロック

・悲観ロック
  DBMS(死語?)が管理して、データ更新時にかかるロック。
  DBでテーブルロックと言えばほぼ悲観ロック。
  同一トランザクション上でしか制御できない(しない)。

・楽観ロック
  DBMS(死語?)では管理しきれない、処理が複数のセッション(トランザクション?)にまたがる場合のロック方式。
  Web系のシステムではこちらが主?
  ロックテーブルに「更新カウンタ」もしくはデータの「バージョン番号」を示すカラムを設け、
  データ更新時にこの値を取得して、事前に取得していたこの値と比較して同じでなければ、
  他のセッションから更新がかかったとして、自セッションの更新を破棄する。
  (同一であれば自セッションのデータで更新する)

   例:
     (1)更新用画面のためにDBからデータを取得 ・・・ 「更新カウンタ」=1
     (2)更新用画面を表示
     (3)更新用画面でデータを入力
     (4)更新用画面から更新済みデータを受信
     (5)更新可否確認のためにDBからデータを取得(ここは悲観ロックが必要?)
       (5)-1 「更新カウンタ」=1
          更新可能と判断し画面からのデータでDBのデータを更新
       (5)-2 「更新カウンタ」≠1
          別セッションから先に更新がかかったと判断
          ( (1)で取得したデータはすでに古いものということ )
          更新不可と判断し、その旨の処理を行う
          ( メッセージ出力なり )

vimでバイナリ表示

vimでファイルをバイナリ表示する。
ただし、実際にファイルを書き換えられているので、そのまま保存すると見たままの状態で保存されてしまう。

保存する前に元に戻すこと。


(1)バイナリ表示

$ vi -b

:%!xxd



(2)バイナリ表示戻し

:%!xxd -r

AWRレポート出力方法

(1)AWRレポート

SQL> @?/rdbms/admin/awrrpt.sql


(2)AWR期間比較レポート

SQL> @?/rdbms/admin/awrddrpt.sql


(3)AWR SQLレポート

SQL> @?/rdbms/admin/awrsqrpt.sql

※)SQL*PlusでAUTO TRACEを実施したような統計情報が出ない

ブログ内検索

プロフィール

HN:
宇佐 義男
性別:
男性
自己紹介:
都内で活動中のフリーエンジニア
最近はOracle DBに関する作業が主です。

カレンダー

03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

最新CM

[08/06 Apagajid]
[06/23 Ajimehof]
[05/28 ovkftcz]
[05/20 Adeepen]
[05/13 Ajirubuy]

バーコード

P R

忍者アナライズ

免責事項

当ブログは日本オラクル株式会社 及びその子会社、関連会社とは一切関係ありません。 当ブログに記述の内容については、実際とは異なる場合があります。 記載しているコマンド、スクリプトを利用したことによって発生した問題、障害等については一切責任を負いません。 利用は自己責任にてお願い致します。