【ナレッジ】Oracle RDBMS③

1900-01-04

TEST

Oracle9iR1

(Oracle9iR1 Oracle9i for UNIX Systems 管理者リファレンス リリース1_002)
・初期化ファイルのカスタマイズ
 init.ora・・・$ORACLE_HOME/admin//pfile
 init.ora(サンプル)・・・$ORACLE_HOME/dbs
 (SHARED_POOL_SIZE 64bit・・・64MB / 32bit・・・8MB)
・埋め込みPL/SQLゲートウェイ
 mod_plsql・・・ステートレスなPL/SQL Webアプリケーションだけをサポートする。
・Oracle HTTP Server Powered by Apache
 ・ps -ef | grep httpd
・デモファイル
 ・SQL*Loaderのデモ
  注意) vi等の特定のテキストエディタを使用すると、ファイルの最後のレコードは自動的に改行文字で
      終了する。この場合、ファイル内のその他のレコードが改行文字で終了していないと、不整合が発生する。
  次のコマンドを入力して、extproc.so共有オブジェクトを作成し、必要なデータベース・オブジェクトを構築し、
  サンプルデータをロードする。
  $ make -f demo_plsql.mk extproc.so exampbld examplad

(OPTIMAL FLEXIBLE ARCHITECTURE)
・UNIXで適用されるOptimal Flexible Architecture
 ・マウントポイントの作成・・・マウントポイントは4つ以上(1つはソフトウェア用、3つはデータベース・ファイル用)
 ・マウントポイントの構文・・・/pm
  Ex) /u01、/u02、/disk1、/disk02
 ◎超大規模データベース(VLDB)のマウントポイントの名前・・・/pm/q/dm
   pm・・・マウントポイントの名前
   q・・・Oracleデータベースがこのディレクトリに保存されていることを示す文字列
   dm・・・DB_NAMEの値
  Ex) /u01/oradata/test 及び /u02/oradata/test というマウントポイントには、Oracleテスト・データベースに2つの
    ドライブを割り当てる。

?・・・ORACLE_HOME
@・・・SID

・ディレクトリの名前
 ・ホームディレクトリの構文
  /pm/h/n
  ・・・マウントポイント
  ・・・標準のディレクトリ名
  ・・・ディレクトリ所有者の名前
  Ex) /u01/app/oracle・・・Oracleサーバー・ソフトウェア所有者のホームディレクトリ(ORACLE_BASEディレクトリ)
 ・パス名の参照
  ・/etc/passwd・・・パスワードファイル
  ・/etc/group・・・グループ名
 ・ソフトウェア・ディレクトリ
  /pm/h/n/product/v
  ・・・バージョン名
   /u01/app/oracle/product/9.0.1・・・Oracle9iの親ディレクトリ
  環境変数ORACLE_HOMEは、この値に設定。
 ・サブディレクトリの名前
  /r/admin/d/a
  ・・・Oracle所有者のホームディレクトリ
  ・・・データベース名
  ・・・各データベース管理ファイルのサブディレクトリ

  データベース管理ファイルのサブディレクトリ
   adhoc・・・特定のデータベースの非定型SQLスクリプト
   arch・・・アーカイブREDOログファイル
   adump・・・監査ファイル(AUDIT_FILE_DEST初期化パラメータをadumpに指定する)
   bdump・・・バックグラウンド・プロセスのトレース・ファイル
   cdump・・・コア・ダンプ・ファイル
   create・・・データベースを作成するプログラム
   exp・・・データベース・エクスポート・ファイル
   logbook・・・データベースの状態及び履歴を記録するファイル
   pfile・・・インスタンス・パラメータ・ファイル
   udump・・・ユーザーSQLトレースファイル

・データベースの名前
 制御ファイル /pm/q/d/control.ctl
 REDOログ・ファイル /pm/q/d/redon.log
 データ・ファイル /pm/q/d/tn.dbf
 ・・・マウントポイント
 ・・・Oracleデータを他のOracleファイルと区別するため文字列
 ・・・初期化パラメータDB_NAMEの値
 ・・・Oracle表領域名
 ・・・2桁の数字

・特殊な表領域
 SYSTEM、TEMP、RBS、USERS、INDXは必須。
 OEM_REPOSITORY、DBSYSは任意。
・表領域の名前・・・8文字以下(UNIXファイル・・・14文字まで)
          データファイルとそれを使用する表領域との関連性が分かるような名前にする・
・複数インスタンスにおけるOFAに準拠したデータベースのファイル・マッピング
 RAC・・・Oracle管理ホーム・ディレクトリとして機能するノードを1つ選択。
      管理ホーム・ディレクトリ → 管理サブツリーが含まれる。
      /admin/db_nameディレクトリにあるbdump、cdump、logbook、pfile、及びudumpディレクトリに
      アクセスする各インスタンスに、サブディレクトリを作成する。
      管理ホームのadminディレクトリは、全てのインスタンスのadminディレクトリがマウントする
      必要がある。
  $ORACLE_HOME/rdbms/admin
  ・・・catclust.sql(Oracle9i RACオプションのインストール用)

(Oracle9iR1 Oracle9i DataGuard_002)
・DataGuard BrokerとOracle9i DataGuard Manager
 概要図は、メモファイル(.png)参照。

 ・Oracle9i DataGuard Managerを使用する際は、Oracle Management Serverを使用する必要がある。

・DataGuard Broker
 ・プライマリおよびスタンバイ・サイトでプロセスを起動し、環境の監視、制御、及び自動化を可能にする
  新しいコンポーネント。
 ・DataGuard Brokerのフレームワークは、各サーバーに常駐するプロセスとその組み合わせによって構成される。
 ・DataGuard Brokerには、2つのインターフェイスが用意されている。
  ・Oracle9i DataGuard Manager(GUI)
  ・DGMGRL(CLI)
 ・環境内のデータベースを、統一された構成で管理する。
 ・任意のクライアントからCLIアクセスすることにより、次の処理が可能。
  ・動的パフォーマンス・ビュー情報の取得
   (スタンバイ・サイト固有のデータ、プライマリ・サイトのログ送信キュー、及びスタンバイ・サイトでの
    ログ適用キュー)
 ・DataGuard Broker構成ファイル
  ・・・Oracle9i DataGuard構成内の全システムに必要な構成が含まれる。

・Oracle9i DataGuard Manager
 ・監視ツール
 ・設定及び構成に使用するウィザード
 ・高可用性の維持
 ・イベントの作成とポーリング間隔の設定を容易にするEnterprise Managerイベントシステム
 ・Enterprise Managerクライアントを2つ以上のOracle Management Server(OMS)に対して構成することにより
  1箇所で障害が発生しても可用性を高く維持できる。
 ・Enterprise Managerインターフェイス → Oracle9i DataGuard Manager
  ・・・実行するにはOracle Management Serverが必要。

・「非データ消失」と「非データ分岐」の定義
 ・スタンバイ・データベースが、プライマリ・データベースから遅延する場合がある。
 ・プライマリ・データベースで破損が発生すると、データは消失する。
 ・「非データ消失」の場合は、対応するREDOログ・エントリがスタンバイ・データベースでも適用可能でないと、
  プライマリ・データベースの変更がコミットされない。
 ・「非データ分岐」では、スタンバイ・データベースへの接続が1つでも確立できない場合には
  プライマリ・データベースは変更できない。

・Oracle9i DataGuardのデータ可用性モード
 ・保証付き保護(Guaranted Protection)
  ・非データ分岐
  ・LGWRによってREDOログ・エントリをスタンバイに送信
 ・即時保護(Instant Protection)
  ・非データ消失
  ・LGWRによってREDOログ・エントリをスタンバイに送信
 ・迅速保護(Rapid Protection)
  ・LGWRによってREDOログ・エントリをスタンバイに送信
  ・プライマリの変更が、プライマリでコミット時にスタンバイ側で適用可能かどうかは保証されない。
 ・遅延保護:Oracle8iと同様。

・保証付き保護
 ・・・プライマリ・データベースのパフォーマンスに影響する可能性がある。
・即時保護
 ・・・不一致が一時的に発生するが、スタンバイ・データベースへのフェイルオーバー時に同期させる
    ことができる。
・遅延保護
 ・・・完全なアーカイブ・ログ・ファイルが、ARCnによってスタンバイ・データベースに送信

・データ可用性モードの構成プロセス
 ・REDOログ書き込みプロセス(LGWR | ARCH(デフォルト))
  LOG_ARCHIVE_DEST_n='SERVICE=stby1 LGWR'
   stby1・・・ネットサービス名
 ・ネットワーク送信モード(SYNC(デフォルト) | ASYNC[=BLOCKS])
   BLOCKS・・・REDOブロック数
  LOG_ARCHIVE_DEST_n='SERVICE=stby1 LGWR SYNC'
 ・アーカイブ・ログ・ファイルへのディスクへの書き込み方法(NOAFFIRM(デフォルト) | AFFIRM)
  LOG_ARCHIVE_DEST_n='SERVICE=stby1 LGWR SYNC AFFIRM'
 ・REDOログ受信オプション
  ・スタンバイREDOログ・ファイルまたは通常のアーカイブ・ログ・ファイル
  ※デフォルトは使わないこと
 ・障害解決方針([UN]PROTECTED) プライマリ側で実行
   ALTER DATABASE SET STANDBY DATABASE PROTECTED;
 ・SYNC属性
  ・・・プライマリ・データベースのパフォーマンスに悪影響を及ぼす可能性がある。
 ・ASYNC=キーワードを指定すると、全てのネットワークI/O操作が非同期式に
  実行され、制御は直ちに実行中のアプリケーションまたはユーザーに返される(0 ~ 2048)。
  通常、ネットワークの速度が遅い場合は、データ・ブロック数を多くする。
 ・プライマリ・データベースから送信されたREDOログ・ファイルは、スタンバイ・サイトのリモート・
  ファイル・サーバー・プロセス(RFS)によって受信される。
 ・保証付き保護
  ・・・スタンバイ・データベースに2つ以上のスタンバイREDOログ・グループが必要・
 ・v$databaseビューのSTANDBY_MODE列で、データベースの現行のステータスを判断できる。

(Oracle9iR1 Oracle9i DataGuard_003)
・データ可用性モードの構成表
        ログ書込 NW     Disk書込  REDOログ 障害解決
        プロセス 送信モード オプション 受信OP  オプション
 保証付き保護 LGWR   SYNC    AFFIRM   Stb Rdo  Protected
 即時保護   LGWR   SYNC    AFFIRM   Stb Rdo  Unprotected
 迅速保護   LGWR   ASYNC    NOAFFIRM  Stb Rdo  Unprotected
 遅延保護   ARCH   ASYNC    NOAFFIRM  Stb Rdo  Unprotected

 ※LGWR、ARCH、SYNC、ASYNC、AFFIRM及びNOAFFIRMは、目標となるパフォーマンスに合わせて
  どのような組み合わせでも設定できる。

・REDOログ受信の可能性
 概要図はメモファイル(.png)参照。

 ・スタンバイREDOログ・ファイルは、REDOログ・グループの別個のプールを構成する。
 ・スタンバイREDOログ・ファイルは、データをスタンバイ・データベースに適用できる状態になる前に
  アーカイブする必要がある。
 ・プライマリ・データベースにスタンバイREDOログ・ファイルを作っておく。
 ・「非データ消失」障害時リカバリ・ソリューションを実装する場合は、スタンバイREDOログファイルが必要。

