ORA-19809
データベース起動しようとしたら以下のエラーがでて
オープン失敗
Fri Apr 07 22:47:50 2006
Errors in file c:\oracle\admin\orcl\udump\orcl_ora_3628.trc:
ORA-19809: リカバリ・ファイルの制限を超えています
ORA-19804: 10017792バイトのディスク領域を制限2147483648から再生できません
以下の手順で復旧。今回は原因追及はやめる
SQL> alter database noarchivelog;
データベースが変更されました。
SQL> alter database open;
SQL> shutdown immediate
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL>
SQL> startup mount
ORACLEインスタンスが起動しました。Total System Global Area 163577856 bytes
Fixed Size 787948 bytes
Variable Size 154139156 bytes
Database Buffers 8388608 bytes
Redo Buffers 262144 bytes
データベースがマウントされました。
SQL> alter database archivelog;
データベースが変更されました。
SQL> alter database open;
英語版マニュアルをゲトしよう
USのOTNからダウンロード可能です。
登録が必要です。OTNJapanとは別物です。
http://www.oracle.com/technology/documentation/oracle9i.html
動的SGA
動的SGAは、9iからの新機能で共有プール、データベースバッファサイズ
をインスタンスを停止せずにALTER SYSTEMコマンドで変更できる機能。
SGAの全体のサイズはSGA_MAX_SIZEで決定される。
メモリ割り当ての単位は「グラニュル」
- SGA_MAX_SIZE 128M以下:4MB
- SGA_MAX_SIZE 128M超え:16MB(winなら8MB)
SGA_MAX_SIZE自体は、静的にしか変更できない。
間違えやすいのは、動的SGAは別に自動でサイズを調整してくれる訳じゃない。
これを実現するのは10gからのSGA_TARGETパラメータ。
SGAの情報表示。グラニュルサイズも確認できる
SQL> select * from v$sgainfo;
- -
Fixed SGA Size 787988 No
Redo Buffers 262144 No
Buffer Cache Size 25165824 Yes
Shared Pool Size 83886080 Yes ★共有プール
Large Pool Size 8388608 Yes
Java Pool Size 50331648 Yes
Streams Pool Size 0 Yes
Granule Size 4194304 No ★グラニュル
Maximum SGA Size 171966464 No
Startup overhead in Shared Pool 25165824 No
Free SGA Memory Available 011行が選択されました。
↓グラニュルが4M単位なので、80Mも78Mもかわらない!
SQL> show parameter shared_pool_size
NAME TYPE VALUE
- -
shared_pool_size big integer 80M
SQL> alter system set shared_pool_size=78M;
システムが変更されました。
SQL> show parameter shared_pool_size
NAME TYPE VALUE
- -
shared_pool_size big integer 80M
動的にSGAが変更できるはず、ってエラーが発生。
すでにSGA_MAX_SIZEを使ってしまっているので変更できない。
SQL> alter system set shared_pool_size=87M;
alter system set shared_pool_size=87M行1でエラーが発生しました。:
ORA-02097: 指定した値が無効なので、パラメータを変更できません。
ORA-04033: プールを大きくするにはメモリーが足りません
共有プール以外のSGA内のキャッシュを小さく調整して、
再度実行。
今度は成功!
SQL> alter system set db_cache_size=6M;
システムが変更されました。
SQL> alter system set shared_pool_size=86M;
システムが変更されました。
SQL*PLUSで実行時間
- set timing on/off
SQL> set timing on
SQL>
SQL> select count(*) from v$session;COUNT(*)
- -
11
経過: 00:00:03.96
SQL> set timing off
- timing start/show /stop
SQL> timing start
SQL> select count(*) from v$session;
COUNT(*)
- -
11
SQL> timing show
経過: 00:00:18.21
SQL> timing show
経過: 00:00:19.87
SQL> timing stop
経過: 00:00:25.14
SQL> timing show
SP2-0325: showに対するタイミング要素はありません。
showで経過時間表示できるので、
バッチしょりなんかに組み込むと吉。
Oracle OpenWorld Tokyo 2006のPDF
Oracle OpenWorld Tokyo 2006の資料が公開されています。
実は
ORACLE+GrapeCityによる.NETアプリケーションの実践的開発手法
なんぞを聞いてきたわけで、手元に資料がほしかったところで、
よかったなあ、ちゃんちゃん。
ほかに、なんかあればPDFだけでもみてみよう。今日はムリ。
ちなみに資料みるにはOTNへの登録(無料)が必要みたいです。