2009年2月12日木曜日

アーカイブredoログ

http://d.hatena.ne.jp/Setekh/20090205/1233798233


アーカイブログの状況を知るには

select * from v$recovery_file_dest

で保存先と使用状況を確認できる

ここで余裕が無いときは

ざっくり行くなら物理的にアーカイブREDOログファイルを削除したあと、RMANを起動し、

RMAN TARGET /

アーカイブREDOログファイルのクロスチェックをかけ、

RMAN>CROSSCHECK ARCHIVELOG ALL;

存在しないアーカイブREDOログファイルを RMANリポジトリから削除します。

RMAN>DELETE EXPIRED ARCHIVELOG ALL;


ちゃんとやるには

RMAN>DELETE BACKUP OF DATABASE;

とやるらしい。

ここによるとhttp://ameblo.jp/archive-redo-blog/archive5-200802.html

フラッシュ・リカバリ領域の利用は RMANによるバックアップ計画とセットで検討するべき。

もし、RMANを使わないのであれば、アーカイブREDOログファイルの出力先を

LOG_ARCHIVE_DEST_n初期化パラメータで指定し、フラッシュ・リカバリ領域を使用しないようにしたほうがよい。

oracle フラッシュリカバリエリアの使用状況の確認

select * from v$recovery_file_dest

ユーリ・ミハイロコフの悪夢が現実に

米ロの通信衛星が衝突 シベリア上空、「宇宙ごみ」大量発生

プラネテスが頭をよぎった。
人は地球だけでなく宇宙も汚す時代だ。
願わくばアルナイル8型事故は起きないようにして欲しいものだ。

しかしデブリは秒速8Km!で移動している。たとえ数グラムでも、そら大事故になるよ。
大気圏に落下するのを待つしかないのだろうか
教えてブラウン先生

2009年2月9日月曜日

Oracleで、接続したユーザの所有オブジェクトを確認

接続ユーザ所有のオブジェクトを確認するのであれば
select * from user_objects
where object_type in ('PROCEDURE','FUNCTION','PACKAGE','PACKAGEBODY','TRIGGER');

typeのところで絞り込み可能

2009年2月6日金曜日

oracleのSPFILEのなぞ

オラクルのSPFILEは、てっきり%oracle_home%/dbs/spfile<SID>.oraかと思っていたが実は厄介なことがあるわけで…

%oracle_home%/dbs/spfile<SID>.oraを削除やリネームしてしまうと、以降は%oracle_home%/database/フォルダの中でspfileやpfileを探すようになる。(10.2.0だけかも)

ためしに以下のようなテストをしてみた。


1.インストール時のspfile位置の確認
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string
D:\ORACLE\PRODUCT\10.2.0\DB_1\DBS\SPFILEORCL.ORA


SQL> create pfile from spfile;
ファイルが作成されました。

SQL> create spfile from pfile;
ファイルが作成されました。

SQL> shutdown immediate;
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。

SQL> startup
ORACLEインスタンスが起動しました。

Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 171969412 bytes
Database Buffers 432013312 bytes
Redo Buffers 7135232 bytes
データベースがマウントされました。
データベースがオープンされました。

SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string
D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\SPFILEORCL.ORA

この後に%oracle_home%/database/のspfileとpfileを削除すると
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: ?p?????[?^?E?t?@?C??'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\INITORCL.
?????B

という具合に起動できなくなる。
create pfileした時点で再起動するとすでに%oracle_home%/database/フォルダしか見なくなった。
なぜこんなややこしいことを。


以前にlifekeeperを使っているせいでPFILEは使えないと思っていたこと、はきっとこのせいだ。
インストール時にSPFILEからPFILEを作成して、編集を行っていたのであろう。
設定担当者に聴いてもいまいち要領を得ない回答ばかりだったがほぼ解決のはず。


今確認したらdatabase/の中にspfileもpfileもある。
こんなときってSPFILEが優先されるんじゃなかった?
なぜだ…

参考にしたのは このページ いつもお世話になっています。

skk 辞書から削除

変換候補が出たら"X"で削除

2009年2月2日月曜日

Oracle達人技を読む

この本を最近購入し読んでいますが、はっきり行って今まで読んだどの本よりもためになると思う。
9i時代の本なので確かに古いところはある。
だが最近の(と言っても私の頭の中は未だに10g)oracleの便利な機能さえ使いこなせないにわかDBA見習いのような私にとっては、これはまさに神の啓示。
崇拝し、写経する価値がある。

第1章
DBAが知っておくべき・やっておくべき5ヶ条

  1. データベースの基本動作


    • データベースとリスナーの起動/停止の基本動作

    • データベースの現状確認

    • 初期化パラメータの調整



  2. 日々の監視


    • 稼働状況の監視
    • 領域の監視

      • 物理ディスクの監視
      • 表領域の空き領域の監視
      • オブジェクトごとのエクステント発生状況の監視
    • ログファイルの監視

      • 監視すべきログファイル
      • 発生しがちなエラーメッセージ
      • オブジェクトごとのエクステント発生状況の監視
  3. 定期メンテナンス

    • 表及び索引の再作成
    • 不要ファイルの削除
    • バッチの適用とバージョンアップ



  4. データベースのバックアップリカバリ

  5. エンドユーザ対応


今後これらのことについてさらに詳細に、写経するつもり
写経では問題あるかもしれないので自分なりのメモということで