・スタンバイREDOログ・ファイルの作成
 ・ALTER DATABASE文のADD STANDBY LOGFILE句を使用して作成する。
 ・最小構成は、プライマリ・データベースと同じ数のグループ
 ・構成を最適にするには、RFSトレース・ファイルとアラート・ファイルを参照する。
 ・MAXLOGFILES、MAXLOGMEMBERS、及びLOG_FILESの各オプションを考慮する。
   ALTER DATABASE ADD STANDBY LOGFILE ('/dbs/log4c.rdo') SIZE 10M;
   ALTER DATABASE ADD STANDBY LOGFILE MEMBER '/dbs/log4c.rdo' TO GROUP 4;
  ・・・スタンバイ側で実行。プライマリ側のスペックに合わせる(同じ構成)か、それ以上の
     グループファイル数(チェックポイントの頻度を合わせる)
 ・グループの数がプライマリ・データベースよりも少し多いというのが最適な構成。
 ・RFSプロセスで、アーカイブが完了していないために頻繁にグループ待ちが発生しているようであれば、
  スタンバイREDOログ・グループを追加。
 ・スタンバイREDOログ・ファイルの監視には、v$logfileビューだけでなく、v$standby_logビューも
  使用できる。
 ・スタンバイREDOログ・グループの番号は、既存のオンラインREDOログ・グループの番号と異なっている必要がある。

・管理リカバリの終了
 ・REDOログ・エントリがLGWRによってスタンバイ・データベースに送信されている場合は、スタンバイREDOログ・ファイルを
  使用している。
 ・スタンバイ・データベースをアクティブにするには、次の方法がある。
  ・強制的にアクティブにする
   ALTER DATABASE ACTIVATE STANDBY DATABASE SKIP STANDBY LOGFILE;
   (すぐアクティブ、データのバラつきの可能性)
  ・コミット済のトランザクションを全て適用する。
   ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;
   RECOVER MANAGED STANDBY DATABASE FINISH;
  ・アーカイブ・ログ・ファイルを登録してリカバリをFINISHする(ログ転送サービスを使っていない場合)
   ALTER DATABASE REGISTER PHYSICAL LOGFILE '/standby/arch_dest/*.arc';

・フェイルオーバー
 ・これまで、フェイルオーバーはプライマリ・データベース・ロールをスタンバイ・データベースに移す唯一の方法。
 ・通常は、プライマリ・データベースが予期せず故障した場合にのみ実行。
 ・プライマリ・データベースは破棄され、新しいスタンバイ・データベースとしては使用できない。これは、
  ACTIVATE STANDBYコマンドの間に実行されるresetlogs操作によるもの。
 ・新しいスタンバイ・データベースが作成されるまでの間は、システムが危険に曝される。
 ・Oracle9iでも、フェイルオーバーは非常に危険な状況での最後の手段として使用する。
 ・フェイルオーバーは、非常に危険な状況での最後の手段。
 ・alter database activate standby database;

・スイッチオーバー
 ・Oracle9iでは、プライマリ・データベースとスタンバイ・データベースのロールを交互に切り替えることができる。
 ・フェイルオーバーとは違い、定期的に行う操作
 ・スイッチオーバーを実行するたびに、新しいスタンバイ・データベースを再作成する必要はない。
 ・スイッチオーバーは、次の条件が全て満たされている場合に実行できる。
  ・プライマリ・データベースにユーザー・セッションがなくなっていること。
  ・アーカイブ・ログ・ファイルが使用可能であること。
  ・プライマリ・データベースのREDOログ・ファイルが使用可能であること。
  ※ Real Application Clustersを使用している場合、スイッチオーバー操作を実行できるインスタンスは
    1つのみ。他の全てのインスタンスは、スイッチオーバーを実行する前にシャットダウンされている
    必要がある。
 ・スタンバイ・データベースに処理を移すコストとリスクが軽減された。
 ・プライマリ・データベースを、新しいスタンバイ・データベースにすることができる。
 ・スイッチオーバーは、多くの問題に対処できる方法
  ・診断が難しい問題をすばやく識別できる。
  ・ハードウェアのメンテナンス、パッチのインストール、オペレーティングシステムのアップグレード等
   による停止時間を短縮できる。
  ・論理的な破損にも、物理的な破損にも対応できる。

・データベースのスイッチオーバーの手順
1. プライマリ・データベース及びスタンバイ・データベースの読込みまたは更新アクティビティを終了する。
2. プライマリ・データベースでスイッチオーバーを準備する。
   SELECT SWITCHOVER_STATUS FROM v$DATABASE;・・・SWITCHOVER_STATUS列の値が「TO STANDBY」であることを確認。
   ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY:
3. 以前のプライマリ・データベースをシャットダウンし、インスタンスをマウントせずに起動する。
  ← 初期化パラメータ変更
4. 以前のプライマリ・データベースを、スタンバイ・データベース・ロールでマウントする。
5. 以前のプライマリ・データベースを、スタンバイ・データベースに切り替える準備をする。
   SELECT SWITCHOVER_STATUS FROM v$DATABASE;・・・SWITCHOVER_STATUS列の値が「TO PRIMARY」であることを確認。
6. 以前のスタンバイ・データベースをシャットダウンする。
7. 以前のスタンバイ・データベースを、プライマリ・データベース・モードで起動する。
  ← 初期化パラメータ変更
8. スタンバイ・データベースを管理リカバリモードにする。
9. プライマリ・データベースからスタンバイ・データベースへのアーカイブを開始する。
  ALTER SYSTEM ARCHIVE LOG START;
  ALTER SYSTEM SWITCH LOGFILE;

(Oracle9iR1 Oracle9i DataGuard_004)
・アーカイブギャップの自動リカバリ
 ・アーカイブギャップはスタンバイ・データベースで次のアーカイブ・ログ・ファイルを処理できない
  場合に発生する。
 ・アーカイブギャップは、次のような原因で発生する。
  ・初期起動時に、スタンバイデータベースが、まだアクティブになっていないため
  ・通常の操作時に、一時的なネットワーク問題のため
 ・アーカイブギャップは自動的に検出される。
 ・欠落したログは、自動的に転送されて適用される。

・アーカイブ・ギャップの自動リカバリの構成
 ・管理リカバリ・モードが有効になっている必要がある。
 ・スタンバイ・データベースにおいて、次の初期化パラメータを有効にする。
  ・FAL_CLIENT
  ・FAL_SERVER
 ・これらの初期化パラメータは、対応するtnsnames.oraファイルのネット・サービス名に対応する。
  ・FAL_CLIENTはスタンバイ・データベースを表す。
  ・FAL_SERVERはプライマリ・データベース、または別のスタンバイ・データベースを表す。
 ・管理リカバリ・モードで起動
 ・スタンバイ・データベースで、FAL_CLIENT初期化パラメータ及びFAL_SERVER初期化パラメータを指定する必要がある。

・アーカイブ・ギャップの監視
  SELECT thread#、low_sequence、high_sequence FROM v$archive_gap;
  THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
  ------- ------------- --------------
     1      90       92
 ・アーカイブ・ギャップがない場合は、LOW_QUENCE#列の値と、HIGH_SEQUENCE#列の値が同じになるか、または行が
  表示されない。
 ・上の例では、スレッド1の90、91、92がギャップ。

・スタンバイ・データベース・ファイルの管理
 ・スタンバイ・データベースでの表領域のデータ・ファイルの追加及び削除が自動化された。
  この機能を有効にするには、初期化パラメータSTANDBY_FILE_MANAGEMENTをAUTOに設定する。
 ・AUTOに設定すると、スタンバイ・データベースで特定のファイル操作ができなくなる。
 ・スタンバイのディレクトリ構造の違いを容易にメンテナンスできるようになった。
  初期化パラメータDB_FILE_NAME_CONVERT及びLOG_FILE_NAME_CONVERTでは、複数のペアのファイル名を指定できる。
 ※現時点では、Oracle-Managed Files以外のファイルを、スタンバイ・データベースで自動的に削除することはできない。
  したがって、プライマリ・データベース上の表領域をファイルと共に削除(DROP TABLESPACE・・・INCLUDING DATAFILES)
  しても、スタンバイ・データベース上のファイルは削除されない。

・バックグラウンド管理リカバリ・モード
 ・管理リカバリを実行するバックグラウンド・プロセスを作成できるようになった。← プロンプトが返ってくる
   ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;
   RECOVER MANAGED STANDBY DATABASE DISCONNECT;
  ※FROM SESSIONつける/つけないは、現時点では差はない。
 ・管理リカバリを実行するMRPというバックグラウンド・プロセスを作成できるようになった。

・管理リカバリの監視
  SELECT process、status、thread#、sequence#、block#、blocks FROM v$managed_standby;
PROCESS STATUS    THREAD# SEQUENCE# BLOCK# BLOCKS
------- ------------ ------- --------- ------ ------
MRP0  APPLYING_LOG       1       946     10   1001
 ・スタンバイデータベースのv$MANAGED_STANDBYビューに対して、問合せを発行する。

・遅延時のスタンバイ・データベースの更新
 ・スタンバイ・データベースでのログの適用を遅延させることができる。
 ・ログの転送は通常どおり行われる。
 ・遅延時間はデータベース管理者が構成する。
  ①LOG_ARCHIVE_DEST_n='SERVICE=stby1 DELAY 30' ・・・分単位、プライマリ側
  ②RECOVER MANAGED STANDBY DATABASE NODELAY;・・・スタンバイ側
 ・これにより、入力ミスや破損したデータがスタンバイ・データベースに伝播される可能性を
  低くすることができる。
 ※①と②で矛盾した場合、スタンバイ側(②)が優先される。

・パラレル・リカバリ
 概要図は、メモファイル(.png)参照。

 RECOVER MANAGED STANDBY DATABASE PARALLEL 2;
 ・複数の別々のディスクにあるデータ・ファイルを同時にリカバリする場合、リカバリ時間の短縮にはパラレル・リカバリ・オプション
  が最も効果的。

・その他の拡張
 ・REDOログ・ファイルでは、次のことが可能になった
  ・ログ・スイッチなしでの現行のREDOログ・ファイルのアーカイブ
   ALTER SYSTEM ARCHIVE LOG CURRENT NOSWITCH;
   ・・・マウント状態で行うコマンド。OPEN時にログ・スイッチすることを予約する。
  ・マウンド状態でのアーカイブ
  ・制御ファイルのバックアップ使用時のアーカイブ(オンラインREDOファイルごと)
   ALTER SYSTEM ARCHIVE LOGFILE '/dbs/log2a.rdo' USING BACKUP CONTROLFILE;
    /dbs/log2a.rdo・・・CURRENT以外も指定可能。但し、普通は指定しない。
 ・オープン状態またはマウント状態でログスイッチを行わなくても、現行のREDOログ・ファイルをアーカイブできるようになった。
   ALTER SYSTEM ARCHIVE LOG CURRENTコマンドのNOSWITCHオプション
   cf) オープン状態で実行すると、データベースが自動的にクローズ(nomount状態)
  ・アーカイブログ・リポジトリ
  ・アーカイブ関連の初期化パラメータを動的に設定でき、文字列全体を入力しなおすことなく、アーカイブ属性を変更できる。
