Oracle管理者のための「時間術」
2009/3/6
Round1:障害対応対決
Oracle Database 11g Release 1を使って、コマンドとスクリプトを駆使したDBA 1.0とEnterprise Manager Database Controlを駆使したDBA 2.0では、障害発生時の対応はどのように違うか比較してみよう。
DBA 1.0の障害対応:達人クラスで作業時間5分
「データベースにつながらなくなった」
と連絡を受けた場合、DBA 1.0はリモートデスクトップ、telnet、ssh、サーバ端末などを使って、サーバ上からSQL*Plusに接続してデータベースインスタンスの状態を確認する。
●手順1 状況の確認[oracle@ora11g ~]$ sqlplus / as sysdba //(1)SYSDBA権限で接続 SQL*Plus: Release 11.1.0.5.0 - Production on 火 1月 27 22:19:55 2009 Copyright (C) 1982, 2007, Oracle. All rights reserved. Oracle Database 11g Release 11.1.0.6.0 - Production に接続されました。 SQL> SELECT status FROM v$instance; //(2)インスタンスの状態を確認 STATUS --------------------------------------- MOUNTED //(3)マウントはされているがOPENになっていない SQL> ALTER DATABASE OPEN; //(4)OPENを実行してみる ALTER DATABASE OPEN * 行1でエラーが発生しました。: ORA-01157: データファイル4を識別/ロックできません - DBWRトレースファイルを参照してください ORA-01110: データファイル4: '/u01/app/oracle/oradata/orcl/users01.dbf'
Oracle Databaseが動いている機器にインストールされたSQL*Plusに接続したら、SYSDBA権限を持ったSYSユーザーとして接続する。ローカル接続なのでIDやパスワードは指定せず「/」だけで接続可能だ。
V$INSTANCE表を確認するとデータベースはマウント状態にありオープン状態にはなっていないので、ALTER DATABASE OPENコマンドでデータベースをオープンして使用可能になるように操作したが、データファイル4がないというエラーになった。
どうやらこのファイルが原因のようなのでOracle Databaseのファイルを格納してあるフォルダを確認したところ、users01.dbfファイルが存在しないことが分かった。
そこで、次のようなリカバリ策を試すことにした。
●手順2 リカバリSQL> shutdown immediate //immediateモードでシャットダウン ORA-01109: データベースがオープンされていません。 データベースがディスマウントされました。 ORACLEインスタンスがシャットダウンされました SQL> startup open recover //リカバリモードでオープンしてみる ORACLEインスタンスが起動しました。 Total System Global Area 347340800 bytes Fixed Size 1299848 bytes Variable Size 314575480 bytes Database Buffers 25165824 bytes Redo Buffers 6299648 bytes データベースがマウントされました。 ORA-01157: データファイル4を識別/ロックできません - DBWRトレースファイルを参照してください ORA-01110: データファイル4: '/u01/app/oracle/oradata/orcl/users01.dbf' SQL> exit Oracle Database 11g Release 11.1.0.6.0 - Productionとの接続が切断されました。
Immediateモードでデータベースをシャットダウンしてからリカバリモードでのオープンを試みたが、マウントまでしか行われず、オープンできないままだ。
そこで、RMAN(Recovery Manager)を使って対応する。
●手順3 RMANの実行[oracle@ora11g ~]$ rman target / as nocatalog //RMANから接続 Recovery Manager : Release 11.1.0.6.0 - Production on 火 1月 27 22:21:17 2009 Copyright (c) 1982, 2007, Oracle. All rights reserved. ターゲット・データベース: ORCL(DBID=1195388079、未オープン)に接続されました リカバリ・カタログのかわりにターゲット・データベース制御ファイルを使用しています RMAN> restore datafile 4; //データファイル4をリストア restoreが開始されました(開始時間: 09-01-27) チャネル: ORA_DISK_1: SID=152 デバイス・タイプ=DISK : : : restoreが完了しました(完了時間: 09-01-27) RMAN> recover datafile 4; //データファイル4をリカバー recoverが開始されました(開始時間: 09-01-27) チャネルORA_DISK_1の使用 : : : recoverが完了しました(完了時間: 09-01-27) RMAN> quit Recovery Managerが完了しました。
ローカルをターゲットとしてRMANでOracleインスタンスに接続したら、データファイル4に対してrestoreとrecoverを実施する。
●手順4 データベースのオープン[oracle@ora11g ~]$ sqlplus / as sysdba //sysdbaとして接続 SQL*Plus: Release 11.1.0.5.0 - Production on 火 1月 27 22:24:25 2009 Copyright (C) 1982, 2007, Oracle. All rights reserved. Oracle Database 11g Release 11.1.0.6.0 - Production に接続されました。 SQL> ALTER DATABASE OPEN; //OPENを実施 データベースが変更されました。 SQL>
データベースのオープンが正常に完了して「データベースが変更されました。」と表示されるのを待つ。
作業時間の実測結果は、22時19分47秒〜24分54秒までの5分くらいになった。あらかじめRMANで使用するコマンドを調べておくなどの事前準備があったので、RMANのノウハウがかなりあるデータベース管理者の作業時間だと見なせるかもしれない。
2/4 |
Index | |
Oracle管理者のための「時間術」 | |
Page 1 ・かつてOracleメンテナンス担当は三重苦だった!? 9iまでの「職人芸」とそれ以降 ・Round0:障害対応対決〜両者のスペック DBA 1.0のシステム構成 DBA 2.0のシステム構成 |
|
Page 2 ・Round1:障害対応対決 DBA 1.0の障害対応:達人クラスで作業時間5分 |
|
Page 3 DBA 2.0の障害対応:誰がやっても4分以内! |
|
Page 4 ・Round2:ボトルネック調査対決 DBA 1.0の対応:「もう1回発生したら分かるかも」 DBA 2.0の対応:問題のクエリを即、究明 ・最後に:少ない作業コストで状態把握を |
Databaseフォーラム全記事インデックス |
- Oracleライセンス「SE2」検証 CPUスレッド数制限はどんな仕組みで制御されるのか (2017/7/26)
データベース管理システムの運用でトラブルが発生したらどうするか。DBサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は、Oracle SE2の「CPUスレッド数制限」がどんな仕組みで行われるのかを検証します - ドメイン参加後、SQL Serverが起動しなくなった (2017/7/24)
本連載では、「SQL Server」で発生するトラブルを「どんな方法で」「どのように」解決していくか、正しい対処のためのノウハウを紹介します。今回は、「ドメイン参加後にSQL Serverが起動しなくなった場合の対処方法」を解説します - さらに高度なSQL実行計画の取得」のために理解しておくべきこと (2017/7/21)
日本オラクルのデータベーススペシャリストが「DBAがすぐ実践できる即効テクニック」を紹介する本連載。今回は「より高度なSQL実行計画を取得するために、理解しておいてほしいこと」を解説します - データベースセキュリティが「各種ガイドライン」に記載され始めている事実 (2017/7/20)
本連載では、「データベースセキュリティに必要な対策」を学び、DBMSでの「具体的な実装方法」や「Tips」などを紹介していきます。今回は、「各種ガイドラインが示すコンプライアンス要件に、データベースのセキュリティはどのように記載されているのか」を解説します
|
|