11g の変更点メモ

(

)

by

in

USのOTNをふと見ると、11g のbinary(for Linux)とドキュメントセットがアップロードされていたので、早速ダウンロードしてみた。
以下は、ちょっとドキュメントを斜め読みしてみて、自分の関心のある分野での変更点のメモ。
正しい変更点を知りたければ、OTN に上がっているドキュメントを読む事。
・インスタンスの吐くトレースファイルとかアラートファイルの出力先は、DIAGNOSTIC_DEST パラメータで設定された先(Automatic Diagnostic Repository)。
 BACKGROUND_DUMP_DEST や USER_DUMP_DEST は、無視されるそうな。
 -> CORE_DUMP_DEST もかな?
・SGA と PGA 共通の自動メモリ割り当てを MEMORY_TARGET パラメータで行う。
 SGA_TARGET や PGA_AGGREGATE_TARGET を明示的に設定する必要無し。
 MEMORY_MAX_TARGET というのもあるそうな。
 ちなみに、これらのパラメータよりも共有メモリ(/dev/shm)サイズの方が大きい必要がある。
SGA_MAX_SIZE は、MEMORY_(MAX_|)TARGET のサイズより大きい値がセットされる。
 (除く Win 32bit 環境)
-> 専用サーバのPGAは共有メモリ上に無いが、最悪SGA がそのサイズまで行く可能性があるから、確保出来る用にしておく必要があるという事だろう。PGAに大きくメモリを割る場合は、メモリ使用効率が落ちないのだろうか?(共有メモリセグメントを途中でフリーしたりするのか?)
・LOG_ARCHIVE_DEST_n パラメータが Standard Ed. でも使用可能になった。
・v$sgainfo ビューで SGA のメモリアロケーション時のオーバーヘッドなども見る事ができる。
・DB稼働中に shared_servers パラメータを 0 に変更しても、既存コネクション分は正常に稼働するようになった。
・セキュリティーの為、UTL_TCP, UTL_HTTP, UTL_SMTP, UTL_MAIL, UTL_INADDR.といったPL/SQLパッケージのメソッドを実行するには、ACLベースの権限を付与する必要がある。
ACL を付与するには、DBMS_NETWORK_ACL_ADMIN パッケージで行う。
存在するACL は、DBA_NETWORK_ACLS ,DBA_NETWORK_ACL_PRIVILEGES ビューで参照可能。
・セキュリティーの為、UTL_FILE でシンボリックリンクのファイルを open 出来なくなった。
・11g Server/Client 9.2 Server/Client の接続はサポート対象。
・オリジナルの export は、一般用とではサポート対象外(まだバイナリはある?)。data pump を使いなさいと言う事。import の方は、マイグレート対策上だと思うが、サポートされている。
・WAIT EVENT の Count 、Wait Time の仕方が変更された。以前は、内部での個別 wait をカウントしていたが、11g からは、1リソースのwait は 1とカウントされるようになった。 より、自然な感覚で捉える事ができるようになった。
 ->11gにして、 wait が減ったと喜んではならない…(どっちにしても TIME_WAITED は変わらんけど)
単なる独り言
・Oracle Configuretion Manager が有効な時に、Oracle Installer で以下の国が選べませんというリストの中に北朝鮮が入っていた。そもそも、Oracle って北朝鮮には輸出できないはずなんだけど…(少なくとも昔は)
とりあえず、ここまで…
—- 追加 @ 9/30
・ユーザのパスワードが大文字小文字を判別するようになった。
・Database ユーザのパスワードが 180日で expire する。
プロファイルを変更することで、パスワードに関する挙動を変更できる。(expire しないなど: PASSWORD_LIFE_TIME=UNLIMITED)
# 10g と同じように動かしたければ、 $ORACLE_HOME/rdbms/admin/undopwd.sql を実行すると、10g互換の動作となるが、元(11g 互換)には戻せない(という事になっているらしい)
・デフォルト監査の結果(監査証跡)が、db に吐かれるようになった。
監査証跡表は、SYSTEM表領域に存在するので、定期的にTRUNCATE してやらないと、SYSTEM表領域が肥大化 or パンク(ディスクの空き領域を食い尽くして)してしまう。
# 10g と同じように動かしたければ、 $ORACLE_HOME/rdbms/admin/undoaud.sql を実行すると、10g互換の動作となるが、元(11g 互換)には戻せない(という事になっているらしい)