・アーカイブ・ログ・リポジトリは、スタンドアロンのデータファイルのないスタンバイ・データベース。
・LOG_ARCHIVE_DEST_n初期化パラメータは、データベースの起動後でも動的に設定または消去でき、初期化パラメータ文字列全体を
 入力しなおすことなく、接続先の属性を変更できる。
 → DataGuard スタンバイ・データベース動的対応
 ・REMOTE_ARCHIVE_ENABLE= TRUE(デフォルト) | FALSE(手動リカバリ環境及びテスト・リカバリ環境)

・LOG_ARCHIVE_DEST_nの属性が追加された。
 ・ALTERNATE:別の接続先へのフェイルオーバーの自動化
 ・MAX_FAILURE:REOPEN時の障害件数の最大値(アーカイブの失敗回数 → ALTERNATE)
 ・QUOTA_SIZE:ローカル接続先にアーカイブできるブロックサイズの最大数(512バイトを単位としたブロック数)
 ・DEPENDENCY:アクセス可能なローカル接続先に依存するスタンバイ接続先
 ・v$ARCHIVE_DEST_STATUSによる監視

・Oracle9iでは、アーカイブ先を最大16個まで指定できる。(これまでは最大5個)

(Oracle9iR1 Oracle9i 高可用性テクノロジー_002)
・時間ベースのファスト・スタート・リカバリの制限
 ・Oracleデータベースの概要図は、メモファイル(.png)参照。
 ・チェックポイントが頻繁に発生する場合は、パフォーマンスとリカバリ時間のバランスを見つける
  必要がある。
 ・多くのサービス・レベル契約には、平均リカバリ時間(MTTR)の制限が規定される
  (インスタンスリカバリ、クラッシュリカバリ)
 ・データベース管理者は、データベースのリカバリに要する時間の制限を確実に設定できなければならない。
 ・Oracle9iは、時間ベースのファスト・スタート・リカバリを採用している。
 ・この機能を使うと、データベース管理者はリカバリ時間のターゲットを秒単位で指定できる。
 ・Oracle9iインスタンスは、内部設計の最適値を自動的に決定して、指定されたターゲットを満たす。
 ・リカバリ時間は、次の時間によって決まる。
  ・REDOログ・ファイルの読み取り時間
  ・リカバリするデータ・ブロックの処理時間
 ・LOG_CHECKPOINT_INTERVALは、読み取るREDOログ・エントリの数を制限。
 ・FAST_START_IO_TARGETは、リカバリするデータ・ブロックの数を制御。
 ・但し、データベース管理者はこれらのパラメータのみを使用してMTTR制限を設定することはできない。
 ・新しいパラメータFAST_START_MTTR_TARGETを使用すると、データベース管理者はクラッシュリカバリに要する見積り秒数を
  指定できる。
 ・内部的には、これは次の設定値に変換できる。
  ・FAST_START_IO_TARGET
  ・LOG_CHECKPOINT_INETRVAL
 ・この機能により、データベースのクラッシュリカバリ時間の制限が大幅に簡素化され、その精度が高まる。
 ・FAST_START_MTTR_TARGETは、動的パラメータ。
   ALTER SYSTEM SET FAST_START_MTTR_TARGET=60; ← 秒数
 ・RACでは、クラッシュリカバリの推定MTTRの最大値は、全てのインスタンスに設定されている、
  全てのFAST_START_MTTR_TARGETパラメータ値の合計。
 ・リカバリ中、Oracle9iインスタンスはチェックポイントREDOバイトアドレス(チェックポイントRBA)から始まる変更を再実行する。
 ・チェックポイントの位置を進めると、リカバリ時間が短縮する。
 ・これまでは、4つのパラメータでチェックポイントの前送りを制御していた。
  ・DB_BOLCK_MAX_DIRTY_TARGET・・・9iより廃止

  ・FAST_START_IO_TARGET
  ・LOG_CHECKPOINT_INTERVAL
  ・LOG_CHECKPOINT_TIMEOUT
  → このパラメータが明示的に設定されている場合、fast_start_mttr_targetは無視される
    (このパラメータの値が採用される)

・既存のパラメータの変更
 ・DB_BOLCK_MAX_DIRTY_TARGETは削除された。
 ・FAST_START_IO_TARGETまたはLOG_CHECKPOINT_INTERVALが指定されている場合、FAST_START_MTTR_TARGETによって
  計算されている値が上書きされる。
 ・LOG_CHECKPOINT_TIMEOUTの動作には変更はない。

・v$INSTANCE_RERCOVERYの変更
 ・3つの列が新しく追加された
 ・3つの列は、以前の情報を優先する。これらの情報は、互換性のために保持される。
 ・新しい列は、次の通り
  ・TARGET_MTTR:FAST_START_MTTR_TARGETパラメータのユーザー設定値
  ・ESTIMATED_MTTR:使用済のバッファの数とログ・ブロックの数に基づく現在の見積MTTR。

・フラッシュバック問合せの概要
 ・この機能を使用すると、過去のある時点におけるデータベースの一貫性のあるデータを問い合わせることができる。
 ・ユーザーは、システム時刻またはシステム変更番号(SCN)に基づいて、過去の一時点を指定できる。
 ・その時刻までにコミットされたデータのみ見ることができる。
 ・考えられるアプリケーション
  ・自己サービス修正(間違った更新データを戻したい)
  ・電子メールのようなパッケージ・アプリケーション
  ・トレンド分析用の意思決定システム(昔のDSSデータを保存)
 ・自己サービス修正アプリケーション・・・論理的な矛盾を発生させないように注意する必要がある。

・フラッシュバック問合せ
 ・フラッシュバック問合せは、自動UNDO管理機能を使用する。
 ・ロールバック情報は、システムレベルで指定された保存期間にわたって保持される。
 ・保存期間内の時刻に処理された問合せは、スナップショットを再構築するのに十分なロールバック情報を持っている。
 ・フラッシュバック問合せは、セッションレベルで有効になる(実行中、自分自身でDDLを発行できない)
 ・フラッシュバック問合せを無効にする前にオープンされたPL/SQLカーソルは、DMLの実行に使用できる。
 ・DML操作とDDL操作、及び分散処理は、セッションがフラッシュバック問合せモードで動作している時は許可されない。
 ・システム時間でフラッシュバッククエリ → 約5分待つ必要がある。
 ・データベース管理者は、データを再構築するのに十分な長さのロールバック保存期間を設定する必要がある。
   ALTER SYSTEM SET UNDO_RETENTION=<秒>;
 ・DBMS_FLASHBACKパッケージは、必要なインターフェイスを提供する。
   EXECUTE DBMS_FLASHBACK.enable_at_time('9-NOV-01:11:00:00');
   SELECT * FROM employee;
   EXECUTE DBMS_FLASHBACK.disable;
 ・この機能を使用するには、DBMS_FLASHBACKの実行権限が必要。

(Oracle9iR1 Oracle9i 高可用性テクノロジー_003)
フラッシュバックの使用例は、メモファイル(.png)参照の事。

・DBMS_FLASHBACKパッケージのインターフェイス
 ・ENABLE_AT_TIME
 ・ENABLE_AT_SYSTEM_CHANGE_NUMBER
 ・GET_SYSTEM_CHANGE_NUMBER
  ・・・現在のSCN値を返す。このインターフェイスでは、ユーザーは現在の変更番号を取得して、
     後で使用するために格納できる。
 ・SMONプロセスは、指定された時刻に対応するSCNに変換する。
 ・フラッシュバック問合せ機能は、削除コマンドや切捨てコマンド等のDDL文を元に戻すことはできない。
 ・フラッシュバック問合せ機能は、PL/SQLパッケージ・プロシージャまたはファンクションには適用されない。

・フラッシュバック問合せとOracle LogMiner
 ・どちらのツールも、特定のユーザー・エラーをロールバックするために同じように使用できる。
 ・フラッシュバック問合せはUNDOセグメントを使用する。
 ・その範囲は、保存期間によって決まる。通常、この期間は領域要件のために短くなる。
 ・LogMinerは、現在及び過去のREDOログ・ファイルを処理する。このため、さらに過去にさかのぼることができる
  (ログを使ったリカバリ(不完全回復)できる) = DB停止 = 全てのデータが戻る
 ・フラッシュバック問合せは、設定が高速で簡単。
 ・LogMinerは他の目的で使用でき、GUIインターフェイスを備えているが、全てのデータ型をサポートしているわけではない。
 ・フラッシュバック問合せ・・・定期的にSCNを取得するスクリプトを実行したほうがよい。

・再開領域割当の概要
 再開領域割当では。次のものを提供する。
 ・修復可能なエラーの発生時に大規模データベース処理の実行を一時停止及び再開する機能。
 ・領域制限及び領域不足の状態に関するエラーのサポート。
 ・データベース管理者が修復措置を講じてエラー状態を解決する機会。
 ・処理を自動的に継続するトリガーの定義
 ・ロールバックにかかる時間は、その処理が失敗するまでの実行時間に匹敵する。

・再開領域割当のライフサイクル
 ・再開領域割当は、ALTER SESSIONコマンドを使用して有効にする。
 ・次の何れかの状態が発生すると、文が一時停止する。
  ・領域不足の情報
  ・エクステントの最大数に達した状態
  ・領域の割当制限を超過した状態
 ・文が一時停止された場合は、次のことが可能。
  ・アラートログへのエラーの報告
  ・システム・イベント・トリガー、AFTER SUPENDの実行
 ・エラー状態が解消されると、一時停止されていた文が自動的に再開される。
 ・ユーザーは、DBMS_RESUMABLEパッケージでUSER(DBA)_RESUMABLEビューを使用してエラー・メッセージ・データに
  アクセスできる。

・再開領域割当の処理対象
 ・問合せ:一時領域(テンポラリ領域)を使い果たしたSELECT文。
 ・DMLコマンド:INSERT、UPDATE、DELETE(UNDO領域)は再開領域割当の処理対象になる。
 ・インポート/エクスポート:再開領域割当オプションを使用して起動された場合
 ・SQL*Loader:再開領域割当オプションを使用して起動された場合
 ・様々なDDLコマンド
 ・新しいパラメータのRESUMABLE=Yは表領域不足イベントを待ち、RESUMABLE TIMEOUTはタイムアウトを指定する。

・セッションの再開領域割当の有効化
  ALTER SESSION ENABLE RESUMABLE TIMEOUT 60 NAME 'Starting Point';
   60・・・秒(デフォルト7200秒(2時間)、時間はコントロールした方がよい)
   'Starting Point'・・・dba_resumableディクショナリビュー name項目に追加
  ALTER SESSION DISABLE RESUMABLE;
  ALTER SESSION ENABLE RESUMABLE NAME 'new name';
  → 自分自身を変更

  call DBMS_RESUMABLE.SET_TIMEOUT(・・・);
  call DBMS_RESUMABLE.SET_SESSION_TIMEOUT(・・・); 
  → 指定されたセッション

  ・新しいセッションのデフォルトはDISABLE。

・DBMS_RESUMABLEパッケージ
 これらはDBMS_RESUMABLEパッケージに含まれるプロシージャ及びファンクション。
 ・ABORT(sessionID)
 ・GET_SESSION_TIMEOUT(sessionID)
 ・SET_SESSION_TIMEOUT(sessionID、timeout)
 → 人のセッション
 ・GET_TIMEOUT()
 ・SET_TIMEOUT(timeout)
 ・SPACE_ERROR_INFO(error_type、object_type、object_owner、tablespace_name、obnject_name、sub_object_name)
 ・パラレルDML/DDLの場合、任意のセッションID
 ・パラメータ「timeout」の単位は、秒。

