
こ、こんばんわ
私は客先でオブジェクトブラウザ(OB)を使って仕事している
新米SEです。
今日OBを使って本番データを操作していたところ、
あやまって一テーブルのデータを全件削除してしまいました。
すぐに気づいて青くなり、気を落ち着けて慎重にロールバックボタンを押したところ、
全データ復活しました。
消えている間そのテーブルに関するバッチプログラムも動いていません。
なので、特に報告もしなかったのですが、
今日のこのミスは報告しなくてもよかったんだろうか
といまさら悩んでいます、、。
いったんデリートしたという事実はアーカイブログかなんかで
わかるんですよね?
ウツです。。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
>いったんデリートしたという事実はアーカイブログかなんかで
わかるんですよね?
アーカイブログでも分かりますが、SQL監査(audit)を有効にしていると、詳細に記録が残ります。本番DBということであれば恐らくある程度の監査をかけているのでは?と思います。
(ロールバックしても記録が残ります)
仕事での出来事はちゃんと報告をしましょう。
隠しても何もよいことはありません。きちんと報告をして次への対策を上司を練ってください。そうすれば、ミスを責められることよりも、むしろ信頼を得る結果になると思います。
逆に、黙っていて監査ログを確認されたら・・・、非常によろしくありません。
本番環境でのデータ更新作業は、
・事前バックアップを取る
・作業のログを取る
・作業内容の手順書やスクリプトを事前に作成し、関係者でレビューする
ということをぜひ行ってください。
いまこういうことが行われていないなら、ぜひ提案しましょう。
「急いでいるから」というのは、スピード違反で事故を起こすようなことになるので、大事件が起こる前に改めましょう。
本番での作業準備や作業に十分な時間を与えられないなら、上司に必要性を強く訴えましょう。
No.4
- 回答日時:
アーカイブログ上には記載されているので、ログマイナで調査すれば分かります。
あとは、監視ツールを入れているとSQLを監査されてしまうかもしれません。以前、PISOを使ってマスタテーブルに対するSQL監査を仕掛けていて、無断でUpdate文を流したのを検知されて怒られたケースは見たことがあります。
http://www.insight-tec.com/products/service_piso …
あと意見としては、復旧できる準備がない作業は行わないのが基本です。
作業前にはバックアップをとりましょう。
厳しいシステムでは本番機を触る場合、以下が基本でした。
・データの変更はテスト機でスクリプトとして開発する。
・本番機では上記のスクリプトを実行する。
・スクリプト実行も手順書化しておき確認された方法でしか本番機を触らない。
・手順書を実行する時は複数人でチェックを行う。
・本番データを触る場合はバックアップを取る。
報告云々ですが、次に起こった際に復旧できない可能性を考えると
再発防止策はたてるためにも報告はしたほうがよいと思います。
まあ、報告の仕方にもよりますが作業に不安をかかえておりミス時のリカバリー方法を検討してもらうようにはした方がよいと思います。
No.3
- 回答日時:
ま、とりあえず報告だけして、ごめんなさいして、
後は上司に責任(リカバリー)を取ってもらいましょう。
それが上司の仕事なので。
ま、オブジェクトブラウザーで、発生した問題は、
Oracle社非サポートなんですけど、
とりあえず、やった内容を正確(どんなSQLを実行したかとか。)に
上司につたえれば、上司なら対応考えてくれるはずです。
顔が青ざめるような失敗はDBAなら誰でも経験することです。
逆に失敗を経験していないDBAの方が怖いです。
なので、一つ成長し、良い経験をしたと思って
その場を乗り切りましょう。
1年もすれば、やってしまった失敗なんて、
そんなこともあったな程度の内容になるので、
そんなに落ち込むことはないです。
大丈夫。頑張れ!!
No.2
- 回答日時:
まずは技術的な面を。
ORACLEは、通常COMMIT(かROLLBACK)するまで、他セッションからは更新前のデータしか参照できません。
※そのテーブルに関するバッチプログラムも動いていません
に関して。
が、それはあくまで通常の話です。
ObjectBrowserは便利なツールです。下の画面に表示されているデータを修正した場合、カーソルを他行へ移すと、確か自動的にCOMMITがかかったと思います。
新米SEであれば、ObjectBrowserでデータを更新するような作業はやめておいた方が良いと思います。
基本は、SQL*PlusでSQL実行です。
御回答ありがとうございます。
僕のような不注意でスキルの低い奴が、
OBで本番データをさわることじたいほんとどうかと思うんですが、
どうすれば人為ミスを回避できるのか、もししてしまった場合は・・?
ということから逃げてはいけないですよね。
SQL*Plusについて、もちろん知ってはいるのですが
それを使って作業することはあまりありません。
ミス回避につながるということなので、これから勉強しようと思います。
No.1
- 回答日時:
20年のDB技術者です。
その気になって調べれば分かりますが、まぁ殆ど分からないですよ。
ただ、報告しないのはアウトです。貴方は元に戻ったと思っていても、本当に戻っていると確信できるのでしょうか。
どのような設計になっているかは不明ですが、その時点で報告すれば完全に復活できたものを、見逃してしまった可能性は0ではありません。
それとテーブルを全て消してしまうという事は、delete文のwhere句に不備があったのだと思いますが、ObjectBrowser上でSQL文を書いて実行するのは私のチームではご法度です。あれはあくまでも管理用ツールなので、データを扱う時は、必ずsql用ファイルを作成し、検証後に実行しましょう。
御解答ありがとうございました。
>ただ、報告しないのはアウトです。貴方は元に戻ったと思っていても、本当に戻っていると確信できるのでしょうか。
>どのような設計になっているかは不明ですが、その時点で報告すれば完全に復活できたものを、見逃してしまった可能性は0ではありません。
ですよね。
もう本当ごめんなさい!と心の中で思うしか僕には・・・
>それとテーブルを全て消してしまうという事は、delete文のwhere句に不備があったのだと思いますが、ObjectBrowser上でSQL文を書いて実行するのは私のチームではご法度です。
>あれはあくまでも管理用ツールなので、データを扱う時は、必ずsql用ファイルを作成し、検証後に実行しましょう。
未然防止は意識しているところなのですが、
期限が迫っていると利便性を優先している自分がいます。
私のチームではあくまでも個人の注意力に任されてまして、、、。
取り返しの付かないミスを想像するとそれだけで、
不安でいっぱいになっていまいます。
仲間が平然とデータを扱っているのに対し、
どこか抜けている私は常に今日のような不安につつまれている状態です。。
そしてちょっと気が抜けたとき、今日のようなミスを・・・あぁ・・・
実は皆さんもそうなんでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- iPhone(アイフォーン) iPhone SE 3 Google アカウントの削除で保存したデータは全て消える? 1 2023/03/06 11:48
- iPhone(アイフォーン) AppleID 1 2023/06/12 13:59
- その他(クラウドサービス・オンラインストレージ) 個人情報保護の件 1 2023/05/18 12:19
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- 会社・職場 出張中に、 会社の後輩に大切なデータを削除されました。 私は部内リーダーです。 無いと気付いた際に部 7 2023/03/01 19:49
- その他(法律) 携帯電話会社に保管されている解約済み個人情報を消去したい 3 2022/08/13 23:23
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- ハッキング・フィッシング詐欺 スマホアプリのトラッキング 個人情報について 5 2023/03/31 08:16
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでSQLServerへのODBC接続
-
SQLです教えてくださいお願いし...
-
Oracleで上書きImportはできま...
-
住所のDBテーブル、マスターの...
-
Accessのテーブルデータを一気...
-
同一テーブルのデータを参照し...
-
男性と2人で飲食店に行きテーブ...
-
L2SWはARPテーブルを持っている?
-
会社の飲み会の幹事になり、座...
-
面接のときテーブルが正面に。...
-
phpMyAdminでMySQL4.1のレコー...
-
「テーブルに座って……」という...
-
【エクセル】データテーブルの...
-
テーブル名をカラムとして取得...
-
お金持ちのテーブル
-
SQLにて指定日付より前、かつ最...
-
SQLのサブクエリについて
-
UTF8のテーブルをODBCドライバ...
-
Excel テーブル内の空白行の削除
-
オーダーの覚え方について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessでデータシートに同じデ...
-
Accessのテーブルデータを一気...
-
ビューのソートについて
-
テーブルで一番古いレコードだ...
-
Oracleで上書きImportはできま...
-
アクセス レコードセットを更...
-
このISAMでは、リンクテーブル・・
-
住所のDBテーブル、マスターの...
-
結合テーブルでINSERTする方法...
-
同一テーブルのデータを参照し...
-
マテリアライズドビューとスナ...
-
htmlコードで書かれた表にphpで...
-
accessでレコード更新直後の反...
-
IF NOT EXISTを使用するINSERT文
-
Access VBAからエクセルに出力...
-
ORA-01401が表示され、データが...
-
構文エラー : 演算子がありませ...
-
ERROR1062:Duplicate entry.......
-
ODBC接続で新しいレコードを追...
-
「クリップボードにコピーされ...
おすすめ情報