・AFTER SUSPENDシステム・イベント
 ・文の実行中に修復可能なエラーが発生すると自動的に実行される。
   create or replace trigger res_default ← 必須(ここから)
    after suspend on database
   DECLARE
    PRAGMA AUTONOMOUS_TRANSACTION; ← 必須(この行の「PRAGMA」まで)
    begin
    /* send an e-mail to notify DBA */
     COMMIT;
    end;
    /
 ・AFTER SUSPENDトリガー内で実行されるSQL文は常に再開不可能となる(ループを防ぐため)。
 ・このトリガーは、SYSスキーマで作成する必要がある。
 ・デッドロックを検出し、トリガー内で行われた作業をロールバックし、元の例外をユーザーに送出する。

・RESUMABLEシステム権限
 ・RESUMABLEシステム権限を使用すると、文を再開領域割当モードで実行できる。
 ・データベース管理者は、次の文を発行してユーザーにRESUMABLE権限を付与できる(必須)。
   GRANT RESUMABLE TO hr;
 ・データベース管理者は、次の文を発行してこの権限を取り消すことができる。
   REVOKE RESUMABLE FROM hr;

・DBA_RESUMABLEディクショナリビュー
  SESSION_ID  文のセッション識別子
  INSTANCE_ID  文のインスタンス番号
  SQL_TEXT   文の最初の1000文字
  NAME     文に指定された名前
  STATUS    RUNNING、SUSPENDED、ABORTED、TIMEOUT
  ERROR_NUMBER 最後に修復されたエラーのエラーコード(1)
  ERROR_MSG   (1)に対応するエラー・メッセージ
  START_TIME  文の開始時刻
  SUSPEND_TIME 文が一時停止された時刻
  RESUME_TIME  文が再開された時刻

(Oracle9iR1 エクスポート、インポートの拡張、SQL*Loader_002)
・sqlldr
 ・READSIZE
  ・データファイルからデータを読み込む場合にのみ使用される。制御ファイルからレコードを読み込む場合、
   常に64KBがREADSIZEになる。
  ・指定可能な最大サイズは、ダイレクト・パスロード及び従来型パス・ロードの両方で20MB。
  ・READSIZEにBINDSIZEより小さい値をしていた場合、READSIZEの値は増加する。
  ・READSIZEパラメータは、LOBに影響しない。LOB読込みバッファのサイズは64KBに固定。
 ・RESUMABLE・・・再開可能な領域割当を有効または無効にする。
 ・RESUMABLE_NAME・・・再開可能な文を指定する。
 ・RESUMABLE_TIMEOUT・・・エラー修正に必要な時間を指定
 ・ROWS(1回にコミットする行数)
  ・従来型パスロード・・・バインド配列の行数を指定
  ・ダイレクト・パス・ロード・・・データファイルからデータのセーブ前に読み込む行数を指定。
  ・ダイレクト・ロードでは、パフォーマンスを最適化するために、システムI/Oブロックと同じサイズ
   で同じ形式のバッファを使用する。
 ・SILENT
  ・HEADER・・・画面に通常出力されるSQL*Loaderのヘッダー・メッセージを非表示にする。
         但し、ログファイルには出力される。
  ・FEEDBACK・・・画面に通常表示される「commit point reached」フィードバックメッセージを非表示にする。
  ・ERRORS・・・レコードが不良レコードに書き込まれた場合、データ・エラー・メッセージがログ・ファイル
         に出力されないようにする。
  ・DISCARDS
   ・・・レコードが廃棄ファイルに書き込まれた場合に、そのことを示すメッセージがログ・ファイルに
      出力されないようにする。
  ・PARTITIONS
   ・・・パーティション表のダイレクト・ロード中、ログ・ファイルにパーティション毎の統計情報の
      書込みを使用禁止にする。
  ・ALL・・・全ての抑止値(HEADER、FEEDBACK、ERRORS、DISCARDS及びPARTITIONSパラメータ)を実装する。
 ・SKIP
  ・ファイルの先頭から何件の論理レコードをロード対象外とするか指定。
  ・デフォルト:レコードは1件もスキップされない。
 ・SKIP_INDEX_MAINTENANCE
  ・デフォルトfalse
  ・ダイレクト・パス・ロードの索引メンテナンスを停止。
  ・ローカル索引とグローバル索引の両方に適用できる。
  ・索引を持つオブジェクトのパラレル・ロードを実行できる。
  ・グローバル索引を持つ表に単一パーティションをロードできる(INTO TABLE句でPARTITIONパラメータを指定)。
  ・ロードによって索引使用禁止状態に設定された索引や索引パーティションのリストが(SQL*Loaderのログ・ファイルに)
   作成される。
 ・SKIP_UNUSABLE_INDEXES
  ・デフォルト:false
  ・trueを設定すると、表のロードとともにロード開始前の状態が索引使用禁止(IU)である索引もロードされる。
  ・false
   ・従来型パス・ロード
    ・・・挿入時に索引の更新が必要なレコードが存在する場合、そのレコードは挿入されずに拒否される。
   ・ダイレクト・パス・ロード
    ・・・使用不可(unusable)状態の索引に対して、索引メンテナンスが必要なレコードが検出された時点で
       ロード処理は終了する。
 ・STREAMSIZE・・・ダイレクト・パス・ストリームに対して、サイズをバイト単位で指定する。

・SQL*Loaderが0(ゼロ)以外の終了コードを返した場合、システム・ログ・ファイル及びSQL*Loaderログ・ファイルで、
 詳細な診断情報を確認する。

SQL*Loader制御ファイル
・WHEN句・・・1つ以上のフィールド条件を指定
・TRAILING NULLCOLS・・・相対位置に指定した列がレコード中に存在しない場合、その列の値はNULLとして
             処理される。
・フィールドリスト
・OPTION句
 ・実行時のパラメータをコマンドラインではなく、制御ファイル中で指定することができる。
 ・コマンドラインで指定された値は、制御ファイルのOPTIONS句で指定された値よりも優先される。
・SQL及びSQL*Loaderの予約語は、二重引用符で囲む。SQL*Loaderの予約語はCONSTANTのみ。
・SQL文字列を指定する場合は、二重引用符で囲む。
・一重引用符で区切られた文字列中で一重引用符を使用する場合も、その前にバックスラッシュを付ける。
・先頭位置の二重引用符はエスケープできない。そのため、先頭に引用符の付く文字列は作成しないこと。
・SQL*Loader制御ファイルには、オペレーティング・システム間で移植不能な、2種類の文字列がある。
 filename文字列及びfile processing option文字列。
・INDDN・・・DB2互換性が必要な場合に使用する。
・INFILE * ・・・データが制御ファイル中にある場合
・1回のSQL*Loaderの実行で複数のデータ・ファイルのデータをロードする場合、各データファイルに対して
 INFILE文を指定する。レコードのレイアウトは同じである必要はあるが、データ・ファイルに同じファイル
 処理オプションは必要ない。
・データが制御ファイルにある場合、最初のデータ・レコードの前に、BEGINDATAパラメータを指定する。
  BEGINDATA
  data
・不良ファイルの指定
 ・レコードが1つも拒否されない場合、不良ファイルは作成されない。この場合、次の実行のために不良ファイルを
  再度初期化する必要がある。
 ・不良ファイルが作成される場合、同じ名前の既存ファイルは上書きされる。そのため、残しておきたいファイルが
  上書きされないようにする必要がある。
 ・DB2互換性が必要な場合、BADDNを使用する。

(Oracle9iR1 エクスポート、インポートの拡張、SQL*Loader_003)
Oracle9iR2 データベース・ユーティリティ リリース2 5-19 ~
・LOBロード中エラーが発生した場合、0バイト(NULLにはならない)。
・LOBFILEを使用してXML列をロードし、このLOBデータのロード中にエラーが発生した場合、XML列はNULLになる。
・拒否レコードの条件
 ・レコードが不適切にフォーマットされて、SQL*Loaderがフィールドの境界を検索できない場合
・デリミタの指定が不適切であっても、WHEN句の指定条件に基づいてデータを評価できる場合は
 条件判断が行われ、データが挿入または拒否される。
・制御ファイル内から廃棄ファイルを作成するには、DISCARD filename、DISCARDDN filename(DB2)、
 DISCARDS、またはCARDMAXのいずれかを指定する。
・廃棄数の最大値を指定することで間接的に廃棄ファイルの生成を指示。
・レコードに対してINTO TABLE句が指定されていない場合、そのレコードは廃棄される。
・LOBFILE及びSDFのデータが、廃棄された行がある場合も、廃棄ファイルには書き込まない。
・制御ファイルでは、コメント及びオブジェクト名にもマルチバイト文字を使用できる。
・UTF16・・・一般的UnicodeのUTF-16エンコーディング
・UTF16・・・キャラクタ・セットの固有の名前で、UTF-16エンコーディングの使用時に
       CHARACTERSETパラメータに指定する必要のある用語
・マルチバイト固定キャラクタセット(例:AL16UTF16)は、データベース・キャラクタセット
 としてサポートされない。
・Oracleデータベース・サーバーでは、ビッグ・エンディアン・バイト順序によるUTF-16エンコーディング
 のみが、データベース・キャラクタセットとしてではなく、データベース各国語キャラクタ・セット
 としてのみサポートされている。

Oracle10gR2

(Oracle10gR2 RAC Voting Disk)
・Oracle 10g ~
 RAC Voting Disk
  R1・・・Oracleレベルでは冗長化不可
  R2・・・Oracleレベルによる冗長化可能(10.2.0.2 ~)
 ・RAWデバイス、Cluster File System上に配置可能
  (ASM上に配置することは不可)

(Oracle10gR2 Oracle Database Extensions for .NET)
・Oracle10gリリース2
 「Oracle Database Extensions for .NET」
 ・・・ストアドプロシージャを、.NETで開発すること可能。
→ 9/12 -14、Oracle 10g Release2 Core Technology Seminarにて内容確認の事。

(Oracle10gR2 Oracle Database Release 2 Core Technology Seminar_001)
9/12(月) Oracle Database 10g Release2 Core Technology Seminar
・ASM → Data Grid
・1つのDB当り、1055インスタンスをサポート
・Oracle Clusterware(旧CRS) → 100ノード サポート
・Oracle Scheduler
 ・イベント・スケジューリング → イベント・ドリブン
 ・JP1 JOBNET化(ジョブのチェーン化、スケジューラの拡張)
・ASMインスタンス・・・(リリース1/2 両方サポート)
・FS → ASM移行(→ RAWデバイスは?)
・ASMのみ構成可。
・OEM Grid Control(Collaboration Suite、ASも管理可)
    DB Control
・RACサイレント・インストール
・データベース・トランスポート・・・同じエンディアン・プラットフォーム間
・FAN(高速アプリケーション通知)
★OCR領域 → 2つ以上、Voting Disk → 3つ以上 (リリース2より多重化)

・クラスタ検証ユーティリティ(Cluster Verification Utility)
★Clusterware Open API → Oracleコンポーネント + ユーザーコンポーネント(JP1エージェントは?)

・AWR情報の転送
・ASMCMD(ASMコマンドラインユーティリティ)
・Stream Poolも自動共有メモリー管理

★10gR2・・・表領域 自動セグメント領域管理・・・デフォルトでAUTO
・TDE(透過的なデータ暗号化)・・・データファイル内に限定
・CONNECT ROLE権限の縮小
・最大パーティション数・・・1024K - 1

・AW API(Java API)・・・Oracle OLAP
・データマイニング用PL/SQLパッケージ
・Oracle Text・・・日本語レクサー サポート
・XML Queryサポート(やっと!)
・Oracle interMedia:DICOM3.0サポート
・Oracle Spatial EPSG/GooRaster サポート
・データベース変更通知サービス(AP側でキャッシュしている場合)・・・OCI、ODP.NET APで利用可能。
・Unicode 4.0
・日本語カナ変換(ひらがな ←→ カタカナ)
・JDBC3.0サポート
・Linux/SolarisでODBCドライバ

(RMAN)
・透過時暗号化・・・Oracle Walletが必要。
・sqlnet.ora → Oracle WalletでOPEN
・マスターキー パスワード・・・任意
・暗号化・・・Oracle Advanced Security必要
・ブロック圧縮
 ・10.2.0.2.0 ~
 ・イメージコピー不可
・保証付きリストア・ポイント・・・FLASHBACK DATABASEを保証。FLASHBACKログ残ったまま(要注意)
・データベース・トランスポート
 ・エンディアンを超える移動は不可
 ・ソースDB・・・READ ONLYでOPEN
 ・生成されたcrdb.sql・・・ディレクトリパスは手動編集
・ブロック・チェンジ・トラッキング・ファイル → 高速増分バックアップ
★10gR2 ~ ローカル管理表領域 リカバリ時に自動再作成
・RMAN増分バックアップ・・・DataGuard フィジカルスタンバイDB、アーカイブギャップ発生時

・ファイングレインILM
・ILM導入のステップ
 1. クラスの定義(Ex) 日付)
 2. クラス用のストレージを構成
 3. データのアクセス先を移行
・ASMを使用して、ストレージ管理
・Oracle Streams・・・OLTPを → DSSへレプリカ
・表領域リポジトリ
 ・・・対象表領域が格納されているディレクトリ・パスに対し、ディレクトリ・オブジェクトを作成する必要がある。
・ATTACH_DATABASE/DETACH_DATABASE cf) SQLServer、但し、アタッチ/デタッチの意味が異なる。
・透過的なデータ暗号化・・・Oracle Advanced Security ライセンス必要
・DB外部からの機密データへの操作に対する保護
・デモ時にOracle内部エラー
・マスター・キー・・・列暗号キー(表ごと)を暗号化
          ・Oracle Wallet内に保持
          ・大文字/小文字は区別される。
・1つの表で複数の暗号化列、但し、同じ暗号化アルゴリズムを使用。
・索引キー・・・NO SALTを明示的に指定
★暗号化アルゴリズムの変更や暗号化の解除は、全件UPDATEに相当する処理が行われる。
・暗号化に使用できる列長に制限あり。
・FKが参照している列・・・暗号化不可
・暗号化列に対する索引
 ・B-TREEのみ
 ・レンジ・スキャンは使用されない。
・Data Pump Export/Importのみ暗号化サポート。

(Oracle10gR2 Oracleプロジェクト(Oracle Database Extensions for .NET))
・Oracleプロジェクト(Oracle Database Extensions for .NET)
 ・・・VB.NET/C#/Managed Cを使用して、.NETストアドプロシージャを作成するためのプロジェクト。
    ODT.NET 2005年11月(OTN-J)
    マニュアルは英語
    外部プロシージャの仕組み
    MS Common Language Runtime
・ODT 10.2を使用しない場合
 ・Create Library
 ・PL/SQLラッパー
・ODT 10.2を使用する場合
 1. Oracleプロジェクト作成
 2. .NETアセンブリ作成
 3. 配布ウィザード
   .NETアセンブリーのコピー、ラッパーの作成。

(Oracle10gR2 Oracle Clusterware VotingDisk、OCR Disk)
・Oracle Clusterware
 ・VotingDisk
 ・OCR Disk
 → Oracle側で冗長構成可。

(Oracle10gR2 DBサーバ Oracle10gR2 アップグレード時、Oracle Client側対応)
・DBサーバ Oracle10gR2 アップグレード
 → Client(web/APサーバ、開発PC)もupgrade

(Oracle10gR2 Oracle 10gR2 アップグレード手順)
・DBUA(データベース・アップグレード・アシスタント)
・手順
 ① アップグレードの準備
 ② アップグレード処理のテスト
 ③ アップグレードしたテスト・データベースのテスト
 ④ 本番データベースの準備及び保存
 ⑤ 本番データベースのアップグレード
 ⑥ 新しい本番データベースのチューニング及び調整
・RAC・・・ローリング・アップグレード(OPatch)
・以前のリリースからデータをインポートする場合、Oracle10gのインポートユーティリティでは、
 以前のリリースのエクスポート・ダンプ・ファイルを読み込む際に、データ定義に必要な変更を加える。
・統合テスト
 ・Pro*C/C++・・・テストする必要あり
・パフォーマンステスト
・ボリューム/ロード・ストレス・テスト
・DBUA・・・異なるOSへのデータ移行は不可。
・アップグレード前情報ツール
 $ORACLE_HOME/rdbms/admin/utlu102i.sql・・・spoolして実行結果を参照。
・Oracle10g・・・CONNECTロール・・・CREATE SESSION権限のみ
・TIMESTAMP WITH TIMEZONEデータ型
 ・・・UPGRADE前に、10gR2の$ORACLE_HOME/rdbms/admin/utilt2uv2.sqlを実行すること。
・Oracle10gR2アップグレード前、ディクショナリ表の統計情報を取得しておく
 (DBMS_STATS.GATHER_DICTIONARY_STATS)

・データベースの手動でのアップグレード
 ・データベースのバックアップ
 ・新しいORACLE_HOMEの準備
 ★RAC環境では、CLUSTER_DATABASE初期化パラメータをfalseに設定
 ・データベースのアップグレード
  ※ oradimコマンド サービス再作成操作含む
  ① startup upgrade
  ② $ORACLE_HOME/rdbms/admin/catupgrd.sql・・・アップグレード実施(大きなRBSのオンライン、他をオフラインにしておく)
  ③ $ORACLE_HOME/rdbms/admin/utl102s.sql・・・アップグレード後の結果を表示
  ④ Oracleインスタンス再起動
  ⑤ $ORACLE_HOME/rdbms/admin/utlrp.sql・・・全てのPL/SQLモジュール及びJavaコードを再コンパイル
  → 質問) Oracle Cluster Ready Service → Oracle Clusterwareアップグレードは、
       いつ実施するのか?

・アップグレード後に行う作業
 ① データベースのバックアップ
 ② 表領域アラートの閾値の設定
 ③ LONG → LOB型 データ移行
 ④ TIMESTAMP WITH TIMEZONEデータ型 データ移行
 ⑤ DBユーザー ロックはずし
 ⑥ Oracle Cluster Registory(OCR)構成のアップグレード

・クライアント環境を変更しない場合、再リンクは不要。
◎Oracle Client Upgrade → 質問)web/APサーバ等も10gR2にupgradeする必要あるか? 
              → MIDMOSTの都合上、upgradeする必要あり(サポート期間)

(Oracle10gR2 export ダンプファイル 互換性)
・import/export
 ★exportダンプファイルは、それより以前のimportとは互換性はない。
  10gR1 exportは10gR1で → 10gR2importは10gR2で!

(Oracle10gR2 Oracle初期化パラメータENQUEUE_RESOURCESについて)
・Oracle初期化パラメータ
 ★ENQUEUE_RESOURCES・・・10gR2で廃止

(Oracle10gR2 Oracle初期化パラメータRECYCLEBIN)
・Oracle10gR2 ~ 初期化パラメータRECYCLEBIN
  OFF・・・削除された表はゴミ箱には行かない。
  ON(デフォルト)・・・削除された表はゴミ箱に入り、リカバリ可能。
※ Oracle10gR1隠しパラメータ「_recyclebin」は、10gR2ではサポート外
  (Oracle起動時にエラー発生)

(Oracle10gR2 CREATE TABLESPACE SEGMENT SPACE MANAGEMENT句 デフォルト値)
★Oracle10gR2 ~ CREATE TABLESPACE
 ・SEGMENT SPACE MANAGEMENT(自動セグメント管理)
  デフォルトではAUTO(自動セグメント管理あり)

(Oracle10gR2 emctl start subagentコマンドでプロンプト返らない、「not running」の表示)
12/18(月) Oracle主管部 川嶋殿より以下の回答あり
・emctl start subagentでコマンドプロンプト返らない
・emctl status subagentで「not running」の表示
→ subagentとしては正しく起動できており、snmputilユーティリティにてMIB値を獲得できている。
→ OEM 10gR2 Management Agentの製品仕様。Oracle社にて改修の予定なし
  (改修の必要がある場合、US Oracle社へエスカレーションする必要あり(数ヶ月以上の期間を要する)
   12/20(水)PM、Oracle主管部 川嶋殿より)

(Oracle10gR2 Oracle10gR2 DataGuard FSFO)
pro-obs01・・・Oracle10gR2 DataGuard FSFO(監視サーバ)

(Oracle10gR2 Oracle初期化パラメータDG_BROKER_START)
・Oracle初期化パラメータDG_BROKER_START
 ・・・Data Guard Broker(DMON)プロセスを起動する必要があるかどうかを、決める。

(Oracle10gR2 /etc/oratab 自動起動 無効化)
・自動起動無効化 oratab
 /etc/oratab 修正作業

(Oracle10gR2 Oracle10gR2 DataGuard Broker新機能、DataGuard Broker、ブローカ構成ファイル、observer)
・Oracle10gR2 DataGuard Broker新機能
 ・RACサポート
 ・リアルタイム適用・・・REDOファイルが一杯になると、スタンバイREDOログファイルからリカバリ。
             RealTimeApplyプロパティ
 ・自動パラレル適用のサポート・・・ParallelApplyプロパティ
 ・健全性チェック・ステータス・リポート・・・GUIの「Verify」ページ
 ・ロジカル・スタンバイ・データベースによる、スタンバイREDOログファイルのサポート

・Oracle DataGuard Broker
 ・・・DataGuard構成の作成、メンテナンス、監視を自動化及び集中化する分散管理フレームワーク。
    ・DataGuard構成の自動作成
    ・スタンバイDBの追加(最大9個)
    ・DataGuard構成全体の管理
    ◎単一コマンドによる、スイッチオーバー/フェイルオーバー起動と、ロール変更の開始と制御
     → スイッチオーバー自動化
    ・ステータス管理、診断情報など

・Oracle DataGuard Broker
 (クライアント側)
 ・DataGuard GUI
 ・DataGuard CLI(DGMGRL)
 (サーバー側)
 ・DataGuardモニター
  ・DMONプロセス・・・各データベース・インスタンスに対して起動
  ・構成ファイル
  ・他のDBのLOCAL_LISTENER初期化パラメータのアドレス値を参照
   → DMONプロセス通信に必要な接続記述子を構成。
     [DMON] ←→ [DMON]
      双方向のOracleNet Services通信チャネル

・Oracle DataGuard Brokerの全体構成図は、メモファイル(.png)参照。

・ブローカ構成ファイル
 ・初期化パラメータ DG_BROKER_CONFIG_FILE1/2
・オブザーバー(observer)
 ・・・プライマリ・データベースおよびターゲット・スタンバイ・データベースを継続的に監視し、
    フェイルオーバーの必要性を評価して、条件を満たしたときにファスト・スタート・フェイルオーバー
    (自動的にフェイルオーバーすること)を開始するDGMGRLクライアント。

(Oracle10gR2 Oracle DataGuard スタンバイDB作成(再構築)方法)
・Oracle DataGuard スタンバイDB作成(再構築)方法
 ・コールドバックアップからのリストア
 ・RMANバックアップからのリストア
 のみ、Oracle社でサポート。
※ BEGIN BACKUP → ファイルコピーでの、スタンバイDB作成(再構築)は、Oracle社サポート外。

(Oracle10gR2 Linux Oracle Universal Installerありか)
・Linux Oracle Universal Installerありか
  $ORACLE_HOME/oui/bin/runInstaller

(Oracle10gR2 DataGuardオブザーバ構成削除、v$ARCHIVE_DEST_STATUS RECOVERY_MODE列)
・オブザーバ構成削除
 DGMGRL> REMOVE CONFIGURATION
  DataGuard構成ファイルから、全てのデータベース・プロファイルを含む全ブローカ構成情報を
  削除し、ブローカ構成情報に関連付けられている全てのデータベースのブローカ管理を終了
  する。
・v$ARCHIVE_DEST_STATUS RECOVERY_MODE列
 ・IDLE  管理リカバリがActiveではない
 ・MANUAL 手動メディア・リカバリ
 ・MANAGED 管理リカバリ
 ・MANAGED REAL TIME APPLY
  ・・・ログの書き込みと同時にスタンバイREDOログからREDOデータをリカバリ。

(Oracle10gR2 v$database SWITCHOVER_STATUS列)
v$database SWITCHOVER_STATUS列
・SESSIONS ACTIVE
 ・・・プライマリまたはスタンバイデータベースに接続されたアクティブSQLセッションがあり、
    スイッチオーバーを許可する前に、そのセッションを切断する必要がある。

(Oracle10gR2 DROP TABLE ~ PURGE)
・DROP TABLE ~ PURGE
 ・・・表を削除して、その表に関連付けられた領域を解放する。

(Oracle10gR2 Oracleクエリーリライト)
◎Oracleクエリーリライト
 ・・・表またはビューに対するSQL文を、ディテール表に定義された1つ以上の
    マテリアライズド・ビューにアクセスする文に変換する。

(Oracle10gR2 Oracle初期化パラメータcommit_point_strength)
・Oracle初期化パラメータcommit_point_strength
 ・・・分散トランザクション内のコミット・ポイント・サイトを決定する値を指定。
    commit_point_strengthの最大の値を持つノードがコミット・ポイント・サイト
    になる。
→ NUL石原さん、4/27基盤T FB中に指摘あり。この値が既定値のままだと、2 phase
  トランザクションでin-doubtコミットの恐れあり。

(Oracle10gR2 Oracle DataGuard 解除手順)
(Oracle DataGuard 解除手順)
① スタンバイDB削除
② プライマリDB側スタンバイREDOログ削除
③ プライマリDB側Oracle初期化パラメータコメントアウト
  ・LOG_ARCHIVE_DEST_3
  ・FAL_CLIENT ・FAL_SERVER
  ・LOG_ARCHIVE_CONFIG
  ・LOG_ARCHIVE_DEST_STATE_3
  ・DB_FILE_NAME_CONVERT
  ・LOG_FILE_NAME_CONVERT
  ・STANDBY_ARCHIVE_DEST
  ・STANDBY_FILE_NAMAGEMENT

(Oracle10gR2 DBA_TAB_PARTITIONS GLOBAL_STATS列)
・DBA_TAB_PARTITIONS
  GLOBAL_STATS列・・・パーティション全体の統計情報なのか(YES)、
            サブパーティションの統計情報から推定されものなのか(NO)

(Oracle10gR2 Oracle ET$~)
・Oracle ET$~・・・Data Pump外部テーブル

(Oracle10gR2 MVIEW(スナップショット)リフレッシュ時にORA-1発生)
・Oracle マテリアライズド・ビュー KROWN#19908
 MVIEW(スナップショット)リフレッシュ時に、ORA-1発生
 → 回避策
   :MVIEWに一意制約(索引)を設定する際に、下記オプションを付加するのみで
    解消可能。
     deferrable initially deferred

(Oracle10gR2 Oracleロックタイプ TX、ITL)
・Oracleロックタイプ TX・・・行ロック
 ITL(Interested Transaction List)
 ・・・データブロック内に配置され、データブロック内の変更情報を管理しているリスト構造で、
    UNDO領域への中継役。
    マルチバージョニングによる読み取り一貫性にも使用されている。
    → 領域不足などでITLを拡張できない場合、トランザクションは待機状態になる。
 → オブジェクト作成時、「INITRANS」パラメータによって決まり、最大値はブロックサイズに依存。
   → PCTFREE、INITRANS(1つ24バイト)の調整が必要。

(Oracle10gR2 エンキュー)
・エンキュー
 ・・・データベース・リソースへのアクセスをシリアライズする共有メモリの構造(ロック)。

(Oracle10gR2 OPEN_CUSORS)
・Oracle
 ・open_cursors・・・1つのセッションが同時にオープンできるカーソル数。
           このパラメータに抵触する場合、ORA-01000が返る。

(Oracle10gR2 Oracle初期化パラメータDML_LOCKS)
Oracle初期化パラメータDML_LOCKS
・・・トランザクションで変更される表ごとのDMLロックの最大数。

(Oracle10gR2 Oracle概要図)
メモファイル(.png)参照のこと。
PGA = クライアントプロセス

(Oracle10gR2 Oracle Database Release 2 Core Technology Seminar_002)
・CONNECTロール・・・CREATE SESSION権限のみ。
           ALTER SESSION SET SQL_TRACE時には、ALTER SESSION権限が必要。
・10gR2
 ◎USER_DB_LINKS・・・パスワードは暗号化されて格納。
・Oracle OLAP・・・傾向、予測分析
・Oracle Data Mining・・・隠れた情報の発見

・ディメンション・・・切り口、階層を複数定義
 メジャー・・・要素(分析対象)
・M-OLAP・・・専用のフォーマットで格納
・OLAP・・・4GL
・Oracle OLAP・・・SQL文
・論理モデル・・・OLAPカタログ、もしくはAnalysis Workplace ← BLOBとして格納(10g~パーティション分け可)
・物理モデル・・・リレーショナル表、、もしくはAnalysis Workspace
・ディメンションの組み合わせ → オフセット(番地) → メジャー(データ)へのインデックスの働き(配列とポインタ)
・10g ADT、OLAP_TABLE・・・自動生成
・OLAP DML(4GL)
・OLAP_DBAロール、必要データのアクセス権限
・ディメンションのメンテナンス
・OLAP・・・仮説検証型アプローチ
・データマイニング・・・仮説探索型アプローチ、プログラム(アルゴリズム)
・CRISP-DM
・Predicable Analysis
  EXPLAIN/PREDICT(予測)
・DMSYS

(Oracle 10g Data Guard)
・計画停止時間の削減
・フィジカルスタンバイ・・・あくまでもバックアップ
・ロジカルスタンバイ・・・IDX、MVIEW作成可、バックアップにならない。
・データファイルの自動追加・・・フィジカルスタンバイのみ
・OEM Grid Control
・リアルタイム運用(10g~)
 ・スタンバイ側オンラインREDOログに直接書き込み → 適用
・Flashback Database
 スイッチオーバー後、旧プライマリ側 DB作成時に活用
・RAC
 ★REDO適用ノードは1ノードのみ
 ・受信ノードは複数ノード可
 ・プライマリ ~ スタンバイのノード数、違っていてもよい。
 ・RAC ~ Singleの構成可
・ファスト・スタート・フェイルオーバー
 ・フェイルオーバー自動化
 ★障害復旧後、旧プライマリDBをスタンバイDBとして自動的に構成。
 ・Data Guard Broker構成・・・必須
・オブザーバー・・・DGMGRLに統合されたコンポーネント
・FastStartFailover Threshold・・・秒数
     ↓
 FastStartFailover Target・・・スタンバイDB
 → DGMGRLにて設定
・オブザーバは、旧プライマリサイトとの接続を確立し、旧プライマリDBが再びマウントされた時点で自動再構成を開始する
 (内部でFLASHBACK DATABADSE)
 Data Guard Broker構成 DMONの構成ファイル ← バイナリ
・オブザーバも構成ファイル(fsfo.dat) ← バイナリ

・10gR2 ~ 手動再構成
DGMGRL> REINSTATE DATABASE <旧プライマリDB名>;

・ファスト・スタート・フェイルオーバー
 DBはmount状態 → Data Guard側でOPEN
 DataGuard Broker構成の全てのRACインスタンスは、srvctlコマンドでSTART_OPTIONをmountに指定する。
・v$database FS_FAILOVER_STATUS
       FS_FAILOVER_OBSERVER_PRESENT
 → プライマリ側でファスト・スタート・フェイルオーバーを無効化。
・ロール変換の高速化(フィジカル)・・・DBの再起動の必要なし
 ※DB起動後、1回でも読み取り専用でOPENしている場合、DB再起動が必要。 cf) v$dataguard_status
・一時ファイル(一時表領域)自動作成
・10gR2 ~ ロジカルスタンバイ
 ・SQL Applyの再起動 必要なし
 ・不要アーカイブREDOログファイルの自動削除
・v$logstdby_progress SCN・・・プライマリ側SCN
・LOB、オーバーフロー・セグメントを含むIOTも10gR2よりサポート可。
・REDOログ転送のパラレル化
 初期化パラメータLOG_ARCHIVE_LOCAL_FIRSTがTRUEであること。
・DB_ROLE_CHANGEシステムイベント(→ トリガー作成用)
・FANイベントDB_DOWN
・スイッチオーバーを跨ったFlashback Database
 フィジカル・・・ロールは変わらない
 ロジカル・・・フラッシュバックした時点のロールに変更
・Grid Control・・・テスト・アプリケーションによる検証

(Oracle10gR2 Oracle Database Release 2 Core Technology Seminar_003)
(ASM)
・ASMインスタンス
 ・RAC
  ・パフォーマンス・・・RAWデバイスと同等
  ・リバランシング
  ・ASM・・・Oracleバイナリ、ログ、OCR、Voting Disk使用不可
  ・ディスク追加 → リバランス cf) VA 7410
   ASMのリバランスはファイル単位で
  ・RBAL・・・リバランス・プロセス
  ・rconfigユーティリティ(シングル → RAC変換ツール)
 ・ASMホーム、ORACLE_HOMEと独立して構成することが可能
 ・ASMCMDコマンドラインユーティリティ
 ・ASM Visual Folder
 ・リバランス操作のコントロール
  OEM DBControl RAWデバイス/FS → ASM
  DBMS_FILE_TRANSFER
 10gR2 ~
 ・GMON(disk Group Monitor)・・・ASMディスクグループを監視するバックグラウンド・プロセス

・CSS
 ・Oracle Clusterware CRSスタック
 ・メンバシップ
  DG_dgroup
  OSM_ALL
・シングル/RAC混在環境にて、共通のASMインスタンスを使用可能
・ASMのインストール・構成・・・OUI、DBCAから使用する。
・asmcmd使用時、ORACLE_SIDをASMインスタンスのSIDを使用する必要がある。
 ※ asmcmd・・・実体はPERLスクリプト
・ASM Visual Folder・・・Wev DAV、HTTP、FTP、データベースインスタンス上で使用
・ASM_POWER_LIMIT初期化パラメータ0(自動リバランスは無効)、1 ~ 11

(RAC#1)
10gR2
・・・サードパーティ製APも含め、Oracle Clusterwareが管理
    ← Oracleインスタンスと一緒のサービス構成は可。但し、サードパーティ製APのリソースを
     止めるなど(起動/停止のみ)の制御ができるかどうかは不明。
・CSSプロセッサのスケジューリング → 誤判断を防ぐ
・CRSリソースとして登録することにより、CRSデーモンの管理下へ
・OCLSMONデーモン
・racgimon・・・SGAにアタッチ、SGAの状態変化を監視
・カスタムCRSリソース
 ① アクション・プログラムの作成 ← シェル、Cスクリプト、雛形はなし。自作すること!
 ② アプリケーション・プロファイルの作成
 ③ アプリケーション・プロファイルをOCRに追加
 ④ 起動

・Application VIP
・Voting Disk冗長化(→奇数個用意すること)
・CRSスタック停止 → Voting Disk追加
・CSSは過半数のVoting Diskにアクセスできれば、問題ないと見なす。
・Disk Ping Thread/Disk Ping Monitor Thread
・OCR
 ・プライマリー/ミラー
 ・冗長構成
・Cluster Verification Utility
 ・Stage Verification
 ・Component Verification
・SCSI・・・RPM別途適用の事。
・cloneユーティリティ
・rconfigユーティリティ・・・ASM、NFSが対象。NLS_LANGは未設定にすること。

(RAC#2)
・「サービス」を単位とするリソース管理
・SERVICE_NAMES・・・10gより手動で書き換えないこと。srvctlコマンド等により書き換える。
・優先インスタンス
 使用可能インスタンス
・OEMによるっサービス管理
  OSユーザー、Oracleユーザー両方の認証
  バッチジョブとしてログオン権限(OSユーザー)
・サービス毎の集計 v$service_stats
・GV$SERVICEMETRIC
・ロード・バランシング・アドバイザ
・FAN
 10gR2 ODP.NET、OCI
・TAF・・・OCIのみ
◎Fast Connection Failover
 ・・・FANイベント 10gR1・・・JDBCのみ
          10gR2・・・ODP.NET、OCI
                → DOWNイベントのみ
 無効なConnectionのCleanup
 Oracle AS → ONS・・・JDBC
 Advanced Queuing・・・ODP.NET、OCI(10gR2)

・ons.config
 10gR1・・・ORACLE_HOMEのみ
 10gR2・・・ORACLE_HOME、ORACLE_CRS_HOMEの両方
  ORA_CONFIG_HOME = $ORA_CRS_HOME
・DBMS_SERVICE
・DBCA LOCAL_LISTENER ホストIP → VIPに変更すること。
・ランタイム接続ロード・バランシング
・SYS$SERVICE_METRICS_TAB
・ランタイム接続ロード・バランシングはCLB_GOALがLONG、SHORTでもサポートされる。
・ODP.NET
 ・pooling=true
 ・HA Events=true    FCF
 ・Load Balancing=true  RLB
・MAX_COMMIT_PROPAGATION_DELAY・・・将来リリースで廃止、10gR2デフォルト値は0。

(Oracle10gR2 Oracle Database Release 2 Core Technology Seminar_004)
(OEM)
・Database Control
 Grid Control
・OMS(ASが必要(GridControlのみ)、OC4J)
・エージェント・・・DBSNMPスキーマ ← スキーマ内パッケージを使用
 リポジトリ・・・SYSMANスキーマ
・Fetchlet、Recvlet・・・スクリプトの集合
・DBControl・・・「ホスト名/インスタンス名」ディレクトリ
・正規化されたベースライン
・SGAダイレクトアタッチ・・・nmcollectorプロセスが起動
・ASH(Active Session History)
  $ORACLE_HOME/rdbms/admin/ashapt.sql
・ハング分析・・・内部的ORADEBUG HANGANALYZEコマンド
・SGA_TARGET
 v$SGA_TARGET_ADVISE
・Grid Control
 グループ・・・SQLコマンドの実行
・ダッシュボード表示
・クローニング
 ・・・既存のRAC Oracleホームで複製し、既存RACのノード追加や新規RACの作成が可能 (→ farコマンド)
    CRSクローニング
・プロビジョニング・・・OS + RDBMS、PXE、DHCP、TFTP

(Oracle Enterprise Search 10gR1)
・Out-of-the-Boxの検索エンジン
・WebスタイルGUI、Webサービス用API
・UltraSearch + Oracle Text
・クローラ
・「検索結果の品質」
 ドキュメントの機密性の確保
 保護されたソースを検索可能
 → 異なる
・Keyword in Context(KWIC)・・・キーワードのハイライト
・ユーザー認証・・・Oracle Internet Directoryのみ、Active Directoryは不可。

・セキュリティ情報の設定
 ・管理者ベースの認証
 ・検索時の認証
 ・セルフ・サービス認証
 ・問い合わせログ解析
・ステミング・ストップワード
・重複文書の排除
・自然言語 cf) SQLServer English Query
      cf) Japanese Lexer
・将来、HA(RAC)対応予定
・システム要件
 ・インストール直後 2GB Disk
  ドキュメント数    Disk   メモリ(中間層)
        100000         4GB                 1GB
           1000000        20GB                 6GB
          10000000       200GB                24GB(4CPU SMP)
・OESをインストールするマシンは、$ORACLE_HOMEはOES用の1つのみ。
 → 1つのマシンでOESとそれ以外のOracle製品を同居させることはできない。
・ワイルドカード・・・英語のみ。先頭に「*」は不可。
・searchctlコマンドのみ使用
・OES・・・OID ← OASライセンス必要
・代替語・・・Google 「もしかして」
・バックアップ・リストア
 ・全体のコールドバックアップ及びリストア
 ・メタ情報のみコールドバックアップ及びリストア(PCベースで1分弱)
・全体バックアップ
 ・OSのcpコマンド・・・$ORACLE_BASE全て、/etc/orainst.loc
             (バックアップ対象)

(Oracle10gR2 Oracle Database Release 2 Core Technology Seminar_005)
(Oracle HTML DB 2.0)
・DB集中型Webアプリケーション開及び実行
・動作要件
 ・Oracle 9i DB (9.2.0.3 ~)・・・リポジトリとしてもOracle DBを使用
  ・XML DB
  ・Oracle Text(オンラインヘルプの参照)
  ・Oracle HTTP Server(Oracle9iR2以降(DB)、Oracle9iASR2)
・Webアプリケーション・・・PL/SQLを基にしたフォーム・レポート作成
・SQLワークショップ・・・PL/SQLの新規作成、修正
・マスター・ディテールフォームウィザード
・階層リスト
・SQLワークショップ
 クエリビルダー・・・GUIベースで列の選択、結合
・SQLコマンド・プロセッサ
 ・バインド変数 ・実行計画
・セッション・ステート保護 cf) Amazon Web Service
・Webサービス参照

HTMLDB2.0注意事項
・MIME typeの追加設定
・PlsqlNLSLanguage・・・AL32UTF8
・modplsql patch
・SQLインジェクション分析・・・現在は使用不可
・CSVレポート出力
 自動CSVエンコーディング いいえ → UTF8
              はい → Shift-JISなど

(Oracle XML DB)
・XMLスキーマ
 XML・・・CPU + メモリリソースを大量消費
・Oracle XML DB
 ・・・非構造化データ、XMLコンテンツ、構造化データ、メタデータ全て
 Oracleデータベースに構造
  XML Parser・・・(→非常に高速)
10g ~ XMLスキーマの動的変更
10gR2 XQuery XPath

XML Type型・・・Oracle RDBMSのみ
・メモリ要件、パフォーマンス要件の最適化
・ストレージ
 ・オブジェクト、リレーショナル・ストレージ/CLOB
・XMLスキーマ・・・名前空間で識別(名札みたいなもの)
・接頭辞「ora」
 CLOB・・・VARCHAR2よりパフォーマンス遅くなる
・Typeに基づいた表
・SQL/XML
 リレーショナル表 → XML文書
・XMLElement関数、XMLForest、XML Table
・XML Typeビュー
・XQuery・・・Oracleネイティブ、Java(Oracle JVM)
cf) コプロセッサ・アプローチ

・OracleXMLDB、xdbconfig.xmlを更新することで、FTP、HTTP/HTTPSが利用可能になる。

(.NET Framework対応)
・ODP.NET
 ・Oracle9iR2 ~
 10.2 ~
 ・RAC
  ・高速アプリケーション通知(FAN)
  ・ランタイム接続ロード・バランシング
  ・LOBアクセス ラウンドトリップ回数の削減
 ・データベース変更通知サービス
 10.1.0.3 ~
 ・.NET Framework 1.1 サポート

・Oracle Developer Tools for Visual Studio.NET
 ・VS2003のみ(現時点)
 ・.NET Framework 1.1 SP1  Release 10.1.0.4(OTN公開済)
 ・ODP.NET 10.1.0.4
 ・Oracle DB 9.2.0 ~
 ・PL/SQLコードエディタ
 ・デザイナー及びウィザード
 ・自動コード生成
   XSDファイル・・・MS OLEDB Driver for Oracleの設定が必要
・PL/SQLコードエディタ
 ・キーワード/コメントを色づけして表示
 ・使用可能なスキーマオブジェクト名のリスト表示
 ・コンパイルエラー行への移動

Oracle11gR2

(Oracle11gR2 Oracle Transparent Gateway)
・Oracle Transparent Gateway・・・異種DBMS統合
  for SQL Server

(Oracle11gR2 Oracleデータベース・リソース・マネージャ)
・Oracleデータベース・リソース・マネージャ
 ・構成要素
  ・リソース・コンシューマ・グループ
   ・・・リソースの処理要件に基づいてグループ化されたユーザー・セッション。
  ・リソース・プラン
   ・・・リソース・コンシューマ・グループへのリソース割当方法を指定するディレクティブを含む。
  ・リソース割当方法
   ・・・使用可能な割当方法はデータベースが提供するが、どの方法を使用するかは、管理者が決める。
  ・リソース・プラン・ディレクティブ
   ・・・管理者が、リソース・コンシューマ・グループを特定のプランに対応付け、
      リソース・コンシューマ・グループ間でリソースを割り当てるためにしようされるディレクティブ。

※ ディレクティブ(directive)
  :(公式の)指示、指令、訓令。指図。ここでは、「指示書」的な意味合いか。

(Oracle11gR2 DBMS_RESOURCE_NAMAGER)
・DBMS_RESOURCE_NAMAGER
 ・CREATE_PLAN・・・実質CPU使用率のみ指定可能。
 ・CREATE_PLAN_DIRECTIVE
  ・・・CPU方法:最大8レベル
     アクティブ・セッション・プール(コンシューマ・グループ単位のセッション最大数)
 ・並列度制限(コンシューマ・グループ単位)

 ・コンシューマ・グループ自動切換
 ・SQL取消、セッション終了
 ・SQL実行時間制限
 ・UNDOプール
 ・アイドル時間制限
 → コンシューマ・グループ単位

(Oracle11gR2 Oracle初期化パラメータ FAST_START_MTTR_TARGET)
・Oracle初期化パラメータ AFAST_START_MTTR_TARGET
 インスタンス・リカバリ目標時間

(Oracle11gR2 リソース・マネージャ インスタンス・ケージング、自動メモリー管理機能)
・Oracle11gR2
 ・リソース・マネージャ
  ・インスタンス・ケージング・・・各インスタンスのCPU使用率を設定できる。
                  オンラインで切替可能。
    CPU_COUNT初期化パラメータ・・・Oracleインスタンスが使用できるCPUの数を指定。

  ・自動メモリー管理機能
   初期化パラメータ
    MEMORY_TARGET
    MEMORY_MAX_TARGET

(Oracle11gR2 ADR(Automatic Diagnostic Repository))
・Oracle
  audit_dump_dest
  background_dump_dest
  user_dump_dest
  core_dump_dest
  リスナー・ログ
  → Oracle 11gより、ADR(Automatic Diagnostic Repository)で集中管理。
   初期化パラメータDIAGNOSTIC_DESTでパス指定
   (リスナー・ログだけ$ORACLE_HOME/diag)

(Oracle11gR2 バインド・ピーク機能)
・Oracle11gR2 バインド・ピーク機能
  有効・・・実行計画 再利用 → 最適な実行計画が使用されない。
  無効・・・隠しパラメータ「_option_peek_user_binds」をFALSEに設定。

(Oracle11gR2 NULLと空白)
・Oracle
  NOT NULL DEFAULT ''
  ' ' (空白)とNULLを区別する。

(Oracle11gR2 Oracle Database Appliance)
・Oracle Database Appliance・・・Oracle 11gアプライアンス

Oracle11gR2は、Windows8以降は未サポートである。PSR11.2.0.4より対応(Oracleサポート契約が必要)。
Oracle11gR2 Windows10 32bit版 Oracle Client モジュール インストール手順(NUL営業経理部 APPS向)
紐付ファイル参照の事。

Oracle12c

(Oracle12c Winx64 ハードウェア要件、メモリー要件)
メモファイル(.png)を参照。

<ハードウェア要件>
各システムは、次の要件を満たしている必要があります。
・ディスプレイ解像度:最低1024 × 768 (OUIの起動に必要)
・ディスク・フォーマット:Oracleソフトウェア(バイナリ)は、New Technology File System(NTFS)
 フォーマットのドライブまたはパーティションにインストールする事をお薦めします。
・ディスクの空き領域
 ディレクトリ    ディスク容量の最低要件
 Oracle Database用  6.0GB
 %TEMP%および%TMP%  1GB
<メモリー要件>
各システムは、次のメモリー要件を満たしている必要があります。
・物理メモリー
 ・最小:2GBのRAM
 ・推奨:2GB以上のRAM
・仮想メモリー(ページング・ファイル):必要な容量の要件は以下の通りです。
 使用可能な物理メモリーの容量 仮想メモリーとして必要な容量
 2GB以上16GB未満        RAMのサイズと同じ
 16GB以上           16GB
<ハードウェア要件>
各システムは、次の要件を満たしている必要があります。
・ディスプレイ解像度:最低1024 × 768 (OUIの起動に必要)
・ディスク・フォーマット:Oracleソフトウェア(バイナリ)は、New Technology File System(NTFS)
 フォーマットのドライブまたはパーティションにインストールする事をお薦めします。
・ディスクの空き領域
 ディレクトリ    ディスク容量の最低要件
 Oracle Database用  6.0GB
 %TEMP%および%TMP%  1GB
<メモリー要件>
各システムは、次のメモリー要件を満たしている必要があります。
・物理メモリー
 ・最小:2GBのRAM
 ・推奨:2GB以上のRAM
・仮想メモリー(ページング・ファイル):必要な容量の要件は以下の通りです。
 使用可能な物理メモリーの容量 仮想メモリーとして必要な容量
 2GB以上16GB未満        RAMのサイズと同じ
 16GB以上           16GB


(Oracle12c Winx64 OSユーザー)
メモファイル(.png)参照。

Oracle Databaseソフトウェアをインストールするには、管理者グループのメンバーである
ローカルまたはドメイン・ユーザーを使用する必要があります。このユーザーは、Oracleのインストール・ユーザーです。

(注) ドメイン・アカウントを使用してインストールする場合は、そのドメイン・ユーザーがクラスタ内の各ノードの
   ローカル管理者グループのメンバーであることを明示的に宣言する必要があります。

本ガイドでは、Oracle Databaseのインストールにドメイン・ユーザーを使用します。
ユーザー名:oracle
ドメイン:oracle12c.jp
ログイン名:ORACLE12C\oracle
管理者:Yes
インストレーション:Oracle Database

Oracle Databaseのインストール時に、オプションのOracleホーム・ユーザーを指定することができます。
指定したOracleホーム・ドメインユーザーを事前に作成する必要があります。

(注) インストールが完了した後、Oracleホーム・ユーザーを変更することはできません。
   Oracleホーム・ドメインユーザーを変更する必要がある場合は、再インストールする必要があります。

本ガイドでは、Oracle Databaseのホーム・ユーザーを使用します。
ユーザー名:oraclehome
ドメイン:oracle12c.jp
ログイン名:ORACLE12C\oraclehome
管理者:No
ホーム:DB Home

尚、Oracleホームユーザーに管理者権限を付与してしまうと、「指定されたユーザーには、管理者権限があります」と
エラーになる。

(Oracle12c Winx64 OSグループ)
メモファイル(.png)を参照。

・OSグループの作成
 Oracleのインストール中、OUIによって下記のグループが自動的に作成されます。

 ORA_ASMADMIN・・・OSASM権限グループ
 ORA_ASMDBA・・・ASM用OSDBAグループ
 ORA_OSOPER・・・ASM用OSOPERグループ
 ORA_DBA・・・Database用OSDBAグループ *1
 ORA_OPER・・・Database用OSOPERグループ *1
 ORA__DBA・・・Database用OSDBAグループ *1
 ORA__OPER・・・Database用OSOPERグループ *1
 ORA__SYSBACKUP・・・Database用OSBACKUPグループ *1
 ORA__SYSDG・・・Database用OSDGDBAグループ *1
 ORA__SYSKM・・・Database用OSKMDBAグループ *1

(*1) ORA_DBAグループのメンバーは、サーバーにインストールされたすべてのOracleデータベースを
   オペレーティングシステム認証で管理することができます。ORA__DBA(
   特定のOracleインストールの名前です)グループのメンバーは、そのOracleホームから実行している
   データベースのみをオペレーティングシステム認証で管理することができます。

(Oracle12c Winx64 インストールディレクトリ)
メモファイル(.png)を参照。

インストール・ディレクトリの準備
インストールに必要なディレクトリを作成します。
項目:Oracle Database用 ORACLEベース
ディレクトリ・パス:D:\app\oraclehome
所有OSユーザー:oracle、oraclehome

[概要]

Oracle Database 12.1 のインストールが dr0ulib.sql.sbs ファイルがありませんのエラーになる。



[対象リリース] 

Oracle Database 12c Release1(12.1.0)



[対象プラットフォーム]

すべてのプラットフォーム



[詳細]

現象
====

Windows の Oracle Database  12c のインストールが失敗します。
OUI は %ORACLE_HOME\ctx\admin\dr0ulib.sql.sbs ファイルが無いことをレポートして
います。

インストール・ログは以下のようにレポートしています。:
INFO: Exception thrown from action: instantiateFile
Exception Name: FileNotFoundException
Exception String: File not found C:\app\oracle\product\12.1.0\dbhome_1\ctx\admin\dr0ulib.sql.sbs
Exception Severity: 2
INFO: Adding ExitStatus STOP_INSTALL to the exit status set
INFO: Finding the most appropriate exit status for the current application
INFO: Exit Status is -4
INFO: Shutdown Oracle Database 12c Release 1 Installer
INFO: Unloading Setup Driver


原因
====

OUI がt抽出されたメディアに dr0ulib.sql.sbs ファイルを見つけることができなかった
ためです。
2つの zipファイルが2つの異なるディレクトリに解凍されたことが原因です。


解決策
======

下記の 2つの zip ファイルを1つのフォルダに解凍する必要があります。それから、
インストールを開始します。

以下の2つのファイルを同じフォルダに置いてください。:

winx64_12c_database_1of2.zip
winx64_12c_database_2of2.zip

最初のファイルを解凍すると、 'Database' というフォルダを作成します。
それから2つめのファイルを解凍すると既存の Database フォルダに解凍します。

インストールを再実行してください。



[参照情報]

本文書利用上のご注意
==================
本文書は英語で提供されているNOTE:1569064.1 
(最終更新日: 2013年08月08日) の翻訳です。
ご利用に際しては、英語の原文を併せてご参照頂くことをお勧めいたします。



[更新履歴]
2013/09/12 本文書を公開

Oracle12cより、oradim実行時に、Oracleホーム・ユーザーのパスワードが要求される。

ほとんどのOracle Databaseサービスは、Oracleホーム・ユーザーの権限を使用してシステムにログオンします。
サービスは、このユーザーの権限を使用して実行されます。
ORADIMコマンドは、このユーザー・アカウントのパスワードを要求します。

oradim実行バッチファイルは、管理者として実行すること(メモファイル(.png)を参照)。
そうでないと、以下のエラーが発生して、サービスが作成されない。

D:\業務\Oracle12c_安達PCセットアップ\mk_db_N01>oradim -NEW -SID N01 -INTPWD change_on_install -STARTMODE manual -PFILE "D:\opt\app\oracle\product\12.1.0\dbhome_1\database\initN01.ora" 
Oracleサービス・ユーザーのパスワードを入力してください:DIM-00019: サービスの作成エラー
O/S-Error: (OS 5) アクセスが拒否されました。
Oracle 12cから、connect / as sysdbaでログインできない。
 → connect sys/change_on_install as sysdba のようにする。
Oracle12cの共有プールサイズは、850MB以上必要である。そうでないと、以下のメッセージが表示される。
ORA-00371: not enough shared pool memory, should be at least 855986036 bytes

Oracle12cでは、以下の初期化パラメーラ
background_dump_dest
user_dump_dest
が、下位互換性となった。これらのパラメータを有効にしてOracle起動すると、ORA-32004エラーが発生する。

<アラートファイル抜粋>
WARNING: The background_dump_dest init.ora parameter has been deprecated.
WARNING: Please remove the background_dump_dest parameter from the init.ora file.
WARNING: The diagnostic_dest init.ora parameter now determines the location of the diagnostic data
WARNING: The new location for the background logs and traces is D:\opt\app\oracle\N01\diag\rdbms\n01\n01\trace
Thu Oct 09 09:12:05 2014
WARNING: The user_dump_dest init.ora parameter has been deprecated.
WARNING: Please remove the user_dump_dest parameter from the init.ora file.
WARNING: The diagnostic_dest init.ora parameter now determines the location of the diagnostic data
WARNING: The new location for the user logs and traces is D:\opt\app\oracle\N01\diag\rdbms\n01\n01\trace

代わりに、diagnostic_dest初期化パラメータを設定する。
DIAGNOSTIC_DEST = "D:\opt\app\oracle\N01\diag\rdbms\n01\n01"

タグ一覧

ブログ一覧ページへもどる

まずはご相談ください!

0364573908

営業時間
10:00 ~ 18:00
定休日
土・日・祝日

関連記事

不動産売却

売却査定

お問い合わせ