原典情報: B12304-02
このREADMEの目的
このREADMEには、Oracle Database 10g リリース1(10.1)製品およびこの製品に統合された部分(SQL、PL/SQL、Oracle Call Interface(OCI)、SQL*Loader、Import/Export Utilityなど)のみに関連する情報が含まれています。
また、サーバー(およびその統合された部分)とそのドキュメントに記述された機能間の違い、および既知の問題と回避策が記載されています。
カバー・レターおよびライセンス情報
Oracle Database 10g リリース1(10.1)パッケージに同梱されているカバー・レターを読んでください。
ドキュメント
今回のリリースで提供されるマニュアルの完全なリストについては、次のWebサイトを参照してください。
http://otn.oracle.co.jp/document/
目次
3 Automatic Storage Management
23 Oracle Real Application Clusters
互換性、アップグレードおよびダウングレードについては、次の事項に注意してください。
Standard Edition初期データベースをアップグレードする場合、次のコンポーネントは、Standard Editionにインストールされていないオプションが必要となるため、SEサーバーでアップグレードできません。
Oracle Data Mining
Spatial
OLAP Catalog
OLAP Analytic Workspace
Oracle OLAP API
アップグレードすると、DBA_REGISTRYビューには、これらのコンポーネントのSTATUS値が「OPTION OFF」と表示され、関連するコンポーネントのスキーマにはいくつかの無効なオブジェクトが作成されます。Database Upgrade Assistantには、これらのコンポーネントが正常にアップグレードされていないことを示すメッセージが表示されます。
Oracle Database 10gの新しいUpgrade Information Utility(utlu101i.sql)は、SYSTEM表領域およびデータベース内のコンポーネントに関連するその他の表領域で必要となる追加領域を見積ります。ただし、次の表領域の問題には対応していません。
一時表領域: アップグレードの実行には、少なくとも50MBの一時表領域が必要です。
キュー表が含まれた表領域: キュー表が含まれたユーザー表領域の場合は、キューごとに多少の追加領域が必要です。
ロールバック・セグメント: アップグレードには、大きいパブリック・ロールバック・セグメント(70MB)が1つ必要です。その他の小さいロールバック・セグメントは、OFFLINEにしてください。
Database Upgrade Assistantは、ロールバック・セグメントの問題を自動的に処理しますが、一時表領域やキュー表の問題は処理しません。
アップグレード時に発生する可能性のある領域の問題を回避するには、アップグレード中、影響を受ける各表領域用のデータファイルにAUTOEXTEND ON MAXSIZE UNLIMITEDを設定できます。
Oracle XML DBまたはOracle OLAPのユーザーがダウングレードできるリリースは、Oracle9i リリース9.2.0.5、またはそれ以上のパッチセットに限定されます。
JServerのNCOMPファイル、JAcceleratorは現在、Companion CDに収録されています。アップグレード対象のデータベースにJServerがインストールされている場合は、Companion CDをインストールしないと、手動によるアップグレード時に次のエラーが発生します。
ORA-29558: JAccelerator (NCOMP) not installed.
JAcceleratorは、アップグレード前またはアップグレード後にインストールできますが、アップグレード前にインストールすることでエラーが回避されます。
Database Upgrade Assistant(DBUA)を使用してアップグレードしている場合、このエラーは表示されません。かわりに、アップグレード終了時にDBUAの「アップグレード結果」ページに警告メッセージが表示され、Companion CDからインストールする必要があるコンポーネントが示されます。
この項では、Oracle Database 10gと旧リリースのデータベースの動作の違いをいくつか説明します。アップグレードおよびダウングレードに関する大部分の情報は、『Oracle Database アップグレード・ガイド』に記載されています。
QUERY_REWRITE_ENABLEDパラメータ
初期化パラメータQUERY_REWRITE_ENABLEDのデフォルト値が変更されました。詳細は、『Oracle Database リファレンス』を参照してください。
PARALLEL_ADAPTIVE_MULTI_USERパラメータ
初期化パラメータPARALLEL_ADAPTIVE_MULTI_USERのデフォルト値が変更されました。詳細は、『Oracle Database リファレンス』を参照してください。
LOG_ARCHIVE_DEST_nパラメータ
LOG_ARCHIVE_DEST_nパラメータでは、Oracle Standard Editionを実行しているスタンバイ・アーカイブ先を指定できるようになりました。ただし、LOCATION属性を使用してローカル・アーカイブ先を指定する場合に限定されます。詳細は、『Oracle Data Guard概要および管理』の「Oracleソフトウェア要件」の項を参照してください。
ログ転送サービスのパスワード
ログ転送サービスでは、Oracle Data Guard構成内のすべてのデータベースでパスワード・ファイルを使用する必要があります。SYSユーザーのパスワードは、同じOracle Data Guard構成内にあるすべてのシステムのパスワード・ファイル内で同一であることが必要です。詳細は、『Oracle Data Guard概要および管理』を参照してください。
SHARED_SERVERSパラメータ
初期化パラメータSHARED_SERVERSが動的に0(ゼロ)に変更されると、新規のクライアントは共有モードで接続できなくなります。ただし、既存の共有サーバー接続は引き続き有効です。Oracle Database 10gより前のリリースでは、この状況が発生すると、既存の共有サーバー接続がハングしました。
CLOB APIおよびNCLOB APIに関するオフセット
今回のリリースから、CLOBまたはNCLOBに書き込むAPIでは、書込みの最初に指定されたオフセットが既存のLOBデータ内の文字境界上にない場合は、ORA-22831エラーが発生します。
LOB APIでは、データベースのデフォルト・キャラクタ・セットまたは各国語キャラクタ・セットがUnicodeに設定されている場合は、amountパラメータおよびoffsetパラメータにコードポイント・セマンティクスを使用します。たとえば、開始オフセットがサロゲート・ペアの途中にある場合は、ORA-22831エラーが発生し、データは書き込まれません。これによって、ターゲットLOB内の文字の破損が回避されます。
ORA-22831がスローされないようにデータベースを構成するには、イベント10973を任意のレベルに設定します。このイベントを設定すると、オフセットが文字境界上にあるかどうかに関係なく、データはターゲットLOBに書き込まれます。補助ロギングが有効になっている場合は、イベント10973を設定してもORA-22831エラーが無効にならないことに注意してください。
SHARED_POOL_SIZEパラメータ
以前のリリースのOracle Databaseでは、割り当てられた共有プール・メモリー容量は、SHARED_POOL_SIZE初期化パラメータの合計値になり、SGAの内部オーバーヘッドは、インスタンスの起動時に計算されていました。このオーバヘッドは、他のいくつかの初期化パラメータの値に基づいていました。たとえば、SHARED_POOL_SIZEパラメータが64MBで、SGAの内部オーバーヘッドが12MBの場合、SGAの共有プールの実際のサイズは76MBになりますが、SHARED_POOL_SIZEパラメータの値は64MBと表示されていました。
今回のリリースから、SGAの内部オーバーヘッドがSHARED_POOL_SIZEパラメータの値に含まれ、起動時に割り当てられる共有プール・メモリーはSHARED_POOL_SIZEの値と等しくなります。したがって、このパラメータは、SGAの内部オーバーヘッドおよび必要な共有プール・サイズの有効値の両方を含むように設定する必要があります。たとえば、SGAの内部オーバーヘッドが変わらないと想定すると、起動後の共有プールに使用できる有効値はSHARED_POOL_SIZEパラメータの値から12MBを差し引いた値、つまり52MBとなります。共有プール・メモリーの有効値を64MBに保持するには、このパラメータを76MBに設定してください。今回のリリースの移行ユーティリティでは、アップグレード前環境のSGAの内部オーバーヘッド値に基づいて、SHARED_POOL_SIZEに新しい値を設定することをお薦めします。この値は、Oracle Database 10gにアップグレードする前に、次の問合せを実行することで決定できます。
SQL> select sum(bytes) from v$sgastat where pool = 'shared pool';
Oracle Database 10gでは、SGAの内部オーバーヘッド(共有プールの起動オーバーヘッド)の正確な値が新規のv$sgainfoビューに表示されます。
手動SGAモードでは、SHARED_POOL_SIZEの値が小さすぎてSGAの内部オーバーヘッドに対応できない場合は、起動時にORA-00371エラーが発生します。生成されたエラー・メッセージには、SHARED_POOL_SIZEパラメータの推奨値が表示されます。共有メモリーの自動管理を使用している場合は、共有プールのサイズが自動的に調整されるため、ORA-00371エラーが生成されることはありません。
Automatic Storage Management(ASM)では、次の変更に注意してください。
ASMでは、ディスク障害に備えるための緊急用予備ドライブは必要ありませんが、予備のディスク容量が必要です。十分な障害対策を実施するには、ディスク・グループに十分な予備容量が必要です。ディスクに障害が発生すると、再構成プロセスによってディスク領域の容量が使い果たされます。その結果、領域が不足して新しいファイルが正常に作成されない可能性があります。次のガイドラインによって、ディスク障害が発生した場合でもファイルの作成に十分な領域が確保されます。
標準冗長性ディスク・グループでは、ディスク・グループ内に、1つの障害グループでのディスク損害に耐えるために十分な空き領域を確保してください。
高冗長性ディスク・グループでは、2つの障害グループのディスク損害に備えて十分な空き領域を確保してください。
ASMでは、Cluster Synchronization Services(CSS)によってインスタンス間の同期化が行われます。Oracle Real Application Cluster(RAC)環境では、CSSは各ノード上のCRS_HOMEから実行されます。単一ノード環境では、最初にインストールした$ORACLE_HOMEでroot.shスクリプトを実行してCSSを起動してください。単一ノード環境の場合、CSSはASMとデータベース・インスタンスを同期化するために必要です。
ASMを実行している非RACマシンから$ORACLE_HOMEを削除する場合は、最初に、削除対象の$ORACLE_HOME上でCSSデーモン(CSSD)が実行中かどうかを確認してください。CSSデーモンが実行中の場合、そのマシンでASMを引き続き使用するには、次のスクリプトを実行して、ASMインスタンスを実行する$ORACLE_HOMEにCSSサービスを移行してください。
$ORACLE_HOME/bin/localconfig reset new_$ORACLE_HOME
CSSDを新しい$ORACLE_HOMEに移行する方法の詳細は、使用しているプラットフォーム固有の『Oracle Database インストレーション・ガイド』、および『Oracle Real Application Clusters インストレーションおよび構成』の第12章「Real Application Clusters用にインストールされた構成の理解」を参照してください。
1つのノード上の複数のデータベース・インスタンスでASM記憶域を使用する場合は、ASMインスタンス用の$ORACLE_HOMEを別に用意する必要があります。これによって、データベースの$ORACLE_HOMEを削除する際に、ASMインスタンスが誤って削除される可能性がなくなります。マシン上の単一のデータベースでASMを使用する場合は、データベース・インスタンスとASMインスタンスの両方を同じ$ORACLE_HOMEから実行できます。
Database Configuration Assistant(DBCA)を使用したデータベースのクローニングがサポートされるのは、ブロック・サイズが等しい表領域が含まれたデータベースのみです。
Enterprise ManagerのDBクローニング機能には、ブロック・サイズの制限がないため、データベースをクローニングする際のプライマリ・ツールとして使用してください。
次の場所にある『Oracle Enterprise Manager 10g Database Control README』を参照してください。
$ORACLE_HOME/relnotes/readmes/EM_db_control.htm
データベース・セキュリティでは、次の変更に注意してください。
CONNECTロールとRESOURCEロールは、将来のOracle Databaseのリリースでは廃止されるため、使用しないことをお薦めします。
他のロールへのパスワードの保護または適用ロールの付与は、将来のOracle Databaseのリリースでは許可されなくなります。
PUBLICに付与される実行権限は、将来のOracle Databaseのリリースでは廃止されるため、UTL_接頭辞でPL/SQLパッケージを使用する場合は、これらの実行権限に依存しないようにする必要があります。将来のOracle Databaseのリリースでは、ログインの試行での失敗はデフォルトで制限されるようになります。
Javaクラスoracle.security.rdbms.server.AppCtxは、将来のOracle Databaseのリリースでは廃止されます。
OCI_ATTR_CERTIFICATEを使用した証明書ベースのプロキシ認証は、将来のOracle Databaseのリリースではサポートされなくなります。かわりに、OCI_ATTR_DISTINGUISHED_NAME属性またはOCI_ATTR_USERNAME属性を使用します。
Enterprise Security Manager
Oracle Database 10gのEnterprise Security Managerがサポートするのは、識別名(DN)を使用したログインのみです。ニックネームを使用したログインは一部の環境でのみ機能します。
デフォルトのデータベースをEnterprise Security Managerを使用してディレクトリ認証方式に変更できるのは、Oracleコンテキスト管理者グループOracleContextAdminsのメンバーのみです。この設定をEnterprise Security Managerで変更しようとすると、レルムのユーザー検索ベースおよびニックネーム属性が、このツールのキャッシュされた値で上書きされることに注意してください。これらのレルム属性が、最近、Oracle Internet DirectoryのDelegated Administration Services(DAS)ツールをベースにしたツールを使用して変更された場合は、DASベースの別のツールを使用して、これらの設定を確認する必要があります。DASベースのツールには、Enterprise Security Manager ConsoleおよびOracle Internet Directoryセルフ・サービス・コンソールが含まれます。
ディレクトリ内のエンタープライズ・ドメインおよびエンタープライズ・ロールを管理するには、使用しているOracle DatabaseのリリースにあわせたバージョンのEnterprise Security Managerのみを使用します。たとえば、Oracle Database 10gのエンタープライズ・ドメインおよびエンタープライズ・ロールを管理するには、Enterprise Security Manager 10gのみを使用します。また、Oracle9i Databaseを使用している場合、そのデータベースのエンタープライズ・ドメインおよびエンタープライズ・ロールを管理するには、Oracle9i Enterprise Security Managerのみを使用します。
Enterprise User Securityに影響を与えるOracle Internet Directoryの変更および問題
デフォルトのニックネーム属性の変更
今回のリリースでは、デフォルトのニックネーム属性がcnからuidに変更され、各ID管理レルムに設定されています。
orcladminユーザーIDの変更
Oracle Internet Directoryの以前のリリースでは、orcladminユーザーは、ディレクトリ内でルート権限を所有する仮想ユーザーを表していました。今回のリリースでは、各ID管理レルムに、そのレルムのみのルート・ユーザーであるorcladminユーザーが含まれています。レルム固有のこれらのorcladminユーザーは、ディレクトリ・エントリcn=orcladmin,cn=Users,<realm_DN>によって表されます。レルム固有のorcladminユーザーでEnterprise User Securityの管理ツールにログインした場合、管理できるのは、そのレルムのディレクトリ・オブジェクトのみであることに注意してください。他のレルムのオブジェクトを管理するには、そのレルムのorcladminユーザーで管理ツールにログインする必要があります。
Oracle Internet Directoryへの認証方式が異なるデータベース間で同一のldap.oraファイルを共有することはできない
ldap.oraファイルの2番目のポート設定であるSSLポート設定は、次のオプションのいずれかに設定する必要があります。
認証のないSSL
相互パスワードベース認証のSSL
データベースとディレクトリ間のSSL認証
Oracle Internet Directoryへの認証方式が異なるデータベース間で同一のldap.oraファイルを共有することはできません。
これらのデータベースで同一の$ORACLE_HOMEを使用する場合は、いずれかのデータベースに、そのデータベース独自のldap.oraファイルを含む個別のTNS_ADMINディレクトリを指定する必要があります(Bug#3327626)。
複数データベース間でのWalletとsqlnet.oraファイルの共有
複数の非レプリケート・データベースによるWalletの共有、およびsqlnet.oraファイルにWalletの位置情報が含まれている場合の複数データベースによるsqlnet.oraファイルの共有はできません。共有するには、デフォルトのデータベースとディレクトリ間の接続を使用したパスワードまたはKerberos認証のEnterprise User Security構成を使用する必要があります。この構成では、パスワードを使用して、Database Configuration Assistantによって作成されたデータベースWalletがデフォルトの位置に保持されます。この状態では、sqlnet.oraファイルに格納されたWalletの位置情報がないため、複数のデータベース間でWalletを共有できます。
エンタープライズ・ユーザーの認証にSSLを使用する場合は、Walletの位置をsqlnet.oraファイルに指定する必要があるため、SSL認証のエンタープライズ・ユーザーの場合、複数のデータベースによるsqlnet.oraファイルの共有はできないことに注意してください。
ORA-28043エラーの解決にはDatabase Configuration Assistantの「Regenerate Password」ボタンを使用する
エラー「ORA-28043: DB-OID接続のバインド資格証明が無効です」が発生した場合、データベースのディレクトリ・パスワードは、そのディレクトリと同期していません。Database Configuration Assistantの「Regenerate Password」ボタンを使用して、データベースに新規のディレクトリ・パスワードを生成し、それをディレクトリと同期化してからデータベースWalletに格納します。『Oracle Advanced Security 管理者ガイド』の第12章の「データベースのディレクトリ・パスワードを変更する手順」を参照してください(Bug#3331096)。
エンタープライズ・ユーザーの作成には最新リリースの管理ツールのみを使用する
Oracle Database 10gのID管理レルムにエンタープライズ・ユーザーを作成する場合は、Oracle9i Databaseやそれ以前のリリースのOracle DatabaseのEnterprise Security Managerツールを使用しないでください。ID管理レルムにエンタープライズ・ユーザーを作成する場合は、Oracle Application Server 10gに同梱されているDASベースのツールのみを使用してください。DASベースのツールには、Enterprise Security Manager ConsoleおよびOracle Internet Directoryセルフ・サービス・コンソールが含まれます。
相互認証のSSLモードでOracle Internet Directoryを使用する場合はバインド・プラグインを使用禁止にする
Oracle Internet Directoryが、Microsoft Active Directoryとの同期化でDirectory Integration Servicesが使用するような外部バインド・プラグインで設定されている場合、データベースとOracle Internet Directory間のSSL接続は失敗します。相互認証のSSLモードでOracle Internet Directoryを使用する必要がある場合は、すべてのバインド・プラグインを使用禁止にしてください(Bug#3292587)。
Oracle9iからのアップグレード
Oracle9i Database(リリース9.0.1またはリリース9.2)からOracle Database 10g リリース1(10.1)へのアップグレード、またはOracle Internet Directory リリース9.2からリリース9.0.4へのアップグレードを行う場合は、次の手順を実行します。Oracle9i Database リリース2(9.2)は、Oracle Internet Directory リリース9.2またはリリース9.0.4で動作しますが、Oracle Database 10g リリース1(10.1)は、Oracle Internet Directory リリース9.0.4でのみ動作することに注意してください。
Oracle Internet Directoryのリリース9.2からリリース9.0.4へのアップグレード
Oracle Internet Directoryをリリース9.2からリリース9.0.4にアップグレードするには、Oracle Internet Directory Configuration Assistantを使用します。Oracle Database 10gのインスタンスをこのディレクトリに登録する場合は、このアップグレードが必要であることに注意してください。
Oracle Database 10gでOracleコンテキストを使用する予定がない場合、次の手順は省略できます。
コンテキストがルート・コンテキストでない場合は、Enterprise User Securityで使用するすべてのOracleコンテキストをID管理レルムにアップグレードする必要があります。Oracle Internet Directory Configuration Assistantのコマンドライン・ユーティリティを次のように使用します。
oidca mode=CTXTOIMR
この手順は、Oracle Database 10gのデータベースをこのレルムに登録する場合に必要です。
ルートOracleコンテキストはID管理レルムではないため、Oracle Database 10gのデータベースには使用できません。詳細は、『Oracle Advanced Security 管理者ガイド』を参照してください。
ldapmodifyやbulkmodifyなどのOracle Internet Directoryのツールを使用して、orcluserV2 objectclassを既存のユーザー・エントリに追加します。このobjectclassは、ユーザーが自分のデータベース・パスワードを変更するために必要であり、データベースへのKerberos認証にも必要です。
Oracle9i Database(リリース9.0.1またはリリース9.2)およびOracle Database 10g リリース1(10.1)の両方を含むレルムでは、Oracle Internet Directory リリース9.0.4(Oracle Internet Directoryセルフ・サービス・コンソールまたはEnterprise Security Manager Consoleのいずれか)のDASベースのツールを使用して、パスワードを含めてユーザーを作成および管理します。Oracle9i DatabaseインストールのEnterprise Security ManagerまたはEnterprise Login Assistantは使用しないでください。
Oracleデータベースのリリース9.2からリリース10.1へのアップグレード
Oracle Database 10gにアップグレードするOracle9i Databaseの各インスタンスに対して、次の手順を実行します。
Oracle Wallet Managerを使用して、データベースWalletの自動ログインを使用禁止にします。
データベースの識別名(DN)を初期化パラメータrdbms_server_dnから安全な位置にあるファイルにコピーします。
データベースをOracle Database 10gにアップグレードします。
データベースのadminディレクトリが格納されている場所に従って、データベースWalletを$ORACLE_HOME/admin/olddbuniquename/walletまたは$ORACLE_BASE/admin/olddbuniquename/walletのいずれかに移動します。$ORACLE_HOMEは、新しいOracle Database 10g用であることに注意してください。walletディレクトリの作成が必要な場合があります。
古い$ORACLE_HOME/network/admin/ldap.oraファイルを、新しい$ORACLE_HOME/ldap/admin/ldap.oraファイルにコピーします。また、Oracle Net Configuration Assistantを使用して、新しいldap.oraファイルを作成することもできます。
コマンドライン・ユーティリティmkstoreで次の構文を使用し、データベースのDNを(以前に作成した保護ディレクトリ位置のファイルから)Walletに配置します。Walletのパスワードの入力を求められます。
mkstore -wrl database_wallet_location -createEntry ORACLE.SECURITY.DN database_DN
間違えた場合は、-modifyEntryオプションを使用して訂正します。
Database Configuration Assistantを使用して、データベースWalletにデータベースとディレクトリ間のパスワードを生成します。「Modify Database」オプションを選択します。
Oracle Wallet Managerを使用して、データベースWalletの自動ログインを再度使用可能にします。
Oracle Net Managerを使用して、sqlnet.oraファイル内の新しいWalletの位置を、前の手順4で指定したディレクトリに設定します。
cnなどのニックネーム属性のデフォルトは変更されずに残ります。つまり、アップグレード・プロセスでは、デフォルトのニックネーム属性の設定は変更されません。
Oracle Internet Directory リリース9.2からリリース9.0.4にアップグレードした後で、Oracle Database 10gにログインできない場合は、DASベースのOracle Internet Directoryセルフ・サービス・コンソールを使用して、パスワードをリセットする必要があります。
リリース9.0.4のID管理レルムへのアップグレードの詳細は、「Oracle Internet Directory」の項を参照してください。
Enterprise User SecurityへのルートOracleコンテキストの使用禁止
Oracle Internet Directory リリース9.0.4のルートOracleコンテキストは、Enterprise User Securityに使用しないでください。これは、Oracle9i Databaseおよびそれ以前のリリースにも適用されます(Bug#3192487)。
データベースの登録と登録解除に関する問題
Database Configuration Assistantを使用して、Oracle Internet DirectoryからOracle Database 10gを正常に登録解除する場合、操作するユーザーは、次のディレクトリ管理グループのメンバーか、または複数グループの組合せのメンバーである必要があります。
Oracleコンテキスト管理者グループのメンバー
データベース管理者グループ(登録解除するデータベースの)およびデータベース・セキュリティ管理者グループ両方のメンバー
データベース管理者グループ(登録解除するデータベースの)およびドメイン管理者グループ(登録解除するデータベースを含むエンタープライズ・ドメインの)両方のメンバー
Database Configuration Assistantを使用してディレクトリ内のデータベースを登録または登録解除した場合は、データベースを再起動してプロセスを完了します(Bug#3338107)。
データベースの登録を実行するユーザーが、OracleDBCreatorsグループのみのメンバーである場合、Database Configuration Assistantでは、データベースの登録時にldap_directory_access初期化パラメータが適切に設定されません(Bug#3369834および3373789)。これを解決するには、次の回避策のいずれかを使用します。
ALTER SYSTEMコマンドを使用して、 ldap_directory_accessパラメータを適切に設定します。
データベースの登録を実行するユーザーを、Oracle Databaseのセキュリティ管理者OracleDBSecurityAdmins、つまり、ディレクトリ内のID管理レルム管理者グループに追加します。
Oracle DatabaseのWalletの使用に関連する問題
Oracle Database 10gのWalletに、Oracle Internet Directoryへの認証に使用するデータベースのパスワードベースの証明書が含まれている場合、そのWalletは、以前のバージョンのOracle Wallet Managerを使用して管理することはできません。これらの証明書は、Oracle Database 10gがOracle Internet Directoryに登録されるときにWallet内に配置されます。
データベースの登録時に、Database Configuration Assistantによって自動的に生成されたデータベースWalletが使用できるのは、Oracle Database 10g(10.1)のインスタンスに対してのみです。このデータベースWalletは、以前のバージョンのデータベースまたはOracle Internet Directory リリース9.0.4以前のリリースでは使用できません。
Kerberosプリンシパル名のディレクトリ属性に関する大/小文字の変更にDASベースのツールは使用できない
DASベースのツールを使用して、Kerberosプリンシパル名の大/小文字を変更するには、その名前をまったく異なる別の名前に変更してから、正しい大/小文字の実際の名前に再度変更します。たとえば、USER1@DOMAIN.COMをuser1@DOMAIN.COMに変更する場合は、最初にKerberosプリンシパル名の属性をtemp@DOMAIN.COMに変更してから、user1@DOMAIN.COMに変更します(Bug#3356955)。
Javaを使用する際は、次の事項に注意してください。
JDBCドライバのInstant Client操作では、$ORACLE_HOME/jdbc/libディレクトリから次のファイルをコピーする必要があります。
JDK 1.2または1.3を使用する場合はclasses12.jar
グローバリゼーションおよびNLSサポートではorai18n.jar
Oracle JDBC RowSetの実装ではocrs12.jar
JDBCのREADMEについては、第3章「Oracle JDBC Drivers README 」を参照してください。
$ORACLE_HOME/jdbc/Readme.txt
Oracle Netのかわりに、Oracle Database Web Servicesでは、標準のWebサービス・メカニズムを介して、非接続でのデータベースへのアクセスが提供されています。これには、XML、SOAPおよびWSDLが含まれ、データベースをWebサービス・プロバイダに転換できます。同様に、データベース自体が、Webサービス・コンシューマとして機能して外部のWebサービスを起動できます。Webサービスには、次の重要な機能があります。
SOAP Clientライブラリに基づくJAX-RPCは、外部Webサービスのデータベース内からの起動をサポートし、その結果に対してSQLの機能を適用します。
Webサービス・コールイン: JPublisherで生成されたJavaクラスをOracle Application Server 10gに配置することで、JavaとPL/SQLのプロシージャとパッケージ、SQL問合せ、DML操作などのデータベース操作を起動できます。
Webサービス・コールアウト: WSDLとそのPL/SQLラッパーからJPublisherで生成されたWebサービス・クライアントを配置することで、外部Webサービスのデータベース内からの起動がサポートされます。
Oracle Database 10gには、Oracle Databaseをテープにバックアップする機能を提供する、Legato Single Server Version(LSSV)ソフトウェアがバンドルされています。このソフトウェアはRecovery Manager(RMAN)に完全に統合されており、データベースを単一ホストにバックアップします。Legato NetWorkerのドキュメントは、Legato社の次のWebサイトから直接入手できます。
http://www.legato.com/lssv/
このサイトからは、このバージョンのNetWorker用の製品アップデートも入手できます。
Oracle Database ServerにすでにLegato Storage Manager(LSM)をインストールして使用している場合は、それをアンインストールして、新しいバージョンのLegato NetWorkerをインストールできます。LSMで作成したバックアップは、新しいLegato NetWorkerソフトウェアでも引き続き使用できます。
Oracle Advanced Securityを使用する際は、次の事項に注意してください。Enterprise User Security機能については、「データベース・セキュリティ」の項で説明しています。
今回のリリースでは、多重化および接続プーリング機能がSSLトランスポートとともに動作しません。JDBCでの暗号化サポートの詳細は、『Oracle Database JDBC開発者ガイドおよびリファレンス』を参照してください。
Javaでの暗号化アルゴリズム
今回のリリースでは、Oracle Thin JDBCドライバは112ビットおよび168ビット・キーを使用するTriple-DESをサポートしています。Triple-DESを使用する暗号化を構成するには、サーバーのプロパティ・ファイルでORACLE.NET.ENCRYPTION_TYPES_CLIENTパラメータを3DES112または3DES168のいずれかに指定し、接続プロパティoracle.net.encryption_types_clientをJavaクライアントでの値と同じ値に設定します。
Thick JDBC(OCIドライバ)がサポートするアルゴリズムには、RC4_256、RC4_128、RC4_56、RC4_40、3DES112、3DES168、AES256、AES192およびAES128が含まれます。
Thin JDBCドライバがサポートするアルゴリズムには、RC4_256、RC4_128、RC4_56、RC4_40、3DES112および3DES168が含まれます。
JDBCにおける暗号化アルゴリズムの構成の詳細は、『Oracle Advanced Security 管理者ガイド』の第4章、および『Oracle Database JDBC開発者ガイドおよびリファレンス』の第23章を参照してください。
Cybersafeアダプタは、今回のリリースからサポートされなくなりました。かわりに、OracleのKerberosアダプタを使用してください。Kerberosアダプタを使用すると、Cybersafe KDC(信頼できるブローカ)を使用したKerberos認証が引き続きサポートされます。
起動コマンドの変更
REMOTE_OS_AUTHENT初期化パラメータ・ファイルをFALSEに設定し、さらにPFILEオプションを指定して起動コマンドを発行する必要があります。これによって、initSID.oraのパラメータが使用されます。
クライアントを認証しないDH_ANONを含むCipher Suiteを使用している場合でも、OCIクライアントがWalletを要求するという既知の不具合があります。
証明要求情報を入力するモーダル・ダイアログ・ボックスなど、モーダル・ダイアログ・ボックスが表示されると、Oracle Wallet Managerのオンライン・ヘルプが反応しなくなります。モーダル・ダイアログ・ボックスをクローズすると、オンライン・ヘルプは反応するようになります。64ビットのSolaris Operating SystemでPKCS #11を統合したOracle Wallet Managerを使用するには、コマンドラインで次のように入力します。
owm -pkcs11
Oracle Call Interfaceを使用する際は、次の事項に注意してください。
今回のリリースでは、UNIXプラットフォームでのOCIおよびOCCIクライアント・アプリケーション開発に必要なOCI/OCCIヘッダー・ファイルは、$ORACLE_HOME/rdbms/publicディレクトリに格納されています。demo_rdbms.mkファイルは、従来どおり$ORACLE_HOME/rdbms/demoディレクトリにあり、サンプルのMakeファイルとして使用できます。
demo_rdbms.mkファイルを大幅に変更しないかぎり、影響はありません。これは、demo_rdbms.mkファイルにすでに$ORACLE_HOME/rdbms/publicディレクトリがインクルードされているためです。Makeファイルを高度にカスタマイズした場合は、INCLUDEパスに$ORACLE_HOME/rdbms/publicディレクトリが含まれていることを確認してください。
すべてのデモ・プログラムとヘッダー・ファイルは、引き続き$ORACLE_HOME/rdbms/demoディレクトリに格納されています。ヘッダー・ファイルは、すべてのデモ・プログラムと同様に、Companion CDからのみインストールされます。
開発に必要なOCI/OCCIヘッダー・ファイルは、$ORACLE_HOME/rdbms/publicにあり、Oracle Database 10g Serverのインストール、およびOracle Database 10g Clientの管理インストールとカスタム・インストールの両方で使用できます。
xa.hヘッダー・ファイルは、他のOCI/OCCIヘッダー・ファイルと同じ位置に格納されています。
UNIXの場合、新しいパスは$ORACLE_HOME/rdbms/publicになります。
Windowsの場合、新しいパスは$ORACLE_HOME/oci/includeになります。
$ORACLE_HOME/rdbms/publicはすでにMakeファイルにインクルードされているため、UNIXでdemo_rdbms.mkファイルを使用するユーザーには影響ありません。
Oracle Change Data Captureを使用する際は、次の事項に注意してください。
Database Configuration Assistantを使用して、事前定義済のテンプレートを使用したデータベースを作成する場合は、次のテンプレートから選択できます。
汎用
データ・ウェアハウス
トランザクション処理
新規データベース
汎用、データ・ウェアハウスおよびトランザクション処理のデータベース・テンプレートは、Oracle Change Data Capture機能をサポートしています。
「新規データベース」オプションを選択してカスタム・データベースを作成する場合は、「追加のデータベース構成」ダイアログ・ボックスからデータベース機能の「Oracle JVM」を選択する必要があります。「Oracle JVM」はデフォルトで選択されています。選択を解除しないでください。Oracle Change Data Captureには、Oracle JVM機能が必要です。
Oracle Streamsまたはアドバンスト・レプリケーションとChange Data Captureを使用して、Oracle Database 10gより前のバージョンのソース・テーブルから変更を捕捉できます。
最初に、Oracle Streamsを使用して、Oracle9i Database リリース2(9.2)のソース・テーブルをOracle Database 10gのデータベースに伝播します。または、アドバンスト・レプリケーションを使用して、Oracle9i Database リリース2(9.2)より前のOracle Databaseバージョンのソース・テーブルをOracle Database 10gのデータベースに伝播します。
次に、Oracle Change Data Captureを同期、HotLogまたはAutoLogのいずれかのモードで使用して、Oracle Database 10gにレプリケートされたテーブルから変更を捕捉します。
このようなチェンジ・テーブルの制御列には、元のOracle9i Databaseのソース・テーブルの値ではなく、レプリケートされたテーブルの値が格納されることに注意してください。たとえば、特定のCSCN$値は、Oracle9i Databaseインスタンスの元のコミットSCNではなく、伝播されたソース・テーブルのコミットSCNを反映します。これは、ROW_ID$およびUSERNAME$制御列でも同様です。
非同期Change Data Captureのチェンジ・セットがDDLで停止する場合は、そのDDLを削除する必要があります。削除するには、recover_after_errorパラメータとremove_ddlパラメータを両方ともYに指定してDBMS_CDC_PUBLISH.ALTER_CHANGE_SET()をコールします。その後、Change Data Captureをチェンジ・セットに対して再び使用可能にする必要があります。
連続した複数のDDLがある場合、チェンジ・セットはDDLごとに停止します。連続した2つのDDLがある場合、チェンジ・セットはまず最初のDDLで停止します。最初のDDLを削除し、キャプチャをチェンジ・セットに対して再び使用可能にしてください。次にチェンジ・セットは、2番目のDDLで再び停止します。ここで2番目のDDLを削除し、キャプチャをチェンジ・セットに対して再び使用可能にしてください。
DROP USER CASCADEを使用してOracle Change Data Captureのパブリッシャを削除すると、そのパブリッシャが所有するChange Data Captureのオブジェクトは、他のパブリッシャが所有するOracle Change Data Captureのオブジェクトのコンテナでないかぎり、すべて削除されます。
たとえば、パブリッシャCDCPUB1が所有するチェンジ・セットCDCPUB1_SETにチェンジ・テーブルCDCPUB2.SALES_CTが含まれている場合、CDCPUB1に対してDROP USER CASCADEを使用してもCDCPUB1_SETは削除されません。CDCPUB1_SETに含まれるチェンジ・テーブルがすべて削除された場合は、すべてのパブリッシャがDBMS_CDC_PUBLISH.DROP_CHANGE_SET()インタフェースを使用してこのチェンジ・セットを削除できます。
Data Pump ImportおよびExportでは、AutoLog Change Data Captureのオブジェクトはサポートされていません。AutoLogの変更したソース、チェンジ・セットとチェンジ・テーブル、およびAutoLogのチェンジ・セットのサブスクリプションはエクスポートされません。ただし、これらのオブジェクトでは、エクスポートされた他のオブジェクト(チェンジ・テーブルの基礎となる表、サブスクライバ・ビュー、チェンジ・セットで使用する順序、およびStreamsの適用プロセス、キューおよびキュー表)が使用されます。
Data Pump Import後にAutoLog Change Data Capture構成を再作成するには、基礎となるオブジェクトをクリーン・アップした後、Change Data Captureインタフェースを使用してこれらのオブジェクトを再作成する必要があります。次の表に、基礎となる各オブジェクト、およびData Pump Import後にオブジェクトをクリーン・アップするために使用するメソッドの要約を示します。
| メソッド | 説明 |
|---|---|
DROP TABLE |
チェンジ・テーブルの基礎となる表を削除します。 |
DROP VIEW |
サブスクライバ・ビューを削除します。 |
DROP SEQUENCE |
チェンジ・セットで使用する順序を削除します。 |
dbms_apply_adm.drop_apply() |
Streamsの適用プロセスを削除します。 |
dbms_aqadm.drop_queue() |
Streamsのキューを削除します。 |
dbms_aqadm.drop_queue_table() |
Streamsのキュー表を削除します。 |
チェンジ・セットで使用する順序の名前を取得するには、CDC$で始まり、チェンジ・セット名の少なくとも最初の文字が含まれる順序名をALL_SEQUENCESで問い合せます。
Streamsオブジェクトの名前を取得するには、CDC$で始まり、チェンジ・セット名の少なくとも最初の文字が含まれる名前をDBA_APPLY、DBA_QUEUESおよびDBA_QUEUE_TABLESビューで問い合せます。
同期Change Data Captureのチェンジ・テーブルのソース・テーブルを削除した後でリサイクル・ビンからリストアした場合、変更はそのチェンジ・テーブルに捕捉されなくなります。この場合は、新しい同期チェンジ・テーブルを作成して、リストアされたソース・テーブルに対するそれ以降の変更を捕捉する必要があります。
DBMS_CDC_SUBSCRIBE.CREATE_SUBSCRIPTION()インタフェースを使用する場合は、subscription_nameパラメータに明示的な値を指定する必要があります。同様に、いずれかの形式のDBMS_CDC_SUBSCRIBE.SUBSCRIBE()インタフェースを使用するサブスクライバは、subscriber_viewパラメータに明示的な値を指定する必要があります。
Oracle Databaseリリース9.2からリリース10.1へプライマリ・データベースおよびフィジカル・スタンバイ・データベースをアップグレードする際の情報および手順について、またロジカル・スタンバイのアップグレードに関する情報および手順については、日本オラクル社カスタマ・サポート・センターへお問い合せください。
ロジカル・スタンバイ・データベースでは、CREATE TABLE tablename AS SELECT * FROM bar@dblinkなどのSQL文は失敗する場合があるため、このような文の使用は避けてください。
ロジカル・スタンバイ・データベースに対して文を実行すると、その時点のデータベース・リンクにアクセスします。このため、そのロジカル・スタンバイ・データベースの情報と、その文がプライマリ・データベースに対して実行されたときの情報が同一であるかどうかは確認できません。たとえば、列の追加や削除が行われていた場合は、後に続く行にこの文を適用できなくなります。ネットワークが設定されていたため初期の作成に成功しても、ネストした表の列を含む表についてエラー「ORA-26689: LCRで列データ型が一致していません。」が発生する場合があります。また、ロジカル・スタンバイ・データベースに対してデータベース・リンクやTNSサービスが定義されていない場合は、「ORA-02019: 指定されたリモート・データベースは存在しません。」というエラーが戻される場合があります。
このエラーが発生したときは、作成された表に対してDBMS_LOGSTDBY.INSTANTIATE_TABLEプロシージャを使用し、SQL APPLY操作を再開します。
ロジカル・スタンバイ・データベースがプライマリ・データベースと同じコンピュータ・システム上に存在する場合は、通常、両方のOracle Databaseインスタンスが同じディレクトリ構造にアクセスできます。Oracle Databaseコマンドにはデータファイルを再利用するコマンドがあります。データファイルを再利用するOracle Databaseコマンドをプライマリ・データベースに適用すると、そのコマンドがロジカル・スタンバイ・データベースにも適用されます。プライマリ・データベースが停止しているときにこれが発生すると、ロジカル・スタンバイ・データベースがそのファイルを自分側のファイルの一部と判断し、プライマリ・データベースを損なう恐れがあります。
このため、同じコンピュータ・システム上でプライマリ・データベースとロジカル・スタンバイ・データベースを実行する場合は、次の設定を使用することをお薦めします。
EXECUTE DBMS_LOGSTDBY.SKIP('ALTER TABLESPACE');
このエラーが発生した場合は、アラート・ログの次の出力を確認してください。
LOGSTDBY stmt: Create table anyddl.anyobj... LOGSTDBY status: ORA-16542: 操作を認識できません LOGSTDBY status: ORA-16222: 自動ロジカル・スタンバイが直前の処理を再試行中です LOGSTDBY status: ORA-16111: ログのマイニングと設定の適用 LOGSTDBY stmt: Create table anyddl.anyobj... LOGSTDBY status: ORA-00955: すでに使用されているオブジェクト名です
最初にDDLを適用する処理は完了していますが、その記録に失敗しています。この問題は、ORA-16542エラーで識別できます。
次のコマンドを使用してロジカル・スタンバイ・データベースを再起動できます。
ALTER DATABASE START LOGICAL STANDBY APPLY SKIP FAILED TRANSACTION;
Oracle Real Application Clustersシステムでロジカル・スタンバイ・データベースを実行している場合は、ALTER DATABASE GUARD文をアクティブなインスタンスごとに発行して、クラスタ内のすべてのインスタンスでこの文を有効にする必要があります。
ロジカル・スタンバイ・データベースに対してフラッシュ・リカバリ領域を使用可能にしている場合は、Oracle Data Guard構成内のロジカル・スタンバイ・データベースごとに次の初期化パラメータを設定する必要があります。
STANDBY_ARCHIVE_DESTパラメータをフラッシュ・リカバリ領域以外の位置を指すように定義します。これによって、プライマリ・データベースから受信するスタンバイREDOログが誤ってフラッシュ・リカバリ領域にアーカイブされることがなくなります。
たとえば、『Oracle Data Guard概要および管理』の「ロジカル・スタンバイ・データベース用の初期化パラメータ・ファイルの準備」の項の説明に従ってロジカル・スタンバイ・データベースを作成するときに、ロジカル・スタンバイ・データベースでパラメータSTANDBY_ARCHIVE_DEST='/arch2/boston/'を定義します。
スタンバイREDOログ・ファイルをフラッシュ・リカバリ領域以外の宛先にアーカイブするように、LOG_ARCHIVE_DEST_nパラメータを定義し、LOCATION属性とVALID_FOR=(STANDBY_LOGFILES, STANDBY_ROLE)属性を指定します。次に例を示します。
LOG_ARCHIVE_DEST_3= 'LOCATION=/arch2/boston/ VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=boston'
さらに、今後のスイッチオーバーに備えて、プライマリ・データベースでも同じ初期化パラメータを設定することをお薦めします。
STANDBY_ARCHIVE_DESTパラメータをフラッシュ・リカバリ領域以外の位置を指すように定義します。
たとえば、『Oracle Data Guard概要および管理』の「ロールの推移のためのプライマリ・データベースの準備」の項の説明に従ってロジカル・スタンバイ・データベースを作成するときに、プライマリ・データベースでパラメータSTANDBY_ARCHIVE_DEST='/arch2/chicago/'を定義します。
スタンバイREDOログ・ファイルをフラッシュ・リカバリ領域以外のディレクトリにアーカイブするように、LOG_ARCHIVE_DEST_nパラメータを定義し、LOCATION属性とVALID_FOR=(STANDBY_LOGFILES, STANDBY_ROLE)属性を指定します。次に例を示します。
LOG_ARCHIVE_DEST_3= 'LOCATION=/arch2/chicago/ VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=chicago'
ロジカル・スタンバイ・データベースが、最大保護モードで実行中のプライマリ・データベース・ロールにスイッチオーバーされ、LGWRプロセスでアーカイブ先に関するエラーが発生した場合、LGWRはすべてのアーカイブ先を再評価して、少なくとも1つのアーカイブ先が正常に機能していることを確認します。
LGWRプロセスでスタンバイREDOログ・ファイルを正常に書き込めるアーカイブ先が見つからなかった場合、および欠落したログ・ファイルまたはギャップが含まれていない場合、プライマリ・インスタンスは停止します。スイッチオーバーは正常に完了しますが、データの分散を防止するためにデータベース・ガードは使用可能なままです。
データベース・インスタンスのアラート・ログに表示される解決方法は、次のとおりです。
最大パフォーマンス・モードなど下位の保護モードでデータベースを起動します。
ALTER DATABASE GUARD NONEコマンドを発行して、データベース・ガードを手動で使用禁止にします。
ロジカル・スタンバイ・データベースでフラッシュ・リカバリ領域を使用可能にしている場合は、Oracle Data Guard BrokerのStandbyArchiveLocationプロパティを、プライマリ・データベースから受信するREDOログ・ファイルを格納する位置を指すように明示的に設定する必要があります。StandbyArchiveLocationプロパティは、ロジカル・スタンバイ・データベースのSTANDBY_ARCHIVE_DEST初期化パラメータをすでに設定している場合でも、設定する必要があります。StandbyArchiveLocationプロパティを定義しないと、ブローカはデフォルト値dgsby_db_unique_nameを使用し、プライマリ・データベースから受信するREDOログ・ファイルは$ORACLE_HOME/dbsディレクトリに格納されます。
たとえば、『Oracle Data Guard Broker』の「使用例1: 構成の作成」の項の説明に従ってロジカル・スタンバイ・データベースをブローカ構成に追加した後、ロジカル・スタンバイ・データベースに対して次のプロパティを定義します。
DGMGRL> EDIT DATABASE 'DR_Sales' SET PROPERTY 'StandbyArchiveLocation'='/arch2/boston/'
また、今後のスイッチオーバーに備えて、プライマリ・データベースでもこのプロパティを定義する必要があります。
ブローカ構成の保護モードをアップグレードするときにエラーORA-16627が発生した場合は、次の方法で設定されたスタンバイ・データベースが構成内に1つ以上あることを確認してください。
スタンバイ・データベースにスタンバイREDOログがある。
そのスタンバイ・データベースのLogXptModeプロパティがSYNCに設定されている。
さらに、保護モードをMaxProtectionにアップグレードした場合は、スタンバイ・データベースのアーカイブREDOログ・ファイルにギャップがないことを確認してください。詳細は、『Oracle Data Guard概要および管理』の「アーカイブ・ギャップの管理」の項を参照してください。
前述の条件が満たされていることを確認した後、保護モードを再度アップグレードしてください。次に、MaxProtectionにアップグレードするためにDGMGRLコマンドを発行し、ORA-16627エラーが発生した例を示します。
DGMGRL> EDIT CONFIGURATION SET PROTECTION MODE AS MaxProtection ; Error: ORA-16627: 保護モード全体をサポートするスタンバイ・データベースはありません。
複数のロジカル・スタンバイ・データベースが含まれる最大保護構成で非データ消失スイッチオーバーを実行するときは、次の事項に注意してください。
スイッチオーバーに参加していないロジカル・スタンバイ・インスタンスのすべてのトランスポート設定(現行のプライマリ・データベースのLOG_ARCHIVE_DEST_nパラメータで指定)が、スイッチオーバーの間、LGWRではなくARCHに設定されていることを確認してください。
トランスポート設定を変更した後、スイッチオーバー操作を実行する前にALTER SYSTEM ARCHIVE LOG CURRENTを実行して、アクティブなスタンバイREDOログ・ファイルがすべてアーカイブされることを確認してください。
スイッチオーバーの完了後、無関係のアーカイブ先設定をLGWRトランスポート・モードに戻す必要があります。
Oracle Data Miningを使用する際は、次の事項に注意してください。
デモ・プログラムのtextfe.sqlの186行目は訂正が必要です。このデモは次の位置に格納されています。
$ORACLE_HOME/dm/demo/sample/plsql/texfe.sql(Solarisの場合)
%ORACLE_HOME%\dm\demo\sample\plsql\texfe.sql(Windowsの場合)
このデモ・プログラムのステップ8は、DBMS_DATA_MININGに提供するために、DM_Nestedタイプに抽出されたテキスト機能をキャストする方法を示しています。デモでは、このステップでテキスト機能がDM_Nested_Categoricalsとしてキャストされるように示されていますが、この機能と値はDM_Nested_Numericalsにキャストされます。
Oracle HTML DBを使用する際は、次の事項に注意してください。
Oracle HTML DBのデータベース・アクセス記述子(DAD)は、ファイル$ORACLE_HOME/Apache/modplsql/conf/marvel.confで定義されます。$ORACLE_HOMEは、Oracle HTTP ServerがインストールされているOracleホームを参照します。Oracle HTML DBのmodplsql構成を変更するには、このファイルを直接変更する必要があります。
Oracle HTML DBでは、対応するデータベース・アクセス記述子(DAD)で使用するキャラクタ・セットを使用します。DADで使用するキャラクタ・セットがUTF8の場合、Oracle HTML DBからレンダリングされるHTMLページはUTF8でエンコードされます。このエンコーディングは、SQL問合せおよびOracle HTML DBレポートからエクスポートできるカンマ区切りの値(CSV)データにも適用されます。DADのキャラクタ・セットが、ローカライズされたMicrosoft Excelでサポートされているキャラクタ・セットと互換性がない場合、ExcelはCSVデータを正しく読み込むことができません。この問題を解決するには、DADのキャラクタ・セットをExcelでサポートされているキャラクタ・セットに変更します。また、対応するDADのPlsqlNlsLanguageプロパティとPlsqlTransferModeプロパティを指定して、Oracle Application Server 10gでDADのRAW転送モードを使用可能にする必要があります。DADの構成の詳細は、『Oracle HTTP Server 管理者ガイド』を参照してください。
Adobe SVGプラグインでは、UTF-8、UTF-16、ISO-8859-1およびUS-ASCIIでエンコードされたデータを正しく処理できます。SVGチャートのエンコーディングは、DADのデータベース・キャラクタ・セットによって判断されます。DADのキャラクタ・セットがUTF8、AL32UTF8、AL16UTF16、WE8ISO8859P1またはUS7ASCII以外の場合は、Adobe SVGプラグインでSVGチャートが正しくレンダリングされない場合があります。
日本語、中国語、韓国語などのマルチバイト・キャラクタが含まれるSVGチャートを作成する場合は、Adobe SVG Viewerがマルチバイト・キャラクタを正しく表示できるように、次の追加手順を実行する必要があります。Application Builderで、SVGチャートが含まれる「ページ定義」にナビゲートします。「Chart」リンクをクリックしてSVGチャートの属性を編集し、「フォント設定」セクションにスクロールします。「フォント色」フィールドに、次の該当する文字列を入力します。最初の16進数の後に2つのセミコロン(;;)を入力し、文字列の最後にはセミコロン(;)を付けないように注意してください。
日本語の場合: #000000;;font-family:MS Gothic,MS Mincho;fill:#000000
中国語の場合: #000000;;font-family:SimHei,MS-Hei;fill:#000000
韓国語の場合: #000000;;font-family:Gulim,Batang;fill:#000000
特定のフォントの色を指定するには、文字列の最後のfill:#000000を、指定する色の16進数(fill:#336699など)に置換します。
Oracle HTML DBは、DADのキャラクタ・セットでエンコード可能な言語のみサポートしています。DADのキャラクタ・セットをサポート対象の言語と互換性のないキャラクタ・セットに変更すると、Oracle HTML DBで言語固有のデータを正しくレンダリングできない場合があります。たとえば、DADのキャラクタ・セットをJA16SJISに設定すると、Oracle HTML DBのそのインスタンスでは中国語がサポートされません。これは、JA16SJISで中国語をエンコードできないためです。
UTF8またはAL32UTF8以外のデータベース・キャラクタ・セットを使用してOracle HTML DBを使用する際に、マルチバイト・キャラクタを使用するアプリケーションを使用すると、Microsoft Internet Explorerで一部の操作が失敗する場合があります。これは、マルチバイト・データがURLに直接渡された場合、およびクライアントのオペレーティング・システムのキャラクタ・セットがDADのキャラクタ・セットと異なる場合に発生します。
最初の行セットをフェッチしてフィルタ処理する項目タイプPopup LOVでは、マルチバイト・データをURLで直接使用できます。たとえば、WindowsのデフォルトのエンコーディングがShift JISであるとします。DADのキャラクタ・セットがJA16EUCの場合、フィルタ処理を伴うPopup LOVまたはレポート・リンクからURLにマルチバイト・データを渡すOracle HTML DBアプリケーションは失敗する場合があります。DADのキャラクタ・セットがJA16SJISの場合、アプリケーションは失敗しません。
Oracle HTML DBで変換されたアプリケーションを使用する場合は、次の規則に従って、使用する変換されたアプリケーションを決定してください。
ユーザー言語設定と変換されたアプリケーションの言語コードが完全に一致するアプリケーションを選択します。
部分的に一致するアプリケーションを選択します。つまり、言語とロケールが存在するかどうかを確認します。 たとえば、ユーザー言語設定がen-usのとき、en-usの変換されたアプリケーションが存在しない場合は、言語コードがenの変換されたアプリケーションを選択します。
プライマリ・アプリケーションを使用します。
たとえば、主要言語がドイツ語(de)のアプリケーションを作成し、このアプリケーションを言語コードen-usで変換したバージョンを作成するとします。ユーザーが言語コードen-usのブラウザを使用してこのアプリケーションにアクセスすると、アプリケーションを英語(en-us)で実行できます。ユーザーが言語コードen-gbのブラウザを使用してこのアプリケーションにアクセスすると、アプリケーションは主要言語で表示されます。この場合、アプリケーションは、このアプリケーションの主要言語であるドイツ語で表示されます。 また、言語コードenを使用して英語バージョンの変換されたアプリケーションを作成すると、すべての種類のenに対応できます。
SQL文の表形式の選択リストは、生成後に変更しないでください。変更すると、表のデータを変更して更新を適用するときにチェックサム・エラーが発生する可能性があります。たとえば、SQL問合せselect ename from empを生成した後は、select lower(ename) from empに変更できません。
月間カレンダ・ウィザードを使用するとき、「問合せ値を指定」ステップで「日付のリンク」の画面上のヘルプが完全ではありません。「日付のリンク」は、月内の特定の日付にリンクを作成する場合に使用します。リンクでサポートされるのは、クリックされた日付の置換のみです。次の置換がサポートされています。
_calendar_dateは、MM/DD/YYYY形式の日付です。
_calendar_dateYYYYは、DD-MON-YYYY形式の日付です。
_calendar_dateYYYYMMDDは、YYYYMMDD形式の日付です。
たとえば、カレンダの日付を、アプリケーションの2ページ目にあるEMP表のレポートにリンクするとします。このレポートは、必要に応じて、P2_HIREDATEという非表示項目の値を持つHIREDATE列で制約されます。レポート・リージョンのSQL問合せでは、P2_HIREDATEで制約された日付がMM/DD/YYYY形式であることが必要です。リンクは、f?p構文で次のように表されます。
f?p=&APP_ID.:2:&SESSION.::::P2_HIREDATE:_calendar_date_
Oracle HTML DBインタフェースは、ドイツ語、スペイン語、フランス語、イタリア語、日本語、韓国語、ポルトガル語(ブラジル)、簡体字中国語および繁体字中国語に翻訳されます。Oracle HTML DBの単一インスタンスは、これらの翻訳言語のうち1つ以上の言語でインストールできます。実行時に、ユーザーのWebブラウザの言語設定によって特定の言語が判断されます。
翻訳されたOracle HTML DBインタフェースは、特定の言語をサポートするキャラクタ・セットを持つデータベースにロードする必要があります。翻訳されたOracle HTML DBインタフェースを、その言語の文字コードをサポートしていないデータベースにインストールしようとすると、失敗する場合があります。または、実行時に、翻訳されたOracle HTML DBが正しく表示されない場合があります。データベース・キャラクタ・セットAL32UTF8は、すべての翻訳言語のOracle HTML DBをサポートできます。
翻訳されたOracle HTML DB用のインストール・ファイルは$ORACLE_HOME/marvel/builderの適切なサブディレクトリにあり、言語コードによって識別されます。たとえば、ドイツ語用は$ORACLE_HOME/marvel/builder/deにあり、日本語用は$ORACLE_HOME/marvel/builder/jaにあります。各ディレクトリには、load_de.sql、load_ja.sqlなど、言語コードで識別される言語ロード・スクリプトが格納されています。
翻訳されたOracle HTML DBは、SQL*Plusを使用して手動でインストールできます。インストール・ファイルはUTF8でエンコードされています。翻訳されたOracle HTML DBインタフェースをインストールするには、SQL*Plusを起動する前に、ターゲット・データベースのキャラクタ・セットに関係なく、環境変数NLS_LANGのキャラクタ・セット値をAL32UTF8に設定する必要があります。次に、翻訳されたOracle HTML DBをロードする際に有効なNLS_LANG設定の例を示します。
American_America.AL32UTF8
Japanese_Japan.AL32UTF8
翻訳されたOracle HTML DBをインストールする手順は、次のとおりです。
環境変数NLS_LANGを設定します。キャラクタ・セットは必ずAL32UTF8に設定してください。
ターゲット・データベースにSYSで接続します。
次の文を実行します。
ALTER SESSION SET CURRENT_SCHEMA = FLOWS_010500;
言語固有のロードSQLスクリプトを実行します。次に例を示します。
@load_de.sql
Oracle interMediaのパフォーマンス関連のコンポーネントは、Companion CDにパッケージされています。Companion CDを使用しなくてもinterMediaは正常に機能しますが、イメージ処理で適切なパフォーマンスを得るためには、Companion CDから次のコンポーネントをインストールする必要があります。
JAccelerator(NCOMP)
Oracle interMedia Image Accelerator
interMediaのREADMEについては、第4章「Oracle interMedia」を参照してください。
$ORACLE_HOME/ord/im/admin/README.txt
Oracle Internet Directory製品は、Oracle Application Serverにのみ付属しています。Oracle Database 10g製品には付属していません。ただし、Oracle Net Services、Oracle Advanced Securityの機能がOracle Internet Directoryを使用することがあるため、ここにOracle Internet Directoryの情報を記載しています。Oracle Internet Directoryの管理アクティビティの多くは、1つのツールOracle Internet Directory Configuration Assistant(OIDCA)に統合されました。OIDCAは、次の条件でEnterprise User SecurityおよびNetwork Names機能と併用してください。
Enterprise User Security
Enterprise User Securityは、今回のリリースのID管理レルムでのみ動作します。以前のリリースで使用していたOracleコンテキストは、OIDCAツールを使用してID管理レルムに変換する必要があります。
使用環境でOracle Internet Directoryサーバーを検出するためのldap.ora構成ファイルを作成または更新する場合は、OIDCAを使用します。
Network Names
Oracleコンテキストを作成、アップグレードおよび削除する場合は、OIDCAを使用します。
初期のリリースのOracleコンテキストをID管理レルムに変換する場合は、OIDCAを使用します。
使用環境でOracle Internet Directoryサーバーを検出するためのldap.ora構成ファイルを設定する場合は、OIDCAを使用します。
Oracle Internet Directoryを使用する際は、次の事項に注意してください。
Oracle Internet Directory Configuration Assistant(OIDCA)を使用すると、Oracleコンテキストの作成、アップグレードおよび削除、ldap.oraファイルの構成、およびOracleコンテキストからID管理レルムへの変換を実行できます。
OIDCAの構文は、次のとおりです。
oidca oidhost=host nonsslport=port | sslport=SSL Port dn=binddn pwd=bindpwd propfile=properties file
次の表に、OIDCAのパラメータを示します。OIDCAの使用方法を確認するには、コマンド・プロンプトにoidca -helpを入力してください。
| パラメータ | 説明 |
|---|---|
oidhost |
OIDサーバーのホスト。デフォルトはlocalhostです。
|
nonsslport |
OIDサーバーのポート。デフォルトは389です。
|
sslport |
OIDのSSLポート。デフォルトは636です。
|
dn |
OIDユーザー。cn=orcladminのように指定します。
|
pwd |
OIDユーザー・パスワード。 |
propfile |
操作のモードおよび操作に必要な固有のパラメータを判断するためのプロパティのリストを指定したファイル。 |
OIDCAでOracleコンテキストを作成するには、次の構文を使用します。各パラメータについては、後続の表を参照してください。
oidca oidhost=host
nonsslport=port
sslport=SSL Port
dn=binddn
pwd=bindpwd
mode=CREATECTX
contextdn=OracleContext DN
| パラメータ | 説明 |
|---|---|
oidhost |
OIDサーバーのホスト。未指定の場合、デフォルトはlocalhostです。
|
nonsslport |
OIDサーバーのポート。未指定の場合、デフォルトは389です。
|
sslport |
OIDのSSLポート。未指定の場合、デフォルトは636です。
|
dn |
OIDユーザー。cn=orcladminのように指定します。
|
pwd |
OIDユーザー・パスワード。 |
mode
|
OIDCAのモード。常にCREATECTXに設定します。
|
contextdn |
DN。この下にOracleContextを作成する必要があります。dc=acme, dc=comのように指定します。
|
次の点に注意してください。
この操作を正常に実行するには、contextdnが必要です。
OIDには、有効なDN"cn=oraclecontext,dc=acme, dc=com"を指定しないでください。
OIDには、有効なDN"dc=acme,dc=com"が必要です。
modeおよびcontextdnパラメータは、プロパティ・ファイルとして渡すこともできます。
非SSLモードで操作を実行する場合は、パラメータnonsslport=portを指定します。
SSLモードで操作を実行する場合は、パラメータsslport=sslportを指定します。
nonsslportまたはsslportパラメータのいずれかを指定する必要があります。両方は指定しないでください。
機能
OIDCAは、contextdnに有効なDN構文があり、Oracle Internet Directoryにエントリがあることを検証します。OIDCAでは、ルートOracleContextを明示的に作成できないことに注意してください。ルートOracleコンテキストがない場合、OIDCAはエラーで終了します。
DNがある場合は、Oracleコンテキストの存在が検証されます。
最新のOracleコンテキストがすでに存在している場合は、「最新のOracleコンテキストがすでに存在しています」のメッセージが出力され、OIDCAが終了します。
古いバージョンのOracleコンテキストがすでに存在している場合は、「古いバージョンのOracleコンテキストがすでに存在しています」のメッセージが出力され、OIDCAが終了します。
Oracleコンテキストがない場合は、このDNにOracleコンテキストが作成されます。
OracleContextインスタンスをアップグレードするには、次の構文を使用します。各パラメータについては、後続の表を参照してください。
oidca oidhost=host nonsslport=port sslport=SSL Port dn=binddn pwd=bindpwd mode=UPGRADECTX contextdn=OracleContext DN
| パラメータ | 説明 |
|---|---|
oidhost |
OIDサーバーのホスト。未指定の場合、デフォルトはlocalhostです。
|
nonsslport |
OIDサーバーのポート。未指定の場合、デフォルトは389です。
|
sslport |
OIDのSSLポート。未指定の場合、デフォルトは636です。
|
dn |
OIDユーザー。cn=orcladminのように指定します。
|
pwd |
OIDユーザー・パスワード。 |
mode
|
OIDCAのモード。常にUPGRADECTXに設定します。
|
contextdn |
DN。この下にOracleContextを作成する必要があります。dc=acme, dc=comのように指定します。
|
次の点に注意してください。
この操作を正常に実行するには、contextdnにOracleContextが含まれている必要があります。
"cn=oraclecontext,dc=acme,dc=com"および"dc=acme,dc=com"のDNは、両方とも有効です。
modeおよびcontextdnパラメータは、プロパティ・ファイルとして渡すこともできます。
非SSLモードで操作を実行する場合は、パラメータnonsslport=portを指定します。
SSLモードで操作を実行する場合は、パラメータsslport=sslportを指定します。
nonsslportまたはsslportパラメータのいずれかを指定する必要があります。両方は指定しないでください。
機能
OIDCAは、contextdnに有効なDN構文があり、Oracle Internet DirectoryにOracleContextがあることを検証します。OIDCAでは、ルートOracleContextを明示的にアップグレードできません。ルートOracleContextがない場合は、エラー・メッセージが送信されます。
contextdnにOracleContextがある場合は、次の操作が実行されます。
OracleContextがレルムに属しているかどうかが検証され、適切なメッセージが出力されてOIDCAが終了します。レルムに属しているOracleContextインスタンスは、アップグレードできないことに注意してください。
OracleContextが最新であることが確認された場合は、「最新のOracleコンテキストがすでに存在しています」のメッセージが出力され、OIDCAが終了します。
OracleContextが最新でない場合は、このDNでOracleContextがアップグレードされます。
OracleContextを削除するには、次の構文を使用します。各パラメータについては、後続の表を参照してください。
oidca oidhost=host nonsslport=port sslport=SSL Port dn=binddn pwd=bindpwd mode=DELETECTX contextdn=OracleContext DN
| パラメータ | 説明 |
|---|---|
oidhost |
OIDサーバーのホスト。未指定の場合、デフォルトはlocalhostです。
|
nonsslport |
OIDサーバーのポート。未指定の場合、デフォルトは389です。
|
sslport |
OIDのSSLポート。未指定の場合、デフォルトは636です。
|
dn |
OIDユーザー。cn=orcladminのように指定します。
|
pwd |
OIDユーザー・パスワード。 |
mode
|
OIDCAのモード。常にDELETECTXに設定します。
|
contextdn |
DN。この下にOracleContextを作成する必要があります。dc=acme, dc=comのように指定します。
|
次の点に注意してください。
この操作を正常に実行するには、contextdnにOracleContextが含まれている必要があります。
"cn=oraclecontext, dc=acme,dc=com"および"dc=acme,dc=com"のDNは、両方とも有効です。
modeおよびcontextdnパラメータは、プロパティ・ファイルとして渡すこともできます。
非SSLモードで操作を実行する場合は、パラメータnonsslport=portを指定します。
SSLモードで操作を実行する場合は、パラメータsslport=sslportを指定します。
nonsslportまたはsslportパラメータのいずれかを指定する必要があります。両方は指定しないでください。
機能
OIDCAは、contextdnに有効なDN構文があり、Oracle Internet DirectoryにOracleContextがあることを検証します。
contextdnにOracleContextがある場合は、次の操作が実行されます。
OracleContextがレルムに属しているかどうかが検証され、適切なメッセージが出力されてOIDCAが終了します。レルムに属しているOracleContextインスタンスは、削除できないことに注意してください。
OracleContextは、レルムに属していない場合は削除されます。
ldap.oraファイルを構成するには、次の構文を使用します。各パラメータについては、後続の表を参照してください。
oidca oidhost=host nonsslport=port sslport=SSL Port adminctx=Administrative context mode=LDAPORA dirtype=OID or AD -update
| パラメータ | 説明 |
|---|---|
oidhost |
OIDサーバーのホスト。未指定の場合、デフォルトはlocalhostです。
|
nonsslport |
OIDサーバーのポート。検出APIを使用して判断されます。 |
sslport |
OIDのSSLポート。検出APIを使用して判断されます。 |
mode
|
OIDCAのモード。常にLDAPORAに設定します。
|
dirtype |
ディレクトリ・タイプ。可能な値はOIDおよびADで、必須属性です。
|
adminctx |
デフォルトの管理コンテキスト。dc=acme,dc=comのように指定します。未指定の場合は、検出APIを使用して判断されます。
|
-update |
このフラグを指定すると、既存のldap.oraが上書きされます。このフラグを指定しないと、ldap.oraは、存在していない場合のみ作成されます。
|
次の点に注意してください。
少なくとも非SSLまたはSSLのいずれかのポートを指定する必要があります。その他のポートは検出されます。
mode、dirtypeおよびadminctxパラメータは、プロパティ・ファイルとして渡すこともできます。
機能
検出APIを使用して、コマンドラインに指定されていないパラメータすべてが判断されます。
検出APIを使用して、ldap.oraの位置が検証されます。
ldap.oraがあり、-updateパラメータが指定されていない場合は、「ldap.oraが存在します」のメッセージが出力され、OIDCAが終了します。
ldap.oraがあり、-updateパラメータが指定されている場合は、検出APIを使用して既存のldap.oraが更新されます。
ldap.oraが存在しない場合は、次の順序で適切な位置に新しいldap.oraファイルが作成されます。
LDAP_ADMIN $ORACLE_HOME/ldap/admin
Oracle Database 10gのエントリは、Oracle Internet Directory リリース9.0.4サーバーに格納する必要があります。Enterprise User Security(Oracle Database 10gの機能)にも、リリース9.0.4のID管理レルムが必要です。
既存のOracleContextをID管理レルムに変換するには、次の構文を使用します。各パラメータについては、後続の表を参照してください。ルートOracleContextオブジェクトは変換されないことに注意してください。
oidca oidhost=host nonsslport=port sslport=SSL Port dn=binddn pwd=bindpwd mode=CTXTOIMR contextdn=OracleContext DN
| パラメータ | 説明 |
|---|---|
oidhost |
OIDサーバーのホスト。デフォルトはlocalhostです。
|
nonsslport |
OIDサーバーのポート。デフォルトは389です。
|
sslport |
OIDのSSLポート。デフォルトは636です。
|
dn |
OIDユーザー。cn=orcladminのように指定します。
|
pwd |
OIDユーザー・パスワード。 |
mode
|
OIDCAのモード。常にCTXTOIMRに設定します。
|
contextdn |
DN。この下にOracleContextを作成する必要があります。dc=acme, dc=comのように指定します。
|
次の点に注意してください。
指定したcontextdnにOracleContextが存在している必要があります。
"cn=oraclecontext, dc=acme,dc=com"および"dc=acme, dc=com"のDNは、両方とも有効です。
パラメータmodeおよびcontextdnは、プロパティ・ファイルで渡すこともできます。
非SSLモードで操作を実行する場合は、パラメータnonsslport=portを指定します。
SSLモードで操作を実行する場合は、パラメータsslport=sslportを指定します。
nonsslportまたはsslportパラメータのいずれかを指定する必要があります。両方は指定しないでください。
機能
OIDCAは、contextdnのDN構文が正しいこと、および有効なOracleContextが含まれていることを検証します。
contextdnにOracleContextがある場合は、次の操作が実行されます。
OracleContextがレルムに属しているかどうかが検証されます。属している場合は、適切なエラー・メッセージが出力され、OIDCAが終了します。
OracleContextがレルムに属していない場合は、コンテキストが最新バージョンにアップグレードされてレルムに変換されます。
注意(補足):
ニックネーム属性がcnでない場合は、Oracle Internet Directoryセルフ・サービス・コンソールを使用して、この属性をユーザー構成属性として構成してください。
Oracle Internet Directoryセルフ・サービス・コンソールを使用して、変換されたレルムのユーザーおよびグループを管理する場合は、適切な管理権限を設定する必要があります。詳細は、『Oracle Internet Directory 管理者ガイド』の「Oracleテクノロジを配置する権限の委任」を参照してください。
Oracle Label Security(OLS)を使用する際は、次の事項に注意してください。
Database Configuration Assistant(DBCA)を使用してOID対応のOLSを実行するユーザーには、権限を追加する必要があります。必要な権限および権限を付与する方法は、次のとおりです。
Enterprise Security Manager(ESM)コンソールを使用して、ユーザーをOracleDBCreatorsグループに追加します。
ユーザーをProvisioning Adminsグループに追加します。これは、DBCAでOLSのDIPプロビジョニング・プロファイルを作成するために必要です。次の.ldifファイルでldapmodifyコマンドを使用して、ユーザーをProvisioning Adminsグループに追加します。
dn: cn=Provisioning Admins,cn=changelog subscriber, cn=oracle internet directory changetype: modify add: uniquemember uniquemember: DN of the user who needs to be added
コマンドライン・ツールolsadmintoolを使用して、ユーザーをpolicyCreatorsグループに追加します。DBCAは、OIDのOLSポリシー情報を使用してデータベースをブートストラップします。このブートストラップを実行できるのはpolicyCreatorsのみです。
データベースがDBCAを使用してOIDにすでに登録されている場合は、ESMツールを使用して、そのデータベースのOracleDBAdminsグループにユーザーを追加します。
OID対応のOLS構成を持つデータベースの登録を削除する管理者にも、前述の権限が必要です。
Oracle Label Securityポリシーを作成、参照および削除できるのは、Policy Creatorsグループに属しているユーザーのみです。このユーザーは、該当するポリシーのPolicy Adminsグループに明示的に追加されている場合でも、ラベル・コンポーネントの作成やユーザーの追加などのポリシー管理タスクは実行できません。つまり、ポリシーの作成者をポリシーの管理者にすることはできません。
OID対応のOLSをデータベースから削除するには、DBCAを使用してデータベースの登録を削除してから、次のスクリプトを実行します。
$ORACLE_HOME/rdbms/admin/catnools.sql
ユーザーがポリシーを作成または変更すると、作成したポリシーまたは変更内容は、他のインスタンスが再起動されないかぎり、自動的には伝播されません。Oracle Real Application Clusters環境では、ポリシーおよびSA_USER_ADMINパッケージとSA_SYSDBAパッケージが確実に適用されるように、ポリシーの作成または変更後は、ただちに他のすべてのインスタンスを再起動してください。
一部のユーザーが現行のセッションの中で設定を変更しても、フェイルオーバーでは、各ユーザーのデフォルトのセッション設定が使用されます。セッション設定の変更内容は、デフォルトの設定として保存されないかぎり、フェイルオーバー・イベントによって消失します。Oracle Real Application Clusters環境では、設定およびSA_SESSIONパッケージが等しく適用されるように、設定を変更する都度、変更したセッション設定をデフォルト設定として保存してください。変更内容を保存しないと、フェイルオーバー・イベントの発生でデフォルトのセッション設定に戻るため、ユーザーが意図している設定とは矛盾する結果が生成される可能性があります。
ALTER DATABASE RENAME FILEコマンドを使用してOracle Managed Filesの名前を変更すると、元の名前のファイルは削除されます。UNIXプラットフォームで、シンボリック(ソフト)リンクに対するOracle Managed Filesの名前を元のファイル名に変更すると、元のファイルのコピーはディスク上に残りません。
この状況を回避するには、Oracle Managed Filesへのハード・リンクを作成し、ハード・リンクに対するソフト・リンクを作成します。次に、シンボリック(ソフト)リンクに対するOracle Managed Filesの名前を変更してください。
Oracle NetのREADMEについては、第5章「Oracle Net Services README 」を参照してください。
$ORACLE_HOME/network/doc/README_OracleNet.htm
Oracle OLAPを使用する際は、次の事項に注意してください。
OLAP Catalogには、ExportとDeleteの2つの新しいプロシージャ・セットがあります。
Exportの説明
Exportプロシージャでは、1つ以上のディメンション、キューブまたはメジャー・カタログをエクスポートするために必要なCWM1またはCWM2コマンド(RDBMSコマンドとCWM API)およびRDBMS Export Utilityパラメータ・ファイルが生成されます。入力パラメータのownerおよびnameパラメータには、%や_など、SQLの標準的なワイルドカードを使用できます。出力は、画面に送信またはファイルに書き込むようにできます。
Exportプロシージャの言語仕様
create or replace package cwm2_olap_export as procedure Export_Dimension( p_Dimension_Owner varchar2, p_Dimension_Name varchar2, p_Directory_Name varchar2 default null, p_Command_File_Name varchar2 default null, p_Table_File_Name varchar2 default null ); procedure Export_Cube( p_Cube_Owner varchar2, p_Cube_Name varchar2, p_Directory_Name varchar2 default null, p_Command_File_Name varchar2 default null, p_Table_File_Name varchar2 default null ); procedure Export_OLAP_Catalog( p_Directory_Name varchar2 default null, p_Command_File_Name varchar2 default null, p_Table_File_Name varchar2 default null ); end cwm2_olap_export;
p_Directory_Nameは、コマンド・ファイルおよび表ファイルの書込み先ディレクトリを指定するオプションのパラメータです。
p_Command_File_Nameは、出力されるAPIコマンド・ファイルを指定するオプションのパラメータです。
p_Table_File_Nameは、出力されるRDBMS Export Utilityパラメータ・ファイルを指定するオプションのパラメータです。
Exportの制限
Exportプロシージャは、初期リリースの実表のみをエクスポートします。ビュー、またはビューで使用される表はエクスポートされません。
Deleteの説明
Deleteプロシージャでは、1つ以上のディメンション、キューブまたはメジャー・カタログを削除するために必要なCWM1またはCWM2コマンド(RDBMSコマンドとCWM API)が生成されます。入力パラメータのownerおよびnameパラメータには、%や_など、SQLの標準的なワイルドカードを使用できます。必須パラメータを指定することで、CWM1ディメンションのRDBMS部分の削除、レポートの生成、および実際の削除を制御します。
Deleteプロシージャの言語仕様
create or replace package cwm2_olap_delete as
procedure Delete_Dimension(
p_Dimension_Owner varchar2,
p_Dimension_Name varchar2,
p_Delete_CWM1_Dimension varchar2,
p_Report varchar2,
p_Delete varchar2
);
procedure Delete_Cube(
p_Cube_Owner varchar2,
p_Cube_Name varchar2,
p_Report varchar2,
p_Delete varchar2
);
procedure Delete_Measure_Catalog(
p_Measure_Catalog_Name varchar2,
p_Report varchar2,
p_Delete varchar2
);
procedure Delete_OLAP_Catalog(
p_Delete_CWM1_Dimension varchar2,
p_Report varchar2,
p_Delete varchar2
);
end cwm2_olap_delete;
p_Delete_CWM1_Dimensionは必須パラメータで、YESまたはNOを指定する必要があります。このパラメータは、CWM1ディメンションのRDBMS部分を削除するかどうかを示します。CWM1ディメンションは、RDBMS部分とCWM部分の2つの部分で構成されます。RDBMS部分は、他のRDBMSファンクションが使用できます。DBAは、RDBMS部分を削除することが正しいかどうかを判断する必要があります。
p_Reportは必須パラメータで、YES/NOを指定する必要があります。このパラメータは、レポートを生成するかどうかを示します。DBAは、このレポートを使用して以前およびその後の削除内容を調査できます。
p_Deleteは必須パラメータで、YES/NOを指定する必要があります。このパラメータは、実際に削除を実行するかどうかを示します。実際には削除せずに削除内容を調査するには、このパラメータとp_Reportパラメータを組み合せて使用します。
Validate
Validate_DimensionおよびValidate_Cubeプロシージャは、所有者と名前のパラメータに%や_など、SQLの標準的なワイルドカードを使用できるように変更されました。
Validateのレポート
validateプロシージャは、無作為に同じ検証レポートを2回生成します。両方とも正しいレポートです。
Oracle9i Databaseリリース2(9.2)からOracle Database 10gへのアップグレード
Oracle9i Database リリース2(9.2)からOracle Database 10gにアップグレードすると、データベースはOracle9i Database リリース2(9.2)互換モードになり、アナリティック・ワークスペースはリリース2(9.2)で動作しているかのように機能します。アナリティック・ワークスペースでは、Oracle9i Database リリース2(9.2)の記憶形式が引き続き使用されます。マルチライターなど、Oracle Database 10gの新しいOLAP機能を使用する場合は、アナリティック・ワークスペースを新しい記憶形式に変換する必要があります。
Oracle9i Database リリース2(9.2)のワークスペースをOracle Database 10gの記憶形式に変換する手順は、次のとおりです。
データベースの互換モードを10.0.0以上に変更します。互換モードの詳細は、『Oracle Database アップグレード・ガイド』の第5章の「互換性および相互運用性」を参照してください。
アナリティック・ワークスペースのIDでデータベースにログインします。
Oracle Database 10g SQL*Plusの変換ユーティリティDBMS_AWを使用して、ワークスペースを新しい記憶形式に変換します。
アナリティック・ワークスペースをawname_backupなどの名前に変更します。
execute dbms_aw.rename (awname, awname_backup);
元の名前を使用してOracle Database 10gの新しい記憶形式のワークスペースを作成します。
execute dbms_aw.convert (awname_backup, awname, tablespace_name);
標準的なアナリティック・ワークスペースの多くは、ワークスペース名が完全修飾された論理オブジェクト名で格納されています。そのため、アップグレードするワークスペースには、Oracle9i Database リリース2(9.2)の元のワークスペースと同じ名前を指定する必要があります。
データベース互換モードをOracle Database 10gに変更したため、新しく作成するワークスペースは新しい記憶形式になります。
新しくインストールしたOracle Database 10gへのOracle9i Databaseリリース2(9.2)アナリティック・ワークスペースのインポート
以前にインストールしたOracle9i Database リリース2(9.2)とは別に、Oracle Database 10gをインストールした場合は、Oracle9i Database リリース2(9.2)のワークスペースをエクスポートして、Oracle Database 10gにインポートする必要があります。
Oracle9i Database リリース2(9.2)のSQL*Plusで、次のプロシージャを使用します。
execute dbms_aw.execute('aw attach awname');
execute dbms_aw.execute('allstat');
execute dbms_aw.execute('export all to eif file ''filename''');
Oracle Database 10gのSQL*Plusで、名前とスキーマが同一の新しいワークスペースを作成し、EIFファイルをインポートします。
execute dbms_aw.execute('aw create awname');
execute dbms_aw.execute('import all from eif file ''filename''');
execute dbms_aw.execute('update');
Analytic Workspace Managerでインポートおよびエクスポートせずに、EIFファイルのインポートおよびエクスポート・ユーティリティを使用してください。Bug#3313073を参照してください。
AGGREGATEコマンド
WPREAGGがすべての重み付け演算子のデフォルトになりました。WAGGおよびWNOAGGは廃止されました。
PRECOMPUTE文のLIMIT構文(オプション)は廃止されました。次の構文をサポートしています。
PRECOMPUTE(ALL)
PRECOMPUTE(NA)
PRECOMPUTE(valueset-name)
PRECOMPUTE(level-relation-name 'Level1' 'Level2')
PRECOMPUTE('dimvalue1' 'dimvalue2')
たとえば、次の構文はサポートされません。
PRECOMPUTE(limit(b to first 5))
かわりに、AGGREGATEを実行する前に、VALUESETを使用して制限を手動で設定してください。
DEFINE time.precomp VALUESET time DEFINE myaggmap AGGMAP AGGMAP RELATION time.parentrel PRECOMPUTE(time.precomp) END LIMIT time.precomp TO FIRST 5 AGGREGATE myvar USING myaggmap
Oracle OLAPのJava APIには、次の3つのクラスが新しく追加されました。
oracle.olapi.metdata.DuplicateMetadataIDExceptionクラス
oracle.olapi.metdata.DuplicateMetadataIDExceptionクラスは、指定されたIDのBaseMetadataObjectがすでに存在していることを示します。通常、この例外は、すでに存在しているオブジェクト名でカスタムMdmObjectまたはカスタムMtmObjectを作成しようとすると発生します。
oracle.olapi.metdata.mdm.Mdm9iNamingConventionクラス
oracle.olapi.metdata.mdm.Mdm9iNamingConventionクラスは、MdmNamingConventionインタフェースを実装します。このクラスは、一時的なカスタム・メタデータMdmObjectまたはカスタムMtmObjectに対し、OLAP Catalogエンティティから生成された永続的なメタデータ・オブジェクトに対してOracle OLAPが使用するネーミング規則と同じ規則を使用します。たとえば、OLAP Catalogサブスキーマの所有者名がGLOBAL、そのスキーマのディメンション名がPRODUCTSの場合、そのディメンションに対するMdmPrimaryDimensionオブジェクトのID Stringは、D_GLOBAL_PRODUCTSです。MYPRODUCTSの名前でカスタム・ディメンションを作成すると、そのディメンションのIDはD_TRANSIENT_MYPRODUCTSになります。
カスタム・メタデータ・オブジェクトに異なる所有者を割り当てる場合は、Mdm9iNamingConventionのインスタンスを作成して所有者名を指定できます。これにより、Mdm9iNamingConventionをMdmMetadataProviderのsetMdmNamingConventionメソッドに渡すことができます。
Mdm9iNamingConventionのメソッドは、アプリケーションでは使用されません。これらはOracle OLAPが内部的にコールします。
oracle.olapi.metdata.mdm.MdmNamingConventionインタフェース
oracle.olapi.metdata.mdm.MdmNamingConventionインタフェースは、カスタムMdmObjectおよびカスタムMtmObjectオブジェクトに一意のIDを提供するオブジェクトのインタフェースです。デフォルトとは異なるメタデータ・ネーミング規則が必要な場合は、このインタフェースを実装して、MdmNamingConventionのインタフェースをMdmMetadataProviderのsetMdmNamingConventionメソッドに渡すことができます。
MdmNamingConventionのメソッドは、アプリケーションでは使用されません。これらはOracle OLAPが内部的にコールします。
Oracle Real Application Clusters(RAC)を使用する際は、次の事項に注意してください。READMEについては、第6章「Oracle Server Management README」を参照してください。
$ORACLE_HOME/srvm/doc/README.doc $ORACLE_HOME/relnotes/README_svrm.doc
RACは、クラスタ・ノードの仮想IP(VIP)アドレスを管理するようになりました。RACをインストールする前に、ノードごとに未使用のIPアドレスを1つ取得してください。RACのroot.shファイルから実行されるVIP Configuration Assistantに、これらのVIPアドレスを入力します。パブリックまたはプライベートなネットワーク・インタフェースのIPアドレスは、VIP Configuration Assistantには入力しないでください。
Cluster Ready Services(CRS)のインストールでOracle Universal Installerの「ノード入力」ページにパブリックおよびプライベート名を入力する場合は、パブリックおよびプライベートなノード名にDNSドメインを含めてください。
RAC環境にデータベース・リカバリ領域を構成する場合は、共有記憶域にデータベース・リカバリ領域を配置する必要があります。
DBCAは、自動ディスク・バックアップを構成するときにデータベース・リカバリ領域を使用しますが、その領域は共有領域であることが必要です。データベース・ファイルがクラスタ・ファイル・システムに格納されている場合は、クラスタ・ファイル・システムを介してリカバリ領域を共有できます。また、データベース・ファイルがAutomatic Storage Management(ASM)ディスク・グループに格納されている場合は、ASMを介してリカバリ領域を共有できます。データベース・ファイルがRAWデバイスに格納されている場合は、NFSを使用して共有ディレクトリを構成する必要があります。
Sun Clusterでは、同じクラスタのすべてのRACデータベースは、すべて64ビット(Oracle Database 10gとOracle9i Databaseなど)またはすべて32ビット(Oracle9i DatabaseとOracle8i Databaseなど)にする必要があります。同一のクラスタでの32ビットRACデータベースと64ビットRACデータベースの混在は、サポートされません。
障害トランザクションは、RACデータベースのどのインスタンスからでもリカバリできます。インダウト・トランザクションの経験則に基づいたコミットも、どのインスタンスからでもできます。XAリカバリ・コールによって、すべてのインスタンスについて準備された全トランザクションのリストが提供されます。次の手順は同じインスタンス上で実行する必要があります。
xa_start
xa_commit
SQL操作
xa_end
xa_prepare
xa_commitまたはxa_rollback
通常、1つのブランチで実行するxa_prepare、xa_rollbackまたはxa_commit操作は、このブランチを作成したインスタンスと同じインスタンス上で実行する必要があります。この制限事項は、ロード・バランシングにも影響します。ロード・バランシングが使用可能な場合、2つの異なるノード上では次のような順序で実行できます。したがって、ロード・バランシングはXA接続には使用しないでください。
ノード1
xa_start
SQL操作
xa_end (SUSPEND)
ノード2
xa_start (RESUME)
SQL操作
xa_end
エラーが発生した場合は、他のXA操作の前にxa_recoverを実行する必要があります。オプションRAC_FAILOVER=trueを使用して、xa_openでXA接続をオープンしてください。
トランザクションID(XID)のグローバル一意性が保証されていないため、トランザクション・モニターではXIDのグローバル一意性を保持する必要があります。XA仕様に従って、RMではトランザクション・モニターからXIDを受け入れる必要があります。ただし、RACのXAでは指定されたXIDがクラスタ内で一意であるかどうかは判断できません。たとえば、ノード1にトランザクションTx(1).Br(1)が、ノード2に別のトランザクションTx(1).Br(1)がある場合は、XIDが一意でなくても両方のトランザクションでSQLを起動して実行できます。
xa_recover操作は、通常の操作のスイッチオーバーには使用できません。
以前のリリースのサンプル・スキーマでは、SHスキーマに医薬品と化粧品のデータが含まれていました。今回のリリースでは、SHスキーマに家電およびコンピュータ製品のデータが含まれています。Oracleサンプル・スキーマのREADMEファイルは、次の位置に格納されています。
$ORACLE_HOME/rdbms/demo/schema/README.txt
サンプル・スキーマまたはそのコンポーネントを手動で作成するためのスクリプトは、Companion CDにあります。
サンプル・スキーマのSHコンポーネントでは、SALESおよびCOSTSキューブは作成されません。これらのキューブを作成するには、データベースをインストールした後にolp_v3.sqlを実行してください。スクリプトの完了には、30秒程度かかります。
Oracle SpatialのREADMEには、『Oracle Spatial ユーザーズ・ガイドおよびリファレンス』、『Oracle Spatial トポロジおよびネットワーク・データ・モデル』および『Oracle Spatial GeoRaster』の補足情報が含まれています。Oracle SpatialのREADMEについては、第7章「Oracle10g Spatial」を参照してください。
$ORACLE_HOME/md/doc/README.txt
Oracle Streamsを使用する際は、次の事項に注意してください。
『Oracle Streams 概要および管理』では、ドキュメントの誤り(Bug#3520848)を訂正するため、「ルール評価コンテキスト」の項に次の注意事項を追加する必要があります。
|
注意: 評価コンテキストでは、ビューは実表としてサポートされません。 |
LogMinerでは、LOG_ARCHIVE_DEST_n初期化パラメータをサポートしています。Streamsの取得プロセスでは、LogMinerを使用してREDOログから変更を取得します。アーカイブ先からアーカイブ・ログ・ファイルにアクセスできない場合、ローカルの取得プロセスは、アクセス可能な別のアーカイブ先からアーカイブ・ログ・ファイルを読み込むことができます。
また、Oracle Real Application Clustersデータベースでは、この機能によって、各インスタンスがそのインスタンス自体のファイルを他のすべてのインスタンスにアーカイブするなど、インスタンス間のアーカイブが可能になります。このソリューションでは、アーカイブ・ログ・ファイルの欠落によって生じたギャップを検出したり解決することはできません。したがって、このソリューションは、アーカイブ・ファイルをすべてのインスタンス間で共有するために、既存のソリューションを補完する目的でのみ使用できます。
キューの索引構成表では、トリガーの使用はサポートされていません。キュー表でトリガーを使用すると、パフォーマンスに大きく影響を与える場合があります。キュー表でトリガーを使用することはお薦めできません。
Oracle Streamsのアドバンスト・キューイングでは、キュー・タイプが抽象データ型(ADT)のエンキュー、デキューおよび伝播操作をサポートしています。また、キュー・タイプがベースADTの継承型の場合は、エンキューとデキューの操作もサポートしています。タイプがベースADTから継承されている場合、2つのキュー間の伝播はサポートしていません。
この項の説明は、Oracle XML DBがインストールされ、XML LCRスキーマがロードされている既存のOracle9i リリース2(9.2)データベースのアップグレードにのみ適用されます。データベースにXML LCRスキーマがロードされているかどうかを確認するには、次の問合せを実行します。
SELECT count(*) FROM xdb.xdb$schema s WHERE s.xmldata.schema_url = 'http://xmlns.oracle.com/streams/schemas/lcr/streamslcr.xsd';
この問合せで0(ゼロ)が戻された場合は、XML LCRスキーマが登録されていないため、この項の説明は適用されません。
アップグレード・プロセスの中で、dbms_xmlschema.DeleteSchemaがコールされて既存のXML LCRスキーマが削除され、新しいバージョンのXML LCRスキーマが登録されます。XML LCRスキーマに依存オブジェクトがあると、DeleteSchemaのコールは失敗します。依存オブジェクトには、XMLTypeスキーマ・ベースの表や列、またはXML LCRスキーマを参照するスキーマなどがあります。DeleteSchemaのコールが正常終了して新しいスキーマが登録されると、XML LCRスキーマのアップグレードでそれ以上の処理は必要ありません。次の問合せを実行すると、新しいスキーマが正常に登録されたことを確認できます。
SELECT count(*) FROM xdb.xdb$element e, xdb.xdb$schema s WHERE s.xmldata.schema_url = 'http://xmlns.oracle.com/streams/schemas/lcr/streamslcr.xsd' AND ref(s) = e.xmldata.property.parent_schema AND e.xmldata.property.name = 'extra_attribute_values' ;
この問合せで1が戻された場合、データベース内のスキーマは最新バージョンです。これ以上の処理は必要ないため、この項の残りの説明はスキップできます。
この問合せで0(ゼロ)が戻された場合は、スキーマに依存するオブジェクトがあるため、XML LCRスキーマのアップグレードは失敗しています。XML LCRスキーマと依存オブジェクトをアップグレードするには、追加の手順を実行する必要があります。
XML LCRスキーマと依存オブジェクトをアップグレードするには、今回のリリースのOracle XML DBを使用します。DBMS_XMLSCHEMAパッケージのCopyEvolveプロシージャを使用した、スキーマのアップグレードがサポートされています。ユーザーは、CopyEvolveプロシージャをコールしてXML LCRスキーマをアップグレードできます。このプロシージャは、プロシージャをコールするデータベース・セッションでイベント22830をレベル8に設定してコールします。XML LCRスキーマのアップグレードの詳細は、『Oracle XML DB 開発者ガイド』の「XML Schemaの拡張」の章にあるCopyEvolveプロシージャの説明を参照してください。
Oracle Textを使用する際は、次の事項に注意してください。 また、「ドキュメントの追加事項」の『Oracle Text アプリケーション開発者ガイド』の記述も確認してください。
Oracle Textのナレッジ・ベースは、テーマの索引付け、ABOUT問合せ、およびドキュメント・サービスのテーマを導出するために使用する概念の階層ツリーです。次のOracle Textサービスでは、ナレッジ・ベースがインストールされていることが必要です。
INDEX_THEMES=YESの場合、BASIC_LEXERプリファレンスを使用した索引作成
INDEX_THEMES=YESの場合、索引に対するSYNCの実行
CTX_DOC.THEME
CTX_DOC.POLICY_THEME
CTX_DOC.GIST
CTX_DOC.POLICY_GIST
CTX_QUERY.HFEEDBACK
CTX_QUERY.EXPLAIN。TRANSFORMを指定したABOUTまたはTHEMESを使用する場合
TRANSFORMを指定したABOUTまたはTHEMESを使用するCONTAINS問合せ
ナレッジ・ベース拡張コンパイラ(ctxkbtc)
テーマが指定されている場合のクラスタリング・サービスと分類サービス
これらのOracle Text機能を使用するには、Oracle Database 10g Companion CDから、ナレッジ・ベース - 英語およびフランス語をインストールする必要があります。
提供されているナレッジ・ベースを拡張したり、英語やフランス語以外の言語で独自のナレッジ・ベースを作成できます。ナレッジ・ベースの作成と拡張の詳細は、『Oracle Text リファレンス』を参照してください。
Companion CDから製品をインストールする方法については、『Oracle Database Companion CD インストレーション・ガイド』および使用しているプラットフォーム固有の『Oracle Database インストレーション・ガイド』を参照してください。
提供されるナレッジ・ベースとアップグレード
提供されるナレッジ・ベースはOracle Database 10g Companion CDに含まれているため、Oracle Database 10gにアップグレードした直後は使用できません。アップグレード前のナレッジ・ベースに基づくOracle Text機能は、アップグレード後に機能しなくなるため、提供されるナレッジ・ベースをCompanion CDからインストールする必要があります。
アップグレード後は、提供されるナレッジ・ベースに対してすべてのユーザー拡張機能を再生成する必要があります。これらの変更は、指定の$ORACLE_HOMEにインストールされているすべてのデータベースに影響を与えます。
Oracle Textのアップグレードと提供されるナレッジ・ベースの詳細は、『Oracle Database アップグレード・ガイド』の第4章「データベースのアップグレード後」にある「Oracle Textのアップグレード」の項を参照してください。また、『Oracle Text アプリケーション開発者ガイド』には、Oracle Textを以前のリリースからアップグレードする一般的な方法、および提供されるナレッジ・ベースに関する情報が記載されています。
Oracle Ultra SearchはSSL/HTTPS対応のため、VeriSign Class 3/Class 2 PCA証明書に基づく証明書を使用して自己識別するWebサイトをクロールしたり、そのフォームに登録することはできません。このようなサイトにアクセスしようとすると、次のエラーが発生します。
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found
このため、$ORACLE_HOMEディレクトリにインストールされているJDKのtruststoreを更新する必要があります。パッチの方法については、SUN社の次のサイトを参照してください。
http://sunsolve.sun.com/pub-cgi/retrieve.pl?doc=fsalert%2F57436
Oracle XML Developer's KitのREADMEファイルは、次の位置に格納されています。
$ORACLE_HOME/xdk/readme.html
PL/SQLを使用する際は、次の事項に注意してください。
『PL/SQL パッケージ・プロシージャおよびタイプ・リファレンス』では、ドキュメントの誤り(Bug#3404030)を訂正するため、DBMS_STREAMS_ADM.SET_MESSAGE_NOTIFICATIONプロシージャに関する例を次の例に置き換える必要があります。
CREATE OR REPLACE PROCEDURE oe.notification_dequeue( context SYS.AnyData, reginfo SYS.AQ$_REG_INFO, descr SYS.AQ$_DESCRIPTOR) AS dequeue_options DBMS_AQ.DEQUEUE_OPTIONS_T; message_properties DBMS_AQ.MESSAGE_PROPERTIES_T; message_handle RAW(16); message SYS.AnyData; oe_message oe.user_msg; rc PLS_INTEGER; BEGIN -- Get the message identifier and consumer name from the descriptor dequeue_options.msgid := descr.msg_id; dequeue_options.consumer_name := descr.consumer_name; -- Dequeue the message DBMS_AQ.DEQUEUE( queue_name => descr.queue_name, dequeue_options => dequeue_options, message_properties => message_properties, payload => message, msgid => message_handle); rc := message.getobject(oe_message); COMMIT; END; /
データベースをアップグレードするときは、ネイティブ・コンパイルに関連する不要なパラメータを削除してエラーの発生を回避してください。今回のリリースのPL/SQLのネイティブ・コンパイルは、以前のリリースよりも強力で使いやすくなっています。詳細は、『PL/SQL ユーザーズ・ガイドおよびリファレンス』を参照してください。
具体的には、PLSQL_NATIVE_C_COMPILER、PLSQL_NATIVE_LINKER、PLSQL_NATIVE_MAKE_FILE_NAMEおよびPLSQL_NATIVE_MAKE_UTILITYの4つの初期化パラメータは廃止されました。
初期化パラメータ・ファイルまたはALTER SYSTEM文でこれらのパラメータを使用すると、エラーになります。したがって、既存のデータベースをOracle Database 10gにアップグレードする場合は、これらのパラメータをパラメータ・ファイルから削除する必要があります。
PLSQL_NATIVE_LIBRARY_DIRパラメータで指定するディレクトリの役割が変更されています。Oracle Database 10gでは、生成されたDLLはデータベース・カタログに格納されます。PLSQL_NATIVE_LIBRARY_DIRで指定するディレクトリは、DLLをOracleプロセスにマッピングして実行する前の一時的なステージング領域として使用されるようになりました。生成されたDLLをデータベース・カタログに格納することは、バックアップの手順で透過的にPL/SQLのネイティブ・コンパイルが使用されることを意味します。さらに、PL/SQLのネイティブ・コンパイルが、サポートされているすべてのプラットフォームのOracle Real Application Clustersで使用できることが保証されます。
ネイティブ・コンパイルを指定するためのPLSQL_COMPILER_FLAGSの使用は廃止されました。かわりに、PLSQL_CODE_TYPEパラメータを使用してコンパイル・モードを指定します。
以前のリリースのOracleには、生成済のCファイルからDLLを生成するためのMakeファイルspnc_makefile.mkが含まれていました。このファイルは廃止されて、ファイルspnc_commandsに置き換えられました。これには、生成済のCファイルからDLLを生成するためのコマンド・テンプレートが1つ以上含まれています。このファイルは、すべてのプラットフォームのディレクトリ $ORACLE_HOME/plsqlにあります。ファイルの内容はポート固有です。ネイティブ・コンパイルを使用する前に、このspnc_commandsファイルに指定されているCコンパイラのフルパス名が正しいことを検証する必要があります。spnc_commandsファイル内のコマンドはOracle Databaseによって直接実行され、Makeユーティリティまたはシェル・スクリプト・インタプリタは必要ありません。なんらかの理由でネイティブ・コンパイルが失敗した場合は、他のPL/SQLコンパイル・エラーと同様にエラーが記録され、そのエラーは、user_errorsビューから、またはSQL*Plus SHOW ERRORSコマンドを使用して問い合せることができます。
すべてのモジュールをネイティブに再コンパイルする手順は、次のとおりです。
Formsプロセス、Webサーバー、Reportsサーバーおよびコンカレント・マネージャ・サーバーを含むすべてのアプリケーション・サービスを停止します。 すべてのアプリケーション・サービスを停止した後、データベースへのすべての接続が終了していることを確認します。
データベースのTNSリスナーを停止し、新規の接続が行われないようにします。
標準モードまたは即時モードでデータベースを停止します。
初期化パラメータ・ファイルでplsql_native_library_dirを設定したかどうかを確認します。 設定していない場合は、前の項で説明した手順を参照してください。
初期化パラメータ・ファイルで、plsql_code_typeをNATIVEに設定します。
plsql_code_type=NATIVE
STARTUP UPGRADEまたはALTER DATABASE OPEN UPGRADEを使用して、UPGRADEモードでデータベースを起動します。
次の問合せを実行し、無効なオブジェクトの数を取得します。 ネイティブ・コンパイルの失敗により、再コンパイルで無効なオブジェクトが追加生成されていないことを確認するために、後でこの値を使用します。
Select count(*) From all_objects Where status='INVALID';
次の問合せでは、解析ではなくネイティブ・コンパイルされるオブジェクトの数がわかります。
SELECT plsql_code_type, count(*) FROM dba_plsql_object_settings GROUP BY plsql_code_type;
NULL plsql_code_typeのオブジェクトがいくつか表示される場合があります。 これらは特殊な内部オブジェクトであり、無視してかまいません。
ディレクトリを$ORACLE_HOME/rdbms/adminに変更します。
$ORACLE_HOME/rdbms/admin/dbmsupgnv.sqlをSYSで実行します。
|
注意: dbmsupgnv.sqlファイルを実行すると、すべてのPL/SQLモジュールが無効になり、ディクショナリ表が更新されて、plsql_code_type設定がNATIVEに変更されます。 このフェーズは、データベース上で他のアクティビティが発生していない場合に実行する必要があります。したがって、dbmsupgnv.sqlの実行中はUPGRADEモードでデータベースを起動する必要があります。
|
|
注意: 下位バージョンのデータベースを上位バージョン(Oracle Database 10gなど)にアップグレードする場合、最初にアップグレード・スクリプトを実行してからdbmsupgnv.sqlを実行してください。 たとえば、バージョン9.2.0.3から10.1.0にアップグレードする場合は、最初にアップグレード・スクリプト(u0902000.sql)を実行してデータベースを停止してから、dbmsupgnv.sqlスクリプトを実行します。
|
dbmsupgnv.sqlの実行後、変更をコミットします。
SQL> commit;
データベースを停止します。
標準モードでデータベースを再起動します。
$ORACLE_HOME/rdbms/admin/utlrp.sqlスクリプトをSYSで実行します。 この手順により、すべてのPL/SQLモジュールが再コンパイルされます。 このプロセスでは、plsql_native_library_dirで指定されたディレクトリを定期的にチェックし、新規共有ライブラリが確実にコンパイル・プロセスによって作成されていることを確認できます。
|
注意: なんらかの理由でこの手順が異常終了した場合、この手順を再開(utlrp.sqlスクリプトを再実行)できます。 これにより、残りの無効なPL/SQLモジュールが再コンパイルされます。
|
コンパイルが正常に完了した後、無効なオブジェクトの数が再コンパイル前の無効なオブジェクトの数以下であることを確認します。 次の問合せを使用して、無効なオブジェクトの数を取得できます。
Select count(*) From all_objects Where status='INVALID';
Pro*COBOLのREADMEについては、第9章「Pro*COBOL README」を参照してください。
$ORACLE_HOME/precomp/doc/procob2/readme.doc
レプリケーションを使用する際は、次の事項に注意してください。
『Oracle Database アドバンスト・レプリケーション』に関する訂正事項および追加事項を次に示します。
ドキュメントの誤り(Bug#3612269)を訂正するため、「レプリケーション・オブジェクト」の「表」の項に次の注意事項を追加する必要があります。
|
注意: レプリケートされた表からファンクション索引を削除したり、ファンクション索引を追加する場合は、表のレプリケーション・サポートを再生成する必要があります。 |
ドキュメントの誤り(Bug#3499894)を訂正するため、「異なるタイプの競合の検出方法」の項に次の注意事項を追加する必要があります。
|
注意: 列が更新され、その列の古い値が新しい値と同じである場合、この列の更新について競合は検出されません。 |
SQLを使用する際は、次の事項に注意してください。
無効になったオブジェクトに対するDESCRIBEの動作が変更され、よりわかりやすくなりました。以前のリリースでは、無効になったオブジェクトに対するDESCRIBEは失敗してエラー「ORA-24372: 記述対象のオブジェクトが無効です。」が表示されました。このエラーは、オブジェクトが再検証された後も生成されていました。Oracle Database 10gでは、DESCRIBE操作でオブジェクトが自動的に再検証され、再検証が正常終了した場合はオブジェクトが有効になります。
SELECT ANY TRANSACTIONは、今回のリリースでの新しいシステム権限です。この権限の受領者は、FLASHBACK_TRANSACTION_QUERYビューの内容を表示できます。権限受領者は過去のデータも含めてデータベース内の全データを表示できるため、これは非常に強力な権限です。この権限は、フラッシュバック・トランザクション問合せ機能を使用する必要があるユーザーにのみ付与してください。
MODEL句のFORループは、モデルのルール定義の両側で使用できます。
MODEL句のFORループによってディメンション値が生成されます。ルールの左側のFORループで生成されるディメンション値の組合せの数は、MODEL句の10,000個のルール数制限の対象としてカウントされます。
モデルのルール数のカウントには、問合せによって戻されたパーティション値の数は含まれません。
ドキュメント内のいくつかの箇所で、ラージ・オブジェクトLOBの最大サイズは4GB - 1 x(データベース・ブロック・サイズ)と記述されています。この記述が該当するのは、データベース内の表領域が標準のブロック・サイズで、LOB列の作成時にLOB記憶域のCHUNKパラメータにデフォルト値が指定されている場合のみです。LOBの最大サイズ値の正しい式は次のとおりです。
(4GB - 1)x ([CHUNK]の値)
Oracle Database 10gでは、データベース・ブロック・サイズとは異なるブロック・サイズの表領域を作成できます。LOBの最大サイズは、表領域ブロックのサイズによって異なります。CHUNKはLOB記憶域のパラメータで、その値はLOBが格納されている表領域のブロック・サイズによって制御されます。CHUNKの値はLOB操作用に割り当てられるバイト数で、LOB列を作成するときに指定できます。この値は表領域ブロック・サイズの倍数で指定する必要があります。倍数でない値を指定すると、Oracle Database 10gはその値を直近の倍数に切り上げます。表領域ブロック・サイズとデータベース・ブロック・サイズが同じ場合は、CHUNKもデータベース・ブロック・サイズの倍数になります。CHUNKのデフォルト・サイズは表領域の1ブロックのサイズで、最大値は32KBです。
たとえば、データベース・ブロック・サイズが32KBのとき、非標準ブロック・サイズ8KBの表領域を作成するとします。さらに、LOB列を持つ表を作成し、CHUNKのサイズは、表領域ブロック・サイズ8KBの倍数である16KBに指定するとします。この場合、この列のLOBの最大サイズは(4GB - 1)x 16KBになります。ドキュメントでは、CHUNKのサイズはデータベース・ブロック・サイズの倍数になると記述されていますが、これも誤りです。この記述が該当するのは、表領域ブロック・サイズがデータベース・ブロック・サイズと同じ場合のみです。表領域で非標準ブロック・サイズを使用する場合、CHUNKのサイズはその表領域ブロック・サイズの倍数になります。
サマリー管理を使用する際は、次の事項に注意してください。
マテリアライズド・ビューの作成機能とリフレッシュ機能は、Standard EditionとEnterprise Editionの両方でサポートされています。ただし、SQLAccess Advisorからのクエリー・リライトとマテリアライズド・ビューのアドバイスはEnterprise Editionでのみ使用できます。
特定のマテリアライズド・ビューを使用またはリフレッシュするときは、NLSパラメータが、そのマテリアライズド・ビューで作成した時点のパラメータと同じであることを確認してください。この制限を受けるのは、次の構成メンバーが含まれるマテリアライズド・ビューです。
NLSパラメータに応じて異なる値を戻すことが可能な式。たとえば、(date > ?01/02/03?)または(rate <= ?2.150?)は、NLSパラメータに依存する式です。
結合の片側が文字データの等価結合。この等価結合の結果は照合によって異なり、セッションごとに変化する可能性があります。クエリー・リライトの場合は正しい結果が得られません。また、リフレッシュ操作後はマテリアライズド・ビューに一貫性がなくなります。
マテリアライズド・ビューの選択リスト内、またはマテリアライズド集計ビューの集計内に文字データへの内部変換を生成する式。この制限は、数値データのみが含まれる式には適用されません。たとえば、aとbが数値のa+bには適用されません。
表の圧縮操作では、列数が255を超える表の圧縮はサポートされていません。ALTER TABLE MOVE COMPRESSなどのすべての圧縮操作では、このような表の場合でも正常に圧縮を実行しますが、実装は操作がないまま行われます。このような操作の後、表は圧縮済としてディクショナリに表示されますが、その内容は圧縮されていない状態で格納されています。
型を使用する際は、次の事項に注意してください。
Object Type Translator(OTT)のREADMEについては、第11章「Object Type Translator(OTT)README」を参照してください。
$ORACLE_HOME/precomp/doc/ott/readme.doc
ユーティリティを使用する際は、次の事項に注意してください。
Data Pump ExportおよびImportは、元のExportおよびImportよりもロールバック・セグメントまたはUNDO表領域を多く消費します。これは、追加のメタデータ問合せ(Exportの場合)および比較的長時間実行するマスター表問合せ(Importの場合)があるためです。その結果、大量のメタデータを含むデータベースでは、エラー「ORA-01555: スナップショットが古すぎます」が発生する場合があります。
このエラーを回避するには、ロールバック・セグメントの追加、UNDO表領域の追加、またはデータベースのundo_retentionパラメータ値の増加を検討してください。
Data Pump Exportのダンプ・ファイルをAutomatic Storage Management(ASM)のディスク・グループからオペレーティング・システム・ファイルに抽出する操作はサポートされていません。ASMのディスク・グループを使用し、Data Pump Exportのダンプ・ファイルをシステム間で移動する必要がある場合は、この制限に注意してください。
Automatic Storage Management(ASM)を使用してData Pump ExportまたはImportを実行するには、LOGFILEパラメータを指定する必要があります。このパラメータには、ASMの+表記法を含まないDIRECTORYオブジェクトが含まれています。つまり、ログ・ファイルはディスク・ファイルに書き込まれ、ASMの記憶域には書き込まれません。また、NOLOGFILE=Yを指定することもできます。ただし、この場合はログ・ファイルの書込みは行われません。
現行のリリースでは、Data Pump ImportのFLASHBACK_SCNオプションとFLASHBACK_TIMEオプションは、フラッシュバック問合せ機能にのみ関係します。これらのオプションは、フラッシュバック・データベース、フラッシュバック・ドロップなど新規のフラッシュバック機能には適用できません。
次のタイプのデータベース・リンクは、Data Pump Export/Importでの使用がサポートされています。
パブリック・データベース・リンク(パブリックと共有の両方)
固定ユーザー・データベース・リンク
接続ユーザー・データベース・リンク
次のタイプのデータベース・リンクは、Data Pump Export/Importでの使用がサポートされていません。
現行ユーザー・データベース・リンク
データベース・リンクの詳細は、『Oracle Database SQL リファレンス』を参照してください。
NETWORK_LINKオプションを使用してData Pump Importを実行するときに、ジョブを実行するUSERIDに、ターゲット・データベースに対するIMP_FULL_DATABASEロールがある場合、そのユーザーには、ソース・データベースに対するEXP_FULL_DATABASEロールも必要です。
Data Pump Exportでは、圧縮済の表がサポートされています。ただし、圧縮済の表の場合、ESTIMATE=BLOCKSを使用したデフォルトのサイズ見積りは不正確になります。これは、データが圧縮された状態で格納されていることがサイズ見積りに反映されないためです。圧縮済の表に対してESTIMATE=STATISTICSを使用すると、より正確なサイズ見積りを取得できます。
停止したData Pump Exportジョブに連結するときは、ダンプ・ファイル・セットとマスター表に影響を与えないようにする必要があります。影響を与えるとATTACHは失敗します。ジョブの完了前にダンプ・ファイル・セットが削除された場合は、『Oracle Database ユーティリティ』の指示に従って、Data Pumpのマスター表を手動で削除する必要があります。
MODIFY変換には、REMAPパラメータで最大10個のインスタンスを指定できます。つまり、REMAP_DATAFILEパラメータやREMAP_SCHEMAパラメータなどをそれぞれ最大10個まで指定できます。追加のインスタンスは無視されます。これを回避するには、MODIFY変換で別のADD_TRANSFORMを実行し、追加のREMAPパラメータを指定します。
th1 := dbms_metadata.add_transform(h,'MODIFY'); dbms_metadata.set_transform_param(th1,'REMAP_SCHEMA','USER1','USER101'); dbms_metadata.set_transform_param(th1,'REMAP_SCHEMA','USER2','USER102'); ... dbms_metadata.set_transform_param(th1,'REMAP_SCHEMA', 'USER10', 'USER110'); th2 := dbms_metadata.add_transform(h,'MODIFY'); dbms_metadata.set_transform_param(th2,'REMAP_SCHEMA','USER11', 'USER111'); ...
この項では、今回のリリースのOracleドキュメントに関する訂正事項について説明します。
第10章「OCCI Application Program Interface(API)」で、ResultSetクラスの次のメソッドの説明を変更します。
getNumArrayRows() [10-246ページ]
最終の配列フェッチで実際にフェッチした行数を戻します。 next()メソッドと組み合せて使用します。
next() [10-255ページ]
このメソッドは、以前実行した問合せから指定された行数(numRows)をフェッチし、このフェッチのステータスを次のいずれかとしてレポートします。
DATA_AVAILABLE — サーバーからデータが正常にフェッチされ、要求された行数以下の行(numRows)が戻されました。 取得された正確な行数を判断するには、getNumArrayRows()メソッドを使用します。
STREAM_DATA_AVAILABLE — getCurrentStreamColumn()メソッドをコールし、ストリームを読み込みます。
END_OF_FETCH — フェッチするデータがありません。
ストリーム・モード以外の場合、next()はDATA_AVAILABLEまたはEND_OF_FETCHのみを戻します。
一度に1行ずつフェッチする場合(numRows = 1)、getxxx()メソッドを使用してデータを処理します。
配列フェッチなどのように複数の行を一度にフェッチする場合(numRows > 1)、setDataBuffer()メソッドを使用して、next()を起動する前に事前に割り当てたバッファの位置を指定する必要があります。
numRowsを最大数とするデータ・レコードが、setDataBuffer()のコールによって指定されたバッファに移入されます。 戻された正確なレコード数を判断するには、getNumArrayRows()メソッドを使用します。
『Oracle Database アドバンスト・レプリケーション』では、ドキュメントの誤り(Bug#1708827)を訂正するため、「データ型に関する考慮事項」の項から、誤りのある次の文を削除する必要があります。
これらのデータ型を含む列は、レプリケート表から単純に削除されます。
DMBS_REPCAT_ADMIN.GRANT_ADMIN_SCHEMAに関する説明
『Oracle Database アドバンスト・レプリケーション・マネージメントAPIリファレンス』では、ドキュメントの誤り(Bug#2208596)を訂正するため、DMBS_REPCAT_ADMIN.GRANT_ADMIN_SCHEMAプロシージャに関する現在の説明を、次の説明に置き換える必要があります。
このプロシージャは、レプリケーション管理者に、現行サイトでのスキーマの管理に必要な権限を付与します。 レプリケーション・グループが複数のスキーマにまたがらない場合は、このプロシージャを使用すると便利です。
このプロシージャによって付与される権限は、GRANT_ADMIN_ANY_SCHEMAによって付与される権限よりも制限されています。 ただし、GRANT_ADMIN_SCHEMAにより権限を付与されたレプリケーション管理者は、他のレプリケーション管理者が所有するレプリケーション・グループについて、特定の管理アクティビティを実行できます。 たとえば、GRANT_ADMIN_SCHEMAにより権限を付与されたレプリケーション管理者は、他のレプリケーション管理者が所有するレプリケーション・グループおよびレプリケーション・オブジェクトを削除できます。
|
注意: 各ユーザーを各レプリケーション・グループに限定する場合は、DBMS_REPCATパッケージの他にラッパー・パッケージを記述し、DBMS_REPCATパッケージではなく新規パッケージに対するEXECUTE権限を各ユーザーに付与できます。 新規パッケージでは、セキュリティ・チェックが実行されます。
たとえば、HRが |
DBMS_REFRESHのプロシージャのパラメータに関する説明
『Oracle Database アドバンスト・レプリケーション・マネージメントAPIリファレンス』では、ドキュメントの誤り(Bug#1712716)を訂正するため、DBMS_REFRESHパッケージのプロシージャ・パラメータに関する現在の説明を、次の説明に置き換える必要があります。 ここで説明されていないパラメータに関する説明は、現行のドキュメントでは正しい情報です。
ADDプロシージャのパラメータの説明:
name
メンバーを追加するリフレッシュ・グループの名前であり、[schema_name.]refresh_group_nameと指定します。 スキーマが指定されない場合、現行のユーザーがデフォルトとなります。
list
リフレッシュ・グループに追加するマテリアライズド・ビューの、カンマ区切りのリストです。 シノニムはサポートされていません。
各マテリアライズド・ビューは、[schema_name.]materialized_view_nameと指定します。 スキーマが指定されない場合、リフレッシュ・グループの所有者がデフォルトとなります。
tab
カンマ区切りのリストのかわりに、DBMS_UTILITY.UNCL_ARRAYタイプのPL/SQL索引付き表を使用できます。この表の各要素は、マテリアライズド・ビューの名前になります。 最初のマテリアライズド・ビューは1の位置に置く必要があります。 最後の位置はNULLにする必要があります。
各マテリアライズド・ビューは、[schema_name.]materialized_view_nameと指定します。 スキーマが指定されない場合、リフレッシュ・グループの所有者がデフォルトとなります。
MAKEプロシージャのパラメータの説明:
name
リフレッシュ・グループの識別に使用する一意の名前で、[schema_name.]refresh_group_nameと指定します。 スキーマが指定されない場合、現行のユーザーがデフォルトとなります。 リフレッシュ・グループは、表と同じ命名規則に従って名前付けをします。
list
リフレッシュするマテリアライズド・ビューの、カンマ区切りのリストです。 シノニムはサポートされていません。 これらのマテリアライズド・ビューは、異なるスキーマに置くことができ、また異なるマスター表またはマスター・マテリアライズド・ビューを持つことができます。 ただし、リストされたすべてのマテリアライズド・ビューが、カレント・データベース内に存在する必要があります。
各マテリアライズド・ビューは、[schema_name.]materialized_view_nameと指定します。 スキーマが指定されない場合、リフレッシュ・グループの所有者がデフォルトとなります。
tab
カンマ区切りのリストのかわりに、DBMS_UTILITY.UNCL_ARRAYデータ型を使用してリフレッシュする、マテリアライズド・ビュー名のPL/SQL索引付き表を指定できます。 表にマテリアライズド・ビュー名がn個ある場合、最初のマテリアライズド・ビューを1の位置に置き、n+1の位置はNULLに設定する必要があります。
各マテリアライズド・ビューは、[schema_name.]materialized_view_nameと指定します。 スキーマが指定されない場合、リフレッシュ・グループの所有者がデフォルトとなります。
廃止されたNCHARキャラクタ・セット
第5章「互換性および相互運用性」の「データベース・キャラクタ・セット」の項に、次の説明を追加してください。「Oracle Database 10gでは、NCHAR、NVARCHAR2、NCLOBなどのNCHARデータ型は、UTF8およびAL16UTF16のUnicodeキャラクタ・セットのエンコーディングに制限されます。」
このドキュメントには、Oracle Database 10g リリース1(10.1)では使用できないResonance機能に関する説明が記載されています。この機能はOracle Database 10g リリース1(10.1.0.2)では使用できず、今後使用可能になる予定です。
KMEAN CLUSTERING
第6章「ドキュメント分類」のKMEAN_CLUSTERクラスタ型の指定は、すべてKMEAN_CLUSTERINGに置換してください。
ルールベース分類
第6章「ドキュメント分類」の「ルールベース分類」の項で、「手順5 ドキュメントの分類」に記載されている例は正しくありません。次のコードに置換してください。
create or replace package classifier as procedure this; end; / show errors create or replace package body classifier as procedure this is v_documentclob; v_itemnumber; v_doc number; begin for doc in (select tk, text from news_table) loop v_document := doc.text; v_item := 0; v_doc := doc.tk; for c in (select queryid, category from news_categories where matches(query, v_document) > 0 ) loop v_item := v_item + 1; insert into news_id_cat values (doc.tk,c.queryid); end loop; end loop; end this; end;/ show errors exec classifier.this
Automatic Workload Repository
第1章「Oracle Databaseの管理の概要」の「自動ワークロード・リポジトリ」の項に、スナップショットがデフォルトで30分ごとに作成されると記載されています。正しいスナップショット間隔のデフォルト値は1時間です。
SYSAUX表領域のサイズ
第8章「表領域の管理」の「SYSAUX表領域のサイズの制御」の項に、平均30の同時アクティブ・セッションがあるシステムでは、Automatic Workload Repositoryのデータ用に約200〜300MBの領域が必要になると記載されています。この200〜300MBは、30セッションではなく平均10の同時アクティブ・セッションがあるシステムに対する概算です。
次の表は、システム構成とその予測負荷に基づいてSYSAUX表領域のサイズを設定するためのガイドラインです。
| パラメータ/推奨事項 | 小規模 | 中規模 | 大規模 |
|---|---|---|---|
| CPUの数 | 2 | 8 | 32 |
| 同時アクティブ・セッションの数 | 10 | 20 | 100 |
| ユーザー・オブジェクト(表および索引)の数 | 500 | 5,000 | 50,000 |
| デフォルト構成の定常状態での予測SYSAUXサイズ | 500MB | 2GB | 5GB |
一時ジョブ
第26章「スケジューラの概要」には、一時ジョブについて多少誤解を招きやすい記述があります。transientタイプというジョブはありません。かわりに、auto_drop引数を設定することで、ジョブの実行終了時にメタデータを保持するかどうかを制御できます。auto_dropをFALSEに設定すると、ジョブのメタデータが保持されます。auto_dropをTRUE(デフォルト)に設定すると、ジョブのメタデータは保持されません。
Database Configuration Assistant(DBCA)のサイレント・モードでの実行
第2章「Oracle Databaseの作成」に、次の説明を追加してください。
サイレント・モードでは、コマンドラインに最初に入力する情報以外のユーザー・インタフェースまたはユーザーとの対話はありません。情報、エラーおよび警告などのメッセージはすべてログ・ファイルに出力されます。
コマンドラインから次のコマンドを入力すると、サイレント・モードで使用可能なすべてのDBCAオプションが表示されます。
dbca -help
ここでは、サイレント・モードの使用例を示します。
DBCAのサイレント・モードの例1: 新規データベースの作成
クローン・データベースを作成するには、コマンドラインで次のように入力します。
% dbca -silent -createDatabase -templateName Transaction_Processing.dbc -gdbname ora10i -sid ora10i -datafileJarLocation /private/oracle10i/ora10i/assistants/dbca/templates -datafileDestination /private/oracle10i/ora10i/oradata -responseFile NO_VALUE -characterset WE8ISO8859P1
DBCAのサイレント・モードの例2: シード・テンプレートの作成
シード・テンプレートを作成するには、コマンドラインで次のように入力します。
% dbca -silent -createCloneTemplate -sourceDB ora10i -sysDBAUserName sys -sysDBAPassword change_on_install -templateName copy_of_ora10i.dbc -datafileJarLocation /private/oracle/ora10i/assistants/dbca/templates
タイム・ゾーン・ファイル
第2章「Oracle Databaseの作成」の「データベースのタイム・ゾーン・ファイルの指定」の項では、Oracle Databaseがインストールされているディレクトリのデフォルトのタイム・ゾーン・ファイルは$ORACLE_HOME/oracore/zoneinfo/timezone.datとされています。 現在、デフォルトのタイム・ゾーン・ファイルは、これより大きいファイル$ORACLE_HOME/oracore/zoneinfo/timezlrg.datになりました。
これより小さいタイム・ゾーン・ファイルを使用する場合は、ORA_TZFILE環境変数の設定手順を実行しますが、説明に従って変数をtimezone.datに設定します。
ANALYZE文
第13章の「SQL文: ALTER TRIGGER TO COMMIT」に、ANALYZE文、SAMPLE句に関する次の説明を追加してください。
削除された多くの行から索引を分析する場合、Oracle Databaseでは、ESTIMATE STATISTICS操作の要求に対してCOMPUTE STATISTICS操作(全表スキャンを必要とする)を実行することがあります。この操作には時間がかかる可能性があります。
日時データ型と時間隔データ型
第2章「Oracle SQLの基本要素」の中で、INTERVAL YEAR TO MONTHとINTERVAL DAY TO SECONDは、それぞれの項で説明が逆になっています。次の説明に置換してください。
INTERVAL YEAR TO MONTHは、YEARおよびMONTH日時フィールドを使用して期間を格納します。このデータ型は、年および月の値のみが重要な場合に、2つの日時の値の違いを表す場合に有効です。
INTERVAL DAY TO SECONDは、日付、時、分および秒で期間を格納します。このデータ型は、2つの日時の正確な違いを表す場合に有効です。
タイム・ゾーン・ファイル
第2章「Oracle SQLの基本要素」の「夏時間のサポート」の項には次の内容が記載されています。「地域名は2つのタイム・ゾーン・ファイルに格納されます。デフォルトのタイム・ゾーン・ファイルは、パフォーマンスを最大にするために一般的なタイム・ゾーンのみが指定された小さいファイルです。タイム・ゾーンがデフォルトのファイルに存在しない場合は、環境変数ORA_TZFILEを使用して完全な(大きい)ファイルへのパスを指定するまで、夏時間はサポートされません。」これらの説明は正しくありません。実際には大きいファイルがデフォルトです。
INSERTの図
第18章「SQL文: DROP SEQUENCE〜ROLLBACK」の「INSERT」の項で、conditional_insert_clauseの構文図の一部がPDFで欠落しています。HTMLバージョンのドキュメントの構文図は正しく記載されています。完全な句を次に示します。
[ ALL | FIRST ]
WHEN condition
THEN insert_into_clause
[ values_clause ]
[ error_logging_clause ]
[ insert_into_clause
[ values_clause ]
[ error_logging_clause ]
]...
[ WHEN condition
THEN insert_into_clause
[ values_clause ]
[ error_logging_clause ]
[ insert_into_clause
[ values_clause ]
[ error_logging_clause ]
]...
]...
[ ELSE insert_into_clause
[ values_clause ]
[ error_logging_clause ]
[ insert_into_clause
[ values_clause ]
[ error_logging_clause ]
]...
]
例3-3では、年が2000になっていますが、正しくは2003です。01-Jan-2003から変更されるまで有効な行を挿入する例は、次のようになります。
INSERT INTO employees VALUES(
'Baxter',
40000,
WMSYS.WM_PERIOD(TO_DATE('01-01-2003', 'MM-DD-YYYY'),
DBMS_WM.UNTIL_CHANGED)
);
第4章「DBMS_WMパッケージ: リファレンス」では、GetPhysicalTableNameの書式情報とパラメータ表の名前にGetPrivsの情報が誤って挿入されています。GetPhysicalTableNameファンクションに関するその他の情報に誤りはありません。
インポートおよびエクスポートの考慮事項
第1章「Workspace Managerの概要」の「インポートおよびエクスポートの考慮点」の項では、作業領域レベルのインポートおよびエクスポート操作はサポートされないと記載されていますが、これは誤りです。バージョン対応表ごとの作業領域レベルのインポートおよびエクスポート操作はサポートされます。作業領域からエクスポートする表の有効範囲は、作業領域で表示される表全体、または作業領域で行われた表に対する変更のみにできます。
したがって、次の説明に置換してください。
Workspace Managerは、データベース全体のインポートおよびエクスポート、あるいはWorkspace Managerのプロシージャを介した作業領域レベルでのインポートおよびエクスポートのいずれかの方法で、バージョン対応表のインポートおよびエクスポートをサポートしています。スキーマ、表またはパーティション・レベルなど、他のエクスポート・モードは現在サポートしていません。
バージョン対応データベースでは、Oracle Utilitiesを使用してデータベース全体のインポートおよびエクスポート操作を実行できますが、次の考慮事項および制限事項が適用されます。
バージョン対応表を含むデータベースは、Workspace Managerをインストール済で、現在バージョン対応表または作業領域(LIVE作業領域以外)がない他のOracle Databaseにのみ、エクスポートできます。
インポート操作では、IGNORE=Yを指定する必要があります。
バージョン対応データベースでは、Oracle Import UtilityのFROMUSER機能およびTOUSER機能はサポートされません。
作業領域レベルのエクスポート操作では、各バージョン対応表を作業領域レベルでエクスポートできます。あるデータベースから別のデータベースにバージョン対応表をエクスポートする手順は、次のとおりです。
DBMS_WM.Exportプロシージャをコールして、エクスポートする必要があるすべてのデータをt1などのステージング表に格納します。エクスポート・データは、特定の作業領域、セーブポイントまたはインスタンスから表示されるすべてのデータ、あるいは特定の作業領域で変更されたデータのみにできます。詳細は、DBMS_WM.Exportプロシージャに関する情報を参照してください。バージョン対応表の複数の作業領域をエクスポートするには、エクスポートが必要な新しい作業領域と元のステージング表を指定して、DBMS_WM.Exportプロシージャを再度コールします。バージョン対応でない表にデータをインポートする予定がある場合は、versioned_dbパラメータをFALSEに指定します。
Oracle Export Utilityを使用して、ステージング表t1をエクスポートします。
Oracle Import Utilityを使用して、ステージング表t1を目的のデータベースにインポートします。
バージョン対応表にインポートする場合は、DBMS_WM.Importプロシージャをコールしてステージング表からバージョン対応表にデータを移動し、データが常駐しているソース・データベース上の作業領域と、データをバージョン対応表に格納する作業領域の両方を指定します。ステージング表の構造は、バージョン対応表の構造と一致する必要があります。デフォルトでは、インポート・プロシージャを正常に完了するには、使用可能なすべての制約が検証されている必要があります。
TRANSACTIONSパラメータ
第1章「初期化パラメータ」の中で、TRANSACTIONS初期化パラメータは、UNDO_MANAGEMENT = MANUALの場合にオンラインにするロールバック・セグメント数を指定することが説明されています。同時トランザクションの最大数は、UNDO表領域サイズ(UNDO_MANAGEMENT = AUTO)またはオンライン・ロールバック・セグメント数(UNDO_MANAGEMENT = MANUAL)によって制限されるようになりました。
LARGE_POOL_SIZEおよびAutomatic Storage Managementファイル
第1章「初期化パラメータ」には、次の説明が欠落しています。
PARALLEL_MAX_SERVERS、PARALLEL_THREADS_PER_CPU、CLUSTER_DATABASE_INSTANCES、DISPATCHERSおよびDBWR_IO_SLAVESの値から導出されるLARGE_POOL_SIZEの値には、Automatic Storage Managementファイルに使用するための要件は考慮されていません。Automatic Storage Managementファイルは、ラージ・プール内の次のメモリー容量を使用します。
(データベース内の同時オープン・ファイルすべての最大合計MB)×(ミラー化ファクタ)×(8バイト)
これは、LARGE_POOL_SIZE = 8MBで次の1つをサポートできることを意味します。
1TBのミラー化されていないデータベース・ファイル領域(外部冗長性ディスク・グループ)
1/2TBのミラー化されたデータベース・ファイル領域(標準冗長性ディスク・グループ)
1/3TBのミラー化されたデータベース・ファイル領域(高冗長性ディスク・グループ)
LOG_CHECKPOINT_INTERVALおよびLOG_CHECKPOINT_TIMEOUTの値の範囲
第1章「初期化パラメータ」には、次の説明が欠落しています。
Oracle Database 10gでは、LOG_CHECKPOINT_INTERVALおよびLOG_CHECKPOINT_TIMEOUTの初期化パラメータの値の範囲は、0(ゼロ)〜(231 - 1)です。
V$ASM_CLIENTビュー
第4章「動的パフォーマンス(V$)ビュー」で、データベース・インスタンスに対するV$ASM_CLIENTビューの説明が正しくありません。現状のビューの説明では、データベース・インスタンスのこのビューには1つの行のみがあり、Automatic Storage Managementインスタンスに関する情報が含まれていると記載されています。実際の実装では、オープンしているAutomatic Storage Managementディスク・グループごとに1行が戻されます。
インスタント・クライアント
第1章「概要およびアップグレード」の「OCIインスタント・クライアントの環境変数」の項では、「インスタント・クライアント・モードでは、環境変数ORA_NLS33、ORA_NLS32およびORA_NLSは無視されます。」と記載されていますが、これは誤りです。インスタント・クライアント・モードではORA_NLS33およびORA_NLS_Profile33のみが無視されます。
OCIBreak()
第16章「その他のOCIリレーショナル関数」の「OCIBreak()」および第2章「OCIプログラミングの基本」の「コールの取消し」には、OCIBreak()がWindowsプラットフォームではサポートされないと記載されていますが、これは誤りです。OCIBreak()は、Windows NT、Windows 2000およびWindows XPを含むWindowsシステムで動作します。
Oracle Streamsのアドバンスト・キューイング
付録A「ハンドルおよび記述子の属性」の「OCIAQDeqOption記述子の属性」の項で、OCI_ATTR_WAITに関する補足注意事項が欠落しています。 次の注意を追加してください。「キューのポーリングにOCI_DEQ_NO_WAITオプションを使用すると、空のキューをポーリングした後に、メッセージはデキューされません。OCI_ATTR_NAVIGATIONのデフォルト設定OCI_DEQ_NEXT_MSGのかわりに、OCI_DEQ_FIRST_MSGオプションを使用してください。デキューのOCI_ATTR_WAITに0(ゼロ)以外の待機設定を使用することもできます。」
OCIStmtPrepare2()
第16章「その他のOCIリレーショナル関数」の「文関数」の項で、OCIStmtPrepare2()メソッドのmode (IN)パラメータに関する次の説明が欠落しています。「OCI_PREP2_GET_PLSQL_WARNINGSの設定により、セッションで警告が使用可能な場合にPL/SQLプログラムが警告付きでコンパイルされると、実行ステータスとしてOCI_SUCCESS_WITH_INFOが戻ります。OCIErrorGet()を使用して、警告に対応する新しいエラー番号を検索してください。」
THROUGH ALL SWITCHOVER
第10章「Data Guardの使用例」の「障害が発生したプライマリ・データベースのフィジカル・スタンバイ・データベースへの変換」の項で、手順5「REDO Applyを開始する」の箇条書き項目の2つ目に記載されているコマンドには、次の例のようにTHROUGH ALL SWITCHOVER句の指定を追加してください。
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE THROUGH ALL SWITCHOVER DISCONNECT;
THROUGH ALL SWITCHOVER句を指定することで、障害が発生したプライマリ・データベースによってアーカイブされた最後のログ・ファイルのend-of-redoマーカーに至るまでREDO Applyを続行できます。この句を指定しない場合は、リカバリが停止するので、REDO Applyを再起動してend-of-redoマーカーを超えるまで続行するためのコマンドを再発行する必要があります。
ロジカル・スタンバイ・データベースではサポートされないOracle Label Security
第4章「ロジカル・スタンバイ・データベースの作成」の「表のデータ型および記憶域属性のサポートの判別」の項には、ロジカル・スタンバイ・データベースではOracle Label Securityがサポートされないことを示す説明が必要です。Oracle Label Securityがプライマリ・データベースにインストールされていると、SQL Applyの起動時に、ロジカル・スタンバイ・データベースの内部エラーによって障害が発生します。
リアルタイム適用の開始
第10章「Data Guardの使用例」の「フィジカル・スタンバイ・データベースのフラッシュバック」の項で、「ログ適用サービスを再開する」の手順には、リアルタイム適用の開始方法を示す説明が必要です。
フィジカル・スタンバイ・データベースでリアルタイム適用を開始するには、次のコマンドを発行します。
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE;
第10章「Data Guardの使用例」の「ロジカル・スタンバイ・データベースのフラッシュバック」の項で、「SQL Applyを開始する」の手順には、リアルタイム適用の開始方法を示す説明が必要です。
ロジカル・スタンバイ・データベースでリアルタイム適用を開始するには、次のコマンドを発行します。
SQL> ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;
SQLJオプション
第5章「コマンドライン・オプションおよび入力ファイル」には、次の説明を追加してください。「Oracle SQLJ Translatorおよびランタイム・ライブラリは、Oracle JPublisher製品に付属しています。SQLJ Translatorのコマンドライン・ユーティリティに直接アクセスできない場合は、JPublisherの-sqljオプションを介してSQLJのソース・ファイルを変換できます。」
DBMS_DATA_MININGパッケージ
第23章「DBMS_DATA_MINING」の中で、GET_MODEL_DETAILS_SVMファンクションの使用上の注意に、次の説明を追加してください。「線形SVMモデルの場合は、記憶域要件を縮小し、モデル・ローディングを高速化するために、0(ゼロ)以外の係数のみが格納されます。したがって、GET_MODEL_DETAILS_SVMから戻された係数リストに属性がない場合は、この属性の係数を0(ゼロ)と解釈してください。」
DBMS_SCHEDULERパッケージ
第83章「DBMS_SCHEDULER」に、次の訂正事項があります。
CREATE_JOB_CLASSプロシージャのパラメータlogging_levelのデフォルト設定は、NULLではなくLOGGING_RUNSです。
STOP_JOBプロシージャは、実行可能ファイル・タイプのジョブではサポートされません。
DBMS_SQLTUNEパッケージ
第91章「DBMS_SQLTUNE」に、次の説明が欠落しています。
SELECT_CURSOR_CACHEファンクション
このファンクションは、カーソル・キャッシュからのSQL文のコレクションを可能にします。
構文
DBMS_SQLTUNE.SELECT_CURS0R_CACHE ( basic_filter IN VARCHAR2 := NULL, object_filter IN VARCHAR2 := NULL, ranking_measure1 IN VARCHAR2 := NULL, ranking_measure2 IN VARCHAR2 := NULL, ranking_measure3 IN VARCHAR2 := NULL, result_percentage IN NUMBER := 1, result_limit IN NUMBER := NULL) RETURN sys.sqlset PIPELINED;
パラメータ
basic_filter: カーソル・キャッシュ内のSQLをフィルタ処理するためのSQL述語を示します。
object_filter: カーソル・キャッシュから選択するSQLのオブジェクト・リストに存在するオブジェクトを指定します。
ranking_measuren: 選択したSQLに対するORDER BY句を示します。
result_percentage: ランキング・メジャー合計のパーセンテージを示します。
result_limit: ランキング・メジャーでランクを設定してフィルタ処理されたソースから取得するSQLの上限を示します。
第15章「フラッシュバック機能の使用」の「フラッシュバック機能を使用する前のデータベース管理タスク」の項に、次の説明を追加してください。
Oracle Database 10gでフラッシュバック・トランザクション問合せ機能を使用するには、データベースがバージョン10.0互換で動作している必要があります。また、次のSQL文を使用して補助ロギングをオンに設定することも必要です。
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
デフォルトのインストール位置
第2章の「クイック・スタート」では、Oracle HTMLのデフォルトのインストール位置が次のように定義されています。
http://server:port/pls/Database Authentication Descriptor/htmldb
次のように置換してください。
http://server:port/pls/Database Access Descriptor/htmldb
Administration Servicesアプリケーションの位置
第14章「管理作業領域」では、Oracle HTML DB Administration Servicesアプリケーションの位置が次のように定義されています。
http://server:port/pls/Database Authentication Descriptor/htmldb_admin
次のように置換してください。
http://server:port/pls/Database Access Descriptor/htmldb_admin
発行時処理での値の参照
第13章「Oracle HTML DBのAPI」の中で、「発行時処理での値の参照」について次の例が記載されていますが、これは誤りです。
FOR i IN HTMLDB_APPLICATION.G_F01.COUNT LOOP
htp.p('element '||I||' has a value of '||HTMLDB_APPLICATION.G_F01(i));
END LOOP;
次のように置換してください。
For i IN 1..HTMLDB_APPLICATION.G_F01.COUNT LOOP
htp.p('element '||I||' has a value of '||HTMLDB_APPLICATION.G_F01(i));
END LOOP;
Oracle Interface Configurationツールとサポートされる記憶域インタフェース
第8章「管理オプション」の中で、Oracle Interface Configuration(OIFCFG)ツールはファイルI/Oのために記憶域タイプのインタフェースをサポートしていると記載されていますが、これは誤りです。今回のリリースでは、OIFCFGによるファイルI/Oのための記憶域タイプのインタフェースはサポートされません。
Oracleの通知サービスの構成
「ノードおよびインスタンスの追加および削除」の中で、次のコマンドに誤りがあります。
racgons nodeI:4948 nodeI+1:4948......nodeI+n:4948
次のように置換してください。
racgons add_config nodeI:4948 nodeI+1:4948......nodeI+n:4948
WindowsベースのプラットフォームでのOracleクラスタからのノードの削除
WindowsベースのプラットフォームでOracleクラスタからノードを削除するには、次の手順を実行します。
削除するノード以外のノードに対して、次の手順を実行します。
Database Configuration Assistant(DBCA)を使用してインスタンスを削除します。
Net Configuration Assistant(NetCA)を使用してリスナーを削除します。
削除するノードには、次の手順を実行します。
削除するノードにASMインスタンスがある場合、「Windowsベース・プラットフォームでのノード削除後のASMインスタンスのクリーンアップ手順」の項に示した手順を使用して、ASMインスタンスを削除します。
srvctl stop nodeapps -n nodename of the node to be deletedコマンドを実行し、ノード・アプリケーションを停止します。
srvctl remove nodeapps -n nodename of the node to be deletedコマンドを実行し、ノード・アプリケーションを削除します。
isqlplusが実行中である場合は停止します。
削除するノード以外のノード上で、setup.exe -updateNodeList ORACLE_HOME=full path location of the Oracle home ORACLE_HOME_NAME=name of the Oracle home CLUSTER_NODES=remaining nodesコマンドを実行します。この場合、remaining nodesとは、引き続きクラスタの一部となるノードのリストです。
削除するRACのノードには、次の手順を実行します。 複数のノードを削除する際に、共有されていないOracleホーム(非クラスタ・ファイル・システム)がインストールされている場合は、削除するすべてのノードで手順1および2を実行し、Oracleホームを削除する必要があります。
ORACLE_HOME\oui\bin\setup.exe -updateNodeList -local -noClusterEnabled ORACLE_HOME=full path location of the Oracle home ORACLE_HOME_NAME=name of the Oracle home CLUSTER_NODES=""コマンドを実行します。 このコマンドのCLUSTER_NODES=エントリの後の""には値が不要である点に注意してください。
削除するRACノードから、Oracle_home\oui\bin\setup.exeコマンドを実行し、Oracle Universal Installer(OUI)を起動します。 Deinstall Productsを選択し、削除するOracleホームを選択します。
次に、CRSノードを削除するには、残りのノードからcrssetup del -nn node_name of the deleted node, node numberコマンドを実行します。
CRSHOME\oui\bin\setup.exe -updateNodeList ORACLE_HOME=full path location of CRS home ORACLE_HOME_NAME=name of CRS home CLUSTER_NODES=remaining nodesコマンドを実行します。この場合、remaining nodesとは、引き続きクラスタ内に残るノードのリストです。
削除するCRSノードで、CRSHOME\oui\bin\setup.exe -updateNodeList -local -noClusterEnabled ORACLE_HOME=full path location of CRS home ORACLE_HOME_NAME=name of CRS home CLUSTER_NODES=""コマンドを実行します。
削除するノードから、CRSホームおよびOracleホームを手動で削除してから(ホームが共有でない場合)、HKLM/software/OracleおよびHKLM/System/CurrentControlSet/ServicesにあるOracleレジストリ・キーを手動で削除します。 さらに、%SystemRoot%\System32\driversにある次のファイルを削除します。
ocfs.sys
orafencedrv.sys
orafenceservice.sys
RAC環境でOracle Database 10gのノードを追加または削除してから、システムが正常に機能していることを確認した後、dd.exeユーティリティを使用して、投票ディスクの内容をバックアップします。 dd.exeユーティリティはMKSツールキットに含まれています。
Windowsベース・プラットフォームでのノード削除後のASMインスタンスのクリーンアップ手順
ノード削除のプロシージャでは、Windowsベースのシステムで次の追加手順を実行し、ASMインスタンスを削除する必要があります。
ノード固有のリスナーLISTENER_nodenameがこのOracleホームから実行されている場合、NetCAを使用して、このリスナーとそのCRSリソースを削除します。 必要に応じて、別のホームでこのリスナーを再作成します。
ASMインスタンスがこのOracleホームから実行されている場合、このOracleホームが存在するすべてのノードに対して次のコマンドを実行し、ASM構成を削除します。
srvctl stop asm -n node
削除するノードに対して次のコマンドを実行します。
srvctl remove asm -n node
ASMインスタンスが含まれる各ノードに対して次のコマンドを実行します。
oradim -delete -asmsid +ASMnode_number
ASM Oracleホームにクラスタ・ファイル・システムを使用していない場合、削除するノードで次のコマンドを実行します。
rd /s /q %ORACLE_BASE%\admin\+ASM del %ORACLE_HOME%\database\*ASM*
|
注意: ノード削除プロセスを完了した後、投票ディスクおよびOCRファイルをバックアップすることをお薦めします。 |
補助ロギング
第1章「Streamsレプリケーションに対する理解」の「Streamsレプリケーションの補助ロギング」で、適用プロセスの並列度を示す2つのルールを、次のルールに置換してください。「変更を適用する適用プロセスの並列度が1よりも大きい場合は、ソース・データベースの1つ以上の列から取得したレプリケート先データベースの索引付き列を無条件に記録する必要があります。」
第4章「異機種間サービス・エージェントの使用」の「異機種間サービスのパラメータの判別」の項から、次の説明を削除してください。
「Distributed Access Managerにはメニューおよびツールバーを介して使用可能なリフレッシュ機能があり、必要に応じて問合せを再実行し、データを更新できます。データのリフレッシュ時には、ツールにより登録済エージェントのセットに変更がないことが確認されます。変更があった場合は、グローバル・ビューが更新されます。Distributed Access Managerの詳細は、『Oracle Enterprise Manager 概要』およびオンライン・ヘルプを参照してください。」
タイム・ゾーン・ファイル
第4章「日時データ型とタイム・ゾーン・サポート」の「タイム・ゾーン・ファイルの選択」の項に、次の説明を追加してください。
この項では、Oracle Databaseがインストールされているディレクトリのデフォルトのタイム・ゾーン・ファイルは$ORACLE_HOME/oracore/zoneinfo/timezone.datとされています。デフォルトのタイム・ゾーン・ファイルは、$ORACLE_HOME/oracore/zoneinfo/timezlrg.datになりました。
$ORACLE_HOME/oracore/zoneinfo/timezlrg.datは$ORACLE_HOME/oracore/zoneinfo/timezone.datよりも大きいファイルです。このファイルにはより多くのタイム・ゾーンが指定されています。タイム・ゾーンを多く含んでいるファイルが、デフォルトのタイム・ゾーン・ファイルになりました。
大きいタイム・ゾーン・ファイルを使用している場合は、データベースに格納されているデータがそのファイルに含まれている追加のタイム・ゾーンを使用しないことが確実でないかぎり、大きいファイルを引き続き使用してください。また、情報を共有しているすべてのデータベースが同じタイム・ゾーン・ファイルを使用する必要があります。
$ORACLE_HOME/oracore/zoneinfo/timezone.datを使用するように変更する場合、またはこのファイルを以前から使用しており、Oracle Database 10gでもこのファイルを引き続き使用する場合は、次の手順を実行します。
データベースが起動している場合は停止します。
環境変数ORA_TZFILEを$ORACLE_HOME/oracore/zoneinfo/timezone.datに設定します。
データベースを再起動します。
この項では、次の文を入力した結果が記載されています。
SELECT tzname, tzabbrev FROM v$timezone_names;
記載されている結果は、デフォルトのタイム・ゾーン・ファイルではない$ORACLE_HOME/oracore/zoneinfo/timezone.datに対する内容です。ただし、新しいデフォルトのタイム・ゾーン・ファイルに対する結果も同様の出力となります。
この項には、次の文に対する出力も記載されています。
SELECT UNIQUE tzname FROM v$timezone_names;
記載されている結果は、デフォルトのタイム・ゾーン・ファイルではない$ORACLE_HOME/oracore/zoneinfo/timezone.datに対する内容です。ただし、新しいデフォルトのタイム・ゾーン・ファイルに対する結果も同様の出力となります。
タイム・ゾーンのカスタマイズ
第13章「ロケールのカスタマイズ」の「タイム・ゾーン・データのカスタマイズ」の項では、Oracle Databaseがインストールされているディレクトリのデフォルトのタイム・ゾーン・ファイルは$ORACLE_HOME/oracore/zoneinfo/timezone.datとされています。デフォルトのタイム・ゾーン・ファイルは、$ORACLE_HOME/oracore/zoneinfo/timezlrg.datになりました。
タイム・ゾーン名
付録A「ロケール・データ」の表A-14「タイム・ゾーン名」には、$ORACLE_HOME/oracore/zoneinfo/timezone.datおよび$ORACLE_HOME/oracore/zoneinfo/timezlrg.datからのタイム・ゾーン名が記載されています。列のタイトル「デフォルト・タイム・ゾーン・ファイル内での有無」を「小さいタイム・ゾーン・ファイル内での有無」に変更してください。
表A-14直前の段落を次の説明に置換してください。「表A-14に、Oracle Databaseに付属しているデフォルトのタイム・ゾーン・ファイルのタイム・ゾーン名を示します。デフォルトのタイム・ゾーン・ファイルは、$ORACLE_HOME/oracore/zoneinfo/timezlrg.datです。Oracleでは、小さいタイム・ゾーン・ファイル$ORACLE_HOME/oracore/zoneinfo/timezone.datも提供しています。第4章「日時データ型とタイム・ゾーン・サポート」の「タイム・ゾーン・ファイルの選択」の項を参照してください。
第7章「XML SQL Utility(XSU)」の「XSUを使用したXML生成の例」の中で、「接続を作成します。」に関する説明の最後に次の注意を追加してください。「注意: Oracle JDBCには、oracle.xml.sql.dataset.OracleXMLDataSetExtJdbcのみを使用します。一方、Oracle JDBC以外には、oracle.xml.sql.dataset.OracleXMLDataSetGenJdbcを使用します。」
付録I「Oracle XML DB機能の概要」の「Oracle XML DBの制限事項」で、「2048要素までに制限されるSubstitutionGroup」の項を削除してください。この制限は解除されました。
第12章「Oracle OLAPの管理」には、次の説明が欠落しています。
OracleJVM内でアナリティック・ワークスペースJava APIアプリケーションを作成または実行するユーザーは、OLAP_DBAまたはOLAP_USERのロールに加え、次のJavaパーミッションが必要になります。
| パーミッション・タイプ | アクション |
|---|---|
java.io.FilePermission |
読取り、書込み、実行 |
java.util.PropertyPermission |
読取り、書込み |
java.net.SocketPermission |
接続、解決 |
java.lang.RuntimePermission |
なし |
これらのパーミッションは、JavaまたはSQLで付与できます。OracleJVMのセキュリティおよびJavaパーミッションの詳細は、『Oracle Database Java 開発者ガイド』を参照してください。
第7章「Secure Sockets Layer認証の構成」の「証明書の検証に関連するOracle Netトレース・ファイルのエラー・メッセージ」で、エラー・メッセージ「CRL DPからのCRLのフェッチ: CRLが見つかりません。」の下に、次の処置を追加してください。
認証局により、証明書のCRL DP拡張子に指定されているURLにCRLが発行されることを確認してください。
この項では、今回のリリースでの既知の不具合を示します。これ以外に、使用しているプラットフォーム固有のリリース・ドキュメントに補足のリストが含まれている場合があります。
Bug#3107894
Automatic Storage Management(ASM)ディスクの検出文字列はすべてのノードで同じであることが必要です。ASMディスクには、すべてのノードで同じ検出文字列を使用してアクセスできる必要があります。
回避策
ASMでRACデータベース用の共有記憶域を設定するときに、すべてのディスクに対して、RACクラスタを構成するすべてのノードからの同じアクセス・パスを設定する必要があります。または、ASM_DISKSTRINGを手動で設定して、クラスタの各ノードに対する値を明確にします。
Bug#3343372
プロセスの制限を超えると、ASMの再バランスがハングします。
回避策
PROCESSES初期化パラメータの値が、すべてのarbプロセスおよび他のすべてのASMプロセスに対するASM_POWER_LIMITパラメータに対応できる大きさであることを確認してください。
Bug#3349512
管理者が指定した名前がキーワードであるとき、ディスクを削除できません。
回避策
ASMディスク名にSQLキーワードを使用しないでください。
Bug#3386190
ASMを使用した通常のインストールでASMLIBディスクが検出されません。
回避策
拡張されたデータベース構成インストール・オプションを使用してカスタム・インストールを実行してください。あるいは、インストール後に、DBCAまたはASMでSQL文CREATE DISKGROUPを使用してディスク・グループを作成してください。
Bug#3390752
ASMで、ADD INSTANCEを実行しても、ASMがDBCONTROLとともに動作するように構成されません。
回避策
targets.xmlを手動で更新してASMインスタンスの詳細を組み込み、エージェントを再ロードしてください。詳細は、次のファイルを参照してください。
$ORACLE_HOME/relnotes/readmes/EM_db_control.txt
Bug#3334209
Oracle8i DatabaseをOracle Database 10gにアップグレードすると、4つのKOTシステム表(KOTTD$、KOTAD$、KOTMD$およびKOTTB$)のサイズが、使用されているブロックのサイズに応じて大幅に増加する場合があります。Oracle Database 10gへの正常なアップグレードには、追加の領域が必要な場合があります。
回避策
SQLスクリプトrdbms/admin/utlu101i.sqlを使用して必要な領域量を見積ってください。または、SYSTEM表領域に対してAUTOEXTEND ON MAXSIZE UNLIMITEDを設定してください。
Bug#2662022
データベース・キャラクタ・セットの変更中に、ORA-00060のデッドロック・エラーが発生する場合があります。 データベース・キャラクタ・セットの変換プロセスで更新が必要なオブジェクトがリサイクル・ビンに含まれる場合、このエラーが発生する可能性があります。
回避策
CSALTER.plbスクリプトの実行前に、PURGE DBA_RECYCLEBINコマンドを発行します。
Bug#3268735
繁体字中国語を使用している場合は、zh_TWまたはzh_TW.EUCロケールでoidamin、dbcaまたはdbuaなどのGUIコンポーネントを起動すると、Java例外が発生することがあります。
回避策
ロケールをzh_TW.BIG5に変更してください。
Bug#3313073
Analytic Workspace Managerで、「Import from EIF file」ダイアログのデフォルトの「All objects」オプションで、すべてのオブジェクトがインポートされません。
回避策
「Import from EIF file」ダイアログで、「Advance」タブの「Import Object Properties」オプションを選択してください。
Bug#3340372
OLAPワークシートを起動できません。
回避策
OLAPワークシートは、Oracle Database 10gクライアントとともにインストールされるOLAP Analytic Workspace Manager Toolから起動してください。
Bug#3366805
OLAPオプションのインストール時に、カスタムDBCAのデータベース作成が「ORA-00060: リソース待機の間にデッドロックが検出されました。」というエラー・メッセージを出力して失敗する場合があります。
回避策
「無視」ボタンをクリックしてインストールを続行してください。インストールの完了後、sysdbaでログインし、$ORACLE_HOME/olap/admin/cataps.sqlスクリプトを再実行してください。
Bug#3388688
32ビット版のOracle Databaseからアップグレードした場合は、Kerberos認証アダプタを初めて使用するときに「ORA-12637: パケット受信に失敗しました。」というエラー・メッセージが戻されます。
回避策
64ビット版のデータベースにアップグレードした後、Kerberos外部認証を使用する前に、/usr/tmp/oracle_service_name.RCファイルがシステムに存在しているかどうかを確認し、存在している場合はそのファイルを削除してください。
Bug#1704273
この不具合は、中間層と専用バックエンドの間で共有データベース・リンクが使用されるときにMTSの設定で発生します。この不具合が発生すると、「ORA-02068: BACKENDで重大なエラーが発生しました。」、「ORA-00022: 無効なセッションIDです。アクセスは拒否されました」というエラー・メッセージが表示されてクライアントが切断されます。
回避策
システム変数mts_serversとmax_mts_serversの値を同一に設定してください。
Bug#3133023
iters >= 65535を使用し、OCIStmtExecuteによって配列操作を実行すると、「ORA-24381: DML配列にエラーがあります。」というエラーが発生します。
回避策
OCIStmtExecuteの繰返し操作は、itersの値が65535未満に設定されたループ内で実行し、必要に応じて配列のバインドまたは定義にrowoff引数を使用してください。
Bug#2834560
バッチ更新の一環としての一時的な制約違反がロジカル・スタンバイ・データベースでサポートされていません。一時的な衝突の原因となる主キーまたは一意キーの更新が、ロジカル・スタンバイ・データベースでは解決されません。
たとえば、プライマリ・データベースに表コンタクト(ID number primary key, name varchar2(32))があり、それにID値が(1...32)の行が含まれているとします。UPDATE CONTACT SET ID = id+1;などの更新文では、ID列に一時的な衝突が発生しますが、プライマリ・データベースでは正常に実行されます。
ロジカル・スタンバイ・データベースでは、結果をレプリケートしようとすると制約違反になります。
回避策
回避策はありません。
Bug#2795200
ロジカル・スタンバイ・データベースに関係するフェイルオーバーの後で、分散トランザクションの状態が保持されません。プライマリ・データベースのインダウト・トランザクションの状態は、フェイルオーバーまたはスイッチオーバー時にロジカル・スタンバイ・データベースで保持されません。
回避策
回避策はありません。
Bug#3184834
ロジカル・スタンバイ・データベースは、ジョブ・プロセスが使用可能であることを示していますが、そのロジカル・スタンバイ・データベースでジョブを実行できません。ロジカル・スタンバイ・データベースでV$PARAMETERビューを問い合せると、JOB_QUEUE_PROCESSESが使用可能であることが示され、そのロジカル・スタンバイ・データベースではジョブをスケジュールできます。しかし、スケジュールしたジョブがロジカル・スタンバイ・データベースで実行されません。
一部のアプリケーションでは、ジョブのスケジュールが可能でないときに、可能であると誤って想定する場合があります。
回避策
SQL Applyを開始する前にJOB_QUEUE_PROCESSESを0(ゼロ)に設定してください。データベースへのフェイルオーバーまたはスイッチオーバー後に、JOB_QUEUE_PROCESSESを適切な値に設定してください。
Bug#3199961
ALTER DATABASE GUARD {ALL | STANDBY | NONE}コマンドが、RAC内のすべてのアクティブ・インスタンスに伝播されません。 あるインスタンスでのALTER DATABASE GUARDコマンドの実行が、RACクラスタ内の他のアクティブ・インスタンスに影響を与えません。 コマンド実行時に停止されたインスタンスは、起動時に新しいガード設定を自動的に取得します。
回避策
すべてのアクティブ・インスタンスでALTER DATABASE GUARDコマンドを実行してください。
Bug#3310115
Oracle Real Application Clustersモードで動作しているロジカル・スタンバイ・データベースがスイッチオーバーに関係している場合、およびOracle Data Guardの構成が最大保護モードまたは最大可用性モードで実行されている場合、スタンバイ・ロックはそのスイッチオーバーを実行するインスタンスによって取得されません。スタンバイ・ロックが取得されないと、インスタンスは他のインスタンスにアーカイブ先の障害を伝達できません。これは、非データ消失リカバリに直接影響を与えます。
回避策
Oracle Real Application Clusterで構成されているロジカル・スタンバイ・データベースへのスイッチオーバーを実行する前に、各データベースで1つのインスタンスを除いてすべてのインスタンスが停止していることを確認します。スイッチオーバーが完了した後、他のインスタンスを開始できます。プライマリ・データベースが最大保護モードまたは最大可用性モードで実行されている場合は、プライマリ・データベースでスイッチオーバーを実行した元のインスタンスを停止し、再起動する必要があります。これは、他のインスタンスがデータベースにリストアされる前または後で実行できます。
Bug#3311688
Oracle Label Securityの機能がSQL Applyと互換性がありません。
回避策
Oracle Label Securityを使用している場合、レポート生成と障害時リカバリには、SQL ApplyではなくRedo Applyを使用してください。
Bug#3372626
フィジカル・スタンバイ・データベースへのフェイルオーバー実行前にリアルタイム適用を取り消していない場合は、スタンバイ・データベースに適用されるREDOデータが不足する可能性があり、フェイルオーバー後の新しいプライマリ・データベースに一貫性のないデータが含まれる場合があります。
回避策
リアルタイム適用が可能なフィジカル・スタンバイ・データベースにフェイルオーバーする前に、ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL文を発行してリアルタイム適用を停止し、次にALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH文を発行してフェイルオーバーを開始してください。
Bug#3389628
DB_DOMAINが設定されていない場合、Data Guard BrokerのRSM0バックグラウンド・プロセスは、Data GuardのGUIまたはCLIの使用時に次のORA-16766エラー・メッセージを出力してクラッシュします。
ORA-16766: 物理的適用サービスが予期せずにオフラインでした
回避策
DB_DOMAIN初期化パラメータをNULLに設定した後、Data GuardのCLIまたはGUIを使用して、データベースを再度使用可能にしてください。
CLIを使用する場合は、次のコマンドを使用してDB_DOMAINをNULLに設定します。
SQL> ALTER SYSTEM SET DB_DOMAIN='' SCOPE=SPFILE;
データベースを再起動する必要があります。プライマリ・データベースにもパラメータが設定されていることを確認してください。再起動は、ロール変更操作が完了するまで遅延する場合があります。次のスクリプトを使用してデータベースを再度使用可能にします。
DGMGRL> ENABLE DATABASE db_unique_name; Enabled.
DB_DOMAIN初期化パラメータをNULL以外の値に設定した場合は、データベースを構成から削除し、追加しなおす必要があります。
DGMGRL> REMOVE DATABASE db_unique_name Removed database "db_unique_name" from the configuration. DGMGRL> ADD DATABASE 'db_unique_name' AS CONNECT IDENTIFIER IS 'connect_identifier' MAINTAINED AS PHYSICAL; Database "db_unique_name" added.
GUIを使用する場合は、データベースの「General」プロパティ・ページで「Reset」をクリックして、データベースを再度使用可能にします。Add Standby Databaseウィザードを使用すると、データベースを構成に追加しなおすことができます。
Bug#3202916
コスト・マトリックスがビルド操作に指定されている場合、デフォルトの動作では、見込みではなく、コストがバッチの適用時に戻されます。
回避策
回避策はありません。
Bug#2545555
ODMのJava APIメソッドでは、マイニング属性の名前は、"Age"、 "EducationLevel"、"Affinity_Card"などの大/小文字混合で指定できますが、ODMサーバーでは、モデル操作に使用する前に、すべての名前が"AGE"、"EDUCATIONLEVEL"、"AFFINITY_CARD"のように大文字に変換されます。したがって、モデルのビルド、テスト、スコアリングに使用する入力表には、非トランザクション入力の列名が大文字で、およびトランザクション入力の場合の属性名が大文字で格納されます。
回避策
ODMでデータ表を使用するときは、非トランザクション入力のデータに対する列に、リテラルベースのネーミング・メカニズムを使用して、"Education_Num"のような小文字や大/小文字混合の名前を指定しないでください。トランザクション入力の場合は、すべての属性が、次のスキーマのattribute_name列を介して提供されます。
(sequence_id, attribute_name, attribute_value)
このスキーマは、モデル操作に使用される前に、大文字に暗黙的に変換されます。また、「'」、「"」、空白、「:」などの特殊文字を属性名に使用しないでください。
Bug#3259277
BLASTの問題: 位置合せに空白がある場合、属性pct_identity、positives、mismatchesおよびgap_openingsは不正確です。ただし、他のすべての属性は正確です。不正確な属性を使用しない場合は、結果をそのまま使用できます。位置合せで空白が生成されない場合、結果の属性はすべて正確です。
回避策
回避策はありません。
Bug#3268579
モデルの移行: RDBMSをOracle9i Database リリース2(9.2)からOracle Database 10gにアップグレードするとき、Oracle JVMのリソース制約によって、一度に移行できるJava Data Miningモデルの数が制限される場合があります。
回避策
RDBMSのアップグレード後に、Oracle9i Databaseリリース2(9.2)のodm.odm_mining_modelのモデル数と、Oracle Database 10gのodm.dm_modelビューのモデル数を比較してください。odm_mining_model表とOracle Database 10gのdm_modelビューの行数が一致しない場合は、次のスクリプトを使用して、残りのODM Javaモデルをすべて移行します。
cd $ORACLE_HOME/dm/admin sqlplus odm/<passwd> SQL>@initodm.sql SQL>exit
odm.dm_modelビューの結果を再度検証し、すべてのJavaモデルが移行されていることを確認してください。
Bug#3313128
PL/SQL API内のk-meansビルドは、大量の属性(数十万個)または大量のクラスタ(数千個)、あるいはその両方の組合せなど、負荷が高い場合に失敗する可能性があります。
回避策
少数のクラスタと属性で小規模なモデルを作成してください。
Bug#3387835
PL/SQL API内のk-meansビルドは、SGAメモリーが断片化されている場合、MTSモードで失敗する可能性があります。
回避策
sysdbaでログインし、ALTER SYSTEM FLUSH SHARED_POOLを発行してください。
Bug#3155831
DBCAの実行時に、「Database Storage」の最終画面で、繁体字中国語zh_CNおよびzh_TWに対応するロケールを表す文字列が正しく表示されません。
回避策
回避策はありません。
Bug#3335580
繁体字中国語のロケール設定LANG=zh_TW, LC_ALL=zh_TWの使用時にDBCAがハングします。
回避策
回避策はありません。
Bug#3018082
Oracle HTML DBで作成されたSVGチャートでマルチバイト・キャラクタを表示できません。この問題は、Adobe SVG Viewerでブラウザの言語設定が正しく判別されないため、正しいデフォルト・フォントを適用できないことが原因です。
回避策
この問題を解決する方法は、次のとおりです。
チャートの属性を編集します。
チャートのタイトルをtspanタグで囲みます。
正しい言語固有のフォントのファミリを指定します。
次に例を示します。
<tspan style="Language-specific Font Family">Chart Title</tspan>
Bug#3164030
今回のリリースより前のOracle HTML DBでアプリケーションを作成した場合は、Oracle HTML DBのイメージ・リポジトリにアップロードされずに、ディレクトリにコピーされたイメージで問題が発生する可能性があります。
回避策
この問題を解決するには、Oracle HTML DBのイメージ・リポジトリにイメージをアップロードします。イメージのファイル名は、前と同じファイル名にする必要があります。別の方法として、ファイル・システムで仮想イメージ・ディレクトリへのフルパスを指定できます。
Bug#3308710
日付書式マスクYYYY-MM-DDおよびRR-MON-DDが項目タイプData Pickerでサポートされません。
回避策
回避策はありません。
Bug#3314941
AL32UTF8またはUTF8以外のキャラクタ・セットを使用するOracle HTML DBの構成で「XMLをエクスポート」レポート・テンプレートを使用するとき、レポートにマルチバイト・キャラクタが含まれている場合、またはレポートのタイトル・リージョンにマルチバイト・キャラクタが含まれている場合は、無効なXMLというエラーが戻されます。
回避策
回避策はありません。
Bug#3384664
Application Builderの「ページ定義」の「列属性」にある数値書式または日付書式の選択ポップアップ・ダイアログを開くと、ダイアログに必ず'backslash'+ 5,234.10と表示されます。これは、日本語環境でのみ円記号とみなされます(注意: バックスラッシュと円記号は文字コード・ポイントは同じですが、使用フォントによって表示される記号が決まります)。バックスラッシュは、アプリケーションのページでデータ書式を適用するときも表示されます。
回避策
回避策はありません。
Bug#3393090
Application Builderウィザードを使用し、名前が日本語のインクルード列に基づいて表またはビューにフォームを作成すると、新しい項目の名前が日本語で組み込まれます。
回避策
ApplicationBuilderの「ページ定義」ページで新規項目を作成するときは、項目名に英数字A_Z、0-9および'_'を使用する必要があります。また、項目に変更を適用する前に、項目名を英数字に編集する必要があります。
Bug#3374370
言語が繁体字中国語または標準中国語のときに、Enterprise Editionをインストールしてデータベースを作成した後、同じ $ORACLE_HOMEにEnterprise Editionを再度インストールすると、次のエラーが発生します。
Oracle Universal Installer has detected that there are processes running in the currently selected Oracle Home. The following processes need to be ...
回避策
回避策はありません。
Bug#3250761
単一セッション内でordsys.ordimage.processcopy()を繰り返しコールすると、メモリー不足のエラーが発生する場合があります。これは、単一のデータベース・セッション中に多数の大規模なイメージをバッチ処理するアプリケーションに関係する問題です。
回避策
使用可能なメモリー量が低下したときは、新しいデータベース・セッションを確立してください。
Bug#3799097
CRSの削除中にノード・エラーが発生します。
回避策
crssetup -delコマンドを発行してクラスタからノードを削除する前に、削除するノードでOracleCRService、OracleEVMServiceおよびOracleCSServiceを停止してください。 クラスタからのノードの削除が完了したことを確認するには、およそ1分間待機します。 1分間待機した後、crssetup -delコマンドを発行して目的のノードを削除します。
Bug#3780455
ノード削除の操作で、OCSSDプロセスのクラッシュを引き起こす可能性がある断続的な障害が存在します。これにより、予期せずノードがクラッシュしたり、クラスタ・メンバーがリブートする場合があります。
回避策
ノード削除の操作は、スケジュールされた停止時間にのみ実行してください。
Bug#3235218
ocrconfigコマンドを実行できるのはルート・ユーザーのみですが、実行ユーザーがルートであるかどうかがocrconfigによってチェックされません。
ocrconfigの実行前にoraconfig.logファイルが存在し、このログ・ファイルに対する書込み権限が現行ディレクトリの現行ユーザーにない場合、ocrconfigはエラーを戻さずに失敗します。
回避策
ocrconfigはルート・ユーザーで実行してください。
Bug#3311316
CLSR_START_ASMで、ASMインスタンスのENABLEDまたはDISABLEDステータスがチェックされません。CRSリソースが定義されているAutomatic Storage Management(ASM)インスタンスを開始すると、srvctlを使用してASMインスタンスが使用不可にされている場合でも、CRSリソースが開始されます。このCRSリソースは、ASMインスタンスが使用不可であることを検出して停止します。したがって、使用不可のASMインスタンスはSQL*Plusを使用して開始できません。
回避策
ASMインスタンスは、開始する前に使用可能にしてください。
Bug#3377903
SQL*Plusを使用して、インスタンスを停止後すぐに再度開始すると、停止処理中のために、そのインスタンスのCRSリソースが開始されない場合があります。この場合、srvctl status instance -d name -i sidでは、インスタンスが実行中ではないと誤ってレポートされます。
回避策
srvctl status instance -d name -i sidでインスタンスのCRSリソースを開始してください。
Bug#3241689
特定の構成問題の発生後に、データベースの再起動時にStreamsのキュー・バッファが初期化されない場合があります。
回避策
伝播の作成と削除には、Oracle StreamsのAdvanced Queuing(AQ)APIと互換性のあるdbms_propagation_admまたは他のOracle StreamsのAPIを使用しないでください。データベース間の伝播の構成には、常にOracle StreamsのAPIを使用してください。特に、DB_DOMAINパラメータがNULLの場合は、あるリンクが同じキューからの伝播に含まれる別のリンクのサブストリングの可能性がある、複数のデータベース・リンク名は使用しないでください。
Bug#3316255
通常、DDL文はキュー表でサポートされず、キュー表を動作不能にする場合もあります。 たとえば、キュー表に対してALTER TABLE ... SHRINK文を発行すると、内部エラーが発生し、そのキュー表を使用する後続のすべての文もエラーになります。
回避策
キュー表でDDLコマンドを使用しないでください。
Bug#3317678
Streamsキューにメッセージが含まれている間にStreamsプロセスに対するルールの範囲を縮小すると、部分的または不完全なトランザクションが生成される場合があります。変更したルールによって、以前にルールを満たしていたトランザクションに対する論理変更レコード(LCR)が削除された場合、およびその削除したトランザクションに対するLCRがすでにキュー内に存在する場合は、トランザクションの後続のLCRが、コミットやロールバックも含めて処理されない可能性があります。
回避策
コミットされていないトランザクションがこのようなルールの変更の影響を受けないようにするには、ルールの変更前に、Streamsのプロセスを停止し、Streamsのキューが空であることを確認してください。
Bug#3384300
断続的に、共有プールで期限切れとなったリモート・カーソルを実行すると、「ORA-00600 [OPIXRM-1]」というエラー・メッセージが生成されます。
回避策
共有プールのサイズを大きくするか、またはリモート・カーソルに保持のマークを付けてください。『PL/SQL パッケージ・プロシージャおよびタイプ・リファレンス』の第87章「DBMS_SHARED_POOL」を参照してください。
Bug#3374094
Ultrasearch - アプリケーション/APIの検索で、単純検索結果の一部のページに問題があります。マルチバイト・キャラクタ・セットに対するKWICファンクションの起動時に、次のエラーを含むメッセージ・スタックが生成されます。
ORA-06502: PL/SQL: 数値または値のエラー: Character string buffer too small output array extendedが発生しました
この問題は、SUBSTRC(x,x,1)によって、char(1)で宣言されているバッファに格納できないUnicode文字が戻された場合に発生します。これは、韓国語KO16MSWIN949などのマルチバイト・キャラクタ・セットを使用するデータベースで発生します。
回避策
回避策はありません。
Bug#3379283
Ultrasearch - リモートJDBCクローラに問題があります。runall_jdbc.shスクリプトを使用してJDBCリモート・クローラ・ランチャを起動すると、バックグラウンドにジョブを送信した場合以外は、コマンド・プロンプトが戻りません。フィードバックまたはエラー・メッセージなしにプロンプトが戻された場合は、エラーが生成されたが、エラー・レポートが中断されたことを意味します。
回避策
回避策はありません。
Bug#3097823
Internet Explorer 6.0をOracle XML DBのFTPサーバーのクライアントとして使用できません。
回避策
別のブラウザを使用してください。Netscape 4.7およびMozillaの両方が動作します。
Bug#3141321
Oracle Real Application Clustersモードで実行しているとき、Oracle XML DBの複数のインスタンスがDBMS_XMLSCHEMA.DELETESCHEMAコール時にハングする場合があります。
ノードAからのセッションがノードBが削除しようとしている同じスキーマで操作を実行すると、DELETESCHEMA操作がハングします。これは、DELETESCHEMAコール時にセッション・プールがノードAで残っているために発生します。プールがクリアされるのは、ローカル・インスタンスの場合のみです。
回避策
スキーマにアクセスしたすべてのノードを停止してください。
Bug#3244176およびBug#3244257
以前のリリースで、PL/SQLパッケージXMLDOM、XMLPARSERおよびXSLPROCESSORには、XDK Javaベースの実装が含まれていました。Oracle Database 10g リリース1(10.1)では、これらのパッケージは、Oracle XML DBでサポートされるCベースのAPI実装に移行されています。元のパッケージに近づけるように試みていますが、一部のAPIのセマンティクスに微妙な相違があり、これがBug#3244176およびBug#3244257に記述されています。今回のリリースでは、XDKパッケージとの下位互換は保証されません。
回避策
回避策はありません。
Bug#3330788
スキーマベースのXML列が表の最上位の列でない場合、またはスキーマベースのXML用に作成された型に継承が含まれている場合は、ダイレクト・パス・ロードがサポートされません。
回避策
SQL*Loaderを使用したデータのロードには、従来型のロードを使用してください。
Bug#3330801
スキーマベースのXML列が含まれる表へのデータのロードが、列型のエラーのために失敗する場合は、SQL*Loaderの従来型パスによる方法を使用してください。次の場合にエラーが発生する可能性があります。
多数のオブジェクトやネストした表が含まれるスキーマベースのxmltype列をロードすると、オープン・カーソルの数が初期化パラメータopen_cursorsのデフォルト値を超える可能性があります。この場合に生成されるエラー・メッセージでは問題は示されません。したがって、問題があると思われる場合、解決策はopen_cursorsパラメータの値を大きくするか、またはSQL*Loaderの従来型パスによる方法を使用することです。
XML文書の解析中にエラーが発生した場合、これはSQL*Loaderのジョブに対して致命的なエラーであり、データはロードされません。これに対して、SQL*Loaderの従来型パスによる方法では、処理中の現行の行は拒否されますが、エラーのない後続の行に対するデータのロードは継続されます。このようなエラーが発生した場合は、そのエラーを修正するか、またはSQL*Loaderの従来型パスによる方法を使用してください。
回避策
SQL*Loaderを使用したデータのロードには、従来型のロードを使用してください。
Bug#3377188
オブジェクト表の削除は、デフォルト表のネストした表のいずれかにテキスト索引が存在する場合は、「ORA-600[ORA-16609: 1つ以上のリソースで失敗しました]」で失敗します。この問題は、deleteSchema()のコール時、またはユーザーの削除時に発生する可能性があります。
回避策
deleteSchema()のコール前またはユーザーの削除前にテキスト索引を削除してください。XML Schemaの削除前に、XMLType表、あるいはXMLType表または列に関連付けられたネストした表に対するテキスト索引をすべて削除してください。ネストした表の属性にテキスト索引が存在する場合は、Oracle Textとネストした表の間の相互作用によって、親表が削除されたときに、ネストした表は削除されません。この問題が発生すると、ネストした表またはスキーマ所有者は削除できません。
Bug#3338112
今回のリリースのOracle Databaseでは、スキーマベースのXMLのバージョニング・サポートが限定されています。スキーマベースのリソースに対してバージョニングがサポートされるのは、対象となるスキーマ表にトリガー、索引または制約がない場合のみです。
回避策
回避策はありません。
Bug#3391726
catnoqm.sqlスクリプトの実行とcatqm.sqlスクリプトの実行の間でデータベースが再起動されない場合は、XML DBを再インストールしようとしたときに、UGAメモリーの問題またはハングが発生します。
回避策
最初にcatnoqm.sqlスクリプトを実行してデータベースを再起動し、最後にcatqm.sqlスクリプトを実行してください。
Bug#3541376
Workflow Configuration Assistantを使用してOracle Workflowをインストールした後、Workflowのインストール・ログ・ファイル(workflow.log)に次のエラー・メッセージが表示される場合があります。
<date> <time> oracle.apps.fnd.cp.gsc.SvcComponentContainerException: oracle.apps.fnd.wf.common.ContextFactoryException: Unable to get initial context because the following Exception occurred -> javax.naming.NameNotFoundException: jdbc/WorkflowDS not found
回避策
このメッセージを無視し、Oracle Enterprise ManagerのOracle Workflow Managerコンポーネントに必要なコンテナを起動して、データソースを作成してください。 データソースの作成後、このエラーは表示されなくなります。 手順については、『Oracle Workflow for Oracle Database インストレーション・ノート』を参照してください。
Bug#3399034
PL/SQLのWebtool Kitに問題があります。WorkflowスキーマおよびWorkflowパスワードを同じ文字列でデータベースにインストールすると、中間層をインストールした後にhttp://hostname:HTTP Server Port number/pls/wf/wfa_html.homeにアクセスした場合、次のエラーが戻されます。
You don't have permission to access /pls/wf/wfa_html.home on this server.
回避策
$ORACLE_HOME/Apache/modplsql/conf/dads.confにPlsqlDatabaseUsernameに対するWorkflowスキーマ名を手動で入力してください。
Bug#3399659
Workflow Middle Tierのインストール時に、Workflowユーザー名、パスワードまたはデータベース接続情報が正しく入力されないと、Workflowのインストールでは、PlsqlNLSLanguageパラメータが""AMERICAN_AMERICA.AL32UTF8""に設定され、この設定ではHTTP Serverの起動に失敗します。
You don't have permission to access /pls/wf/wfa_html.home on this server.
回避策
PlsqlNLSLanguageパラメータの値が"AMERICAN_AMERICA.AL32UTF8"になるように一重引用符を1組削除するか、またはこのパラメータの値を正しいデータベースNLS_LANGに設定してください。HTTP Serverを手動で起動してください。
$ORACLE_HOME/Apache/modplsql/conf/dads.confにPlsqlDatabaseUsernameに対するWorkflowスキーマ名を手動で入力してください。
Bug#3291684
Oracle Database 10gコンパイラでは、パイプライン表関数から戻される行シグネチャの使用可能なデータ型定義に対して、より厳密なチェックが実施されます。
以前のリリースのPL/SQLコンパイラでは、パイプライン表関数から戻される行のシグネチャの定義に、データ型PL/SQL RECORDのフィールドを1つ以上含めることができました。このような定義はOracle Database 10gでは許可されません。つまり、以前のリリースでは、この例外処理を利用して正常にコンパイルされ、実行されていたプログラムが、コンパイルされなくなります。
回避策
Oracle Database 10gには、オラクル社カスタマ・サポート・センターの指示によってのみ使用されるメカニズムが実装されており、Oracle9i Database リリース2(9.2)の例外処理を利用できます。このメカニズムをオンにする方法は、次のとおりです。
alter session set events = '10946 trace name context level 4'
例外処理の動作を利用しているためにOracle Database 10gでコンパイルできないコードは、イベント10946の設定後に再コンパイルする必要があります。コンパイル済のコードが実行される環境では、通常の実行条件でこのイベントを設定する必要はありませんが、依存関係機構によって発生する可能性がある無効化に応答して、自動再コンパイルが正常に実行されるようにするには、このイベントを設定する必要があります。このイベントはシステム・レベルで設定できるため、pfileまたはspfileを使用して設定できます。
Bug#1466269
ヒントは、EXEC SQL EXPLAIN PLAN文で使用されている場合、正しくプリコンパイルされません。ヒントはPro*C生成コードでは引き継がれません。
回避策
回避策はありません。
Bug#1323304
埋込みの\n文字があるPro*CのバージョンでPL/SQLコードが使用されるときに、文が長い場合は、sqlbuftのコールに分割し、sqlstm.stmtにも配置する必要があります。この結果、sqlbuftの\nに対してエスケープが対応しなくなり、prepareで次のランタイム・エラーが発生します。
PLS-00103: 記号"\"が見つかりました。
回避策
生成されたCファイルを編集して、文の分割時に余分な円記号を削除してください。
Bug#658837
プリコンパイル時にSQLCHECK=FULLを指定した場合でも、WHERE CURRENT OF句が使用されていると、Pro*CではUPDATE文の無効な列名が検出されません。
回避策
回避策はありません。
Bug#1897639
グループ項目内の暗黙的なVARCHARを参照すると、Pro*Cobolでのプリコンパイル時にPCB-S-00208エラーが戻されます。
回避策
ホスト変数として参照する前に、次のようなEXEC SQL VAR文を追加してください。
EXEC SQL VAR <varchar group item name> IS VARCHAR(<size>) END-EXEC
Bug#1656765
INCLUDE文を使用して、IDENTIFICATION DIVISION、ENVIRONMENT DIVISION、DATA DIVISIONおよびPROCEDURE DIVISIONが含まれる複数のファイルをサブプログラムとしてホスト・プログラムにコピーすると、Pro*CobolはPCB-S-00400エラーで失敗します。この問題が発生するのは、.pcoファイルでEXEC SQL INCLUDE文を使用して、ネストされたプログラムの後に別のネストされたプログラムをインクルードした場合です。
回避策
2つのファイルを1つのインクルード・ファイルに統合してください。PROCEDURE DIVISIONに含まれるINCLUDE文が1つのみの場合、Pro*Cobolのプリコンパイラは、.cobファイルを正常に生成します。インクルード.pcoファイルにはIDENTIFICATION DIVISIONを含めないでください。また、このファイルには、コード(ルーチン)以外のいずれのDIVISIONSも含めないでください。
Bug#1620777
ホスト変数がキーワードVARYINGを追加することによって定義され、データ型がデータ型同値化を使用してオーバーライドされる場合は、拡張された文字列のフィールド長の値が2増加します。
回避策
回避策はありません。
Bug#953338
Pro*Cobolのプログラムが、select /*+ index hint */文を使用して埋込みPL/SQLでプリコンパイルされると、PCB-S-00567、PLS-103エラーが戻されます。
回避策
回避策はありません。
Bug#2425918
CHARACTER*(*)をホスト変数として使用すると、正しくないコードが生成されます。これはPROFORの制限です。CHARACTER*(*)変数の長さは事前に決められていません。これらの変数は、サブルーチン宣言で仮引数の指定に使用されます。実際の引数の最大長は、固有のLENファンクションで戻されます。CHARACTER*(*)変数は有効なFORTRAN変数名ですが、ホスト変数としてはサポートされていません。
回避策
回避策はありません。
Bug#2656503
移動された表領域は、移動後に読取り/書込みにされていないかぎりRecovery Managerでバックアップできません。読取り/書込みの状態のままにしておく必要はありませんが、プラグイン後に、短い間でも一度読取り/書込みにされないかぎり、Recovery Managerではバックアップできません。
回避策
回避策はありません。
Bug#3154925
アーカイブ・ログのバックアップにDELETE INPUTオプションが使用されている場合、Recovery Managerは、スタンバイ・データベースに転送または適用されていないログを削除する可能性があります。
回避策
ログが任意のスタンバイ・データベースに適用されたことを確認するまで、そのログには、DELETE INPUTオプションを使用しないでください。
Bug#2692990
スタンバイ・データベースでファイルをリストアするとき、Recovery Managerは、リストア・ファイルにプライマリ・データベースのファイル名を使用しようとします。
回避策
SET NEWNAMEを使用して、ファイルを正しい位置にリストアしてください。
Bug#2670671
Recovery Managerのカタログ・スキーマに統計がないと、パフォーマンスが低下する場合があります。
回避策
ALTER USER ... COMPUTE STATISTICSコマンドを適宜使用して、Recovery Managerのカタログ・スキーマに対する統計を再計算してください。
Bug#2353334
Recovery Managerのバックアップは、6KBなどの非標準のb_block_sizeが使用されており、バックアップ対象の表領域が8KBや16KBなどの標準ブロック・サイズの場合は、内部エラーで失敗します。
回避策
この不具合が発生した場合の回避策については、オラクル社カスタマ・サポート・センターに連絡してください。
Bug#3398097
クライアント接続がORA-03113エラー・メッセージを出力して終了します。
ORA-03113: 通信チャネルでend-of-fileが検出されました
Oracle Netのディスパッチャのトレース・ファイルに、次のエラー・メッセージが出力されます。
NS Primary Error: TNS-12535: TNS: 操作はタイム・アウトしました。 NS Secondary Error: TNS-12606: TNS: アプリケーション・タイムアウトが発生しました。
回避策
共有サーバーの使用時は、データベース・サーバーのsqlnet.oraにSQLNET.INBOUND_CONNECT_TIMEOUTパラメータを指定しないでください。
Bug#3342089
DROP TABLEを実行しようとすると、次の両方の条件を満たす場合に「ORA-04063: 表にエラーがあります。」というエラー・メッセージが戻されます。
削除対象の表に、従属する型をアップグレードせずに強制的に変更または削除された型など、無効な型に依存する列がある場合。
UNDROP TABLEサポートに対してリサイクル・ビン機能が使用可能な場合。
回避策
この問題には複数の回避策があります。
表のUNDROPは今後必要ないことが確実な場合は、かわりにDROP TABLE ... PURGEを使用します。
表のUNDROPが今後必要な場合は、ALTER TABLE ... UPGRADE INCLUDING DATA; DROP TABLE ...を使用します。
この他に、一時表を使用する方法もあります。一時表を使用すると、無効な表を削除でき、元の表の有効なサブセットをUNDROPする機能を保持できます。次に、スクリプトの例を示します。
CREATE TABLE TMP AS SELECT * FROM ORIG; DROP TABLE ORIG PURGE; ALTER TABLE TMP RENAME TO ORIG; DROP TABLE ORIG;
Bug#3382501
optimizer_modeがfirst_rows_xx(xxは1、10、100または1000)に設定されている状態で、3つ以上の表から選択する問合せを実行すると、データベースがクラッシュする場合があります。
回避策
optimizer_modeをall_rowsに設定するか、またはSQL文でall_rowsヒントを指定してください。
Bug#3399017
LOB列に対する読込みで、表領域が適切にサイズ指定されている場合でも、「ORA-01555: スナップショットが古すぎます: ロールバック・セグメント番号%、名前\"%s\"が小さすぎます」というメッセージ・エラーが生成される場合があります。この問題は、データベースが自動UNDO管理モードで、LOBが時間ベースの保存を使用している場合に発生します。LOBの作成時にRETENTION句が明示的に指定されたか、またはPCTVERSIONが指定されなかった場合です。
回避策
PCTVERSIONを明示的に使用するようにLOBを変更してください。この結果、領域ベースの保存を使用するようにLOBが切り替わります。時間ベースの保存がサポートされなくなることに注意してください。
Bug#3642768
iSQL*Plusでは、英語以外の言語のバージョン番号が10.1.0.3.0ではなく10.1.0.2.0と表示されます。
回避策回避策はありません。
Bug#3626677
iSQL*Plusでは、言語が簡体字中国語に設定されている場合、オンラインヘルプが文字化けします。
回避策
出力の文字化けは、簡体字中国語のヘルプ構成ファイルohwconfig.xmlで設定された不正なエンコーディング値により発生します。 簡体字中国語のohwconfig.xmlファイルを編集する必要があります。 通常、このファイルはiSQL*Plusサーバーの次のディレクトリにインストールされています。
ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/isqlplushelp/isqlplushelp/helpsets/zh_CN/
簡体字中国語のヘルプ構成ファイルを編集する手順は、次のとおりです。
iSQL*Plusサーバーを停止します(『SQL*Plus ユーザーズ・ガイドおよびリファレンス』の第4章の「iSQL*Plusアプリケーション・サーバーの停止」を参照してください)。
次のディレクトリに移動します。
ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/isqlplushelp/isqlplushelp/helpsets/zh_CN/
テキスト・エディタでohwconfig.xmlをオープンします。
属性"encoding=gb3212"を検索します。
"encoding=gb3212"を"encoding=gb2312"に置き換えます。
ヘルプ構成ファイルohwconfig.xmlを保存します。
iSQL*Plusサーバーを再起動します(『SQL*Plus ユーザーズ・ガイドおよびリファレンス』の第4章の「iSQL*Plusアプリケーション・サーバーの起動」を参照してください)。
Bug#3355726
REFRESH USING TRUSTED CONSTRAINTS句およびGROUPING SETS句を使用するCREAET MATERIALIZED VIEW文を他のCREAET MATERIALIZED VIEW文と同時に実行すると、次のORA-04021タイムアウト・エラーが発生する場合があります。
ORA-04021: オブジェクトtablenameをロック待ちしていてタイムアウトが発生しました。
回避策
失敗したCREATE MATERIALIZED VIEW文を再実行してください。
Bug#3383591
Access Advisorは、再検証が必要なマテリアライズド・ビューまたはディメンションを検出した場合に、ORA-07445またはORA-03113エラー・メッセージを出力してクラッシュする場合があります。
ORA-07445: 例外が検出されました: コア・ダンプ[qsmsuniq()+92] [SIGBUS] [Invalid address alignment] [0x52574849] ORA-03113: 通信チャネルでend-of-fileが検出されました
通常、この問題はAccess Advisorを再度実行すると解決します。これは、クラッシュ前にマテリアライズド・ビューおよびディメンションが再検証されるためです。
次の問合せを使用すると、マテリアライズド・ビューまたはディメンションの再検証が必要かどうかを判別できます。
SELECT owner, mview_name FROM dba_mviews WHERE compile_state = 'NEEDS_COMPILE'; SELECT owner, dimension_name FROM dba_dimensions WHERE compile_state = 'NEEDS_COMPILE';
回避策
Access Advisorの実行を再試行するか、または次のスクリプトを使用して、マテリアライズド・ビューおよびディメンションを手動で再検証してください。
ALTER MATERIALIZED VIEW owner.mview_name COMPILE; ALTER DIMENSION owner.dimension_name COMPILE;
Bug#2770880
READ_ONLY表領域がData Pump Importを使用してターゲット・データベースにインポートされるとき、OFFLINEで作成されます。
回避策
Data Pump Importが完了したときに、表領域の設定をREAD_ONLYに手動で戻すことができます。
Bug#3309770
あるスキーマ内のオブジェクト型が別のスキーマ内のオブジェクト型を参照している場合は、Data Pump Importで最初のオブジェクト型が作成されるときにコンパイル警告があります。
回避策
Data Pump Importの完了後、オブジェクト型を手動で再検証できます。
Bug#3369197
ソースのデータベース表にLONGデータ型が含まれている場合、NETWORK_LINKパラメータを使用してネットワーク・モードのData Pump Importを実行するとエラーが発生します。
回避策
LONGデータ型が含まれる表に対しては、標準のダンプファイル・ベースのData Pump ExportおよびData Pump Importを使用してください。
Bug#3392310
Data Pump Exportおよび元のExportは、トランスポータブル・モードのとき、「ORA-29341: トランスポータブル設定は自己完結型ではありません」というエラー・メッセージを出力して失敗します。
回避策
Data Pump ExportではEXCLUDE=CONSTRAINTを使用し、元のExportではCONSTRAINTS=Nを使用してください。
Bug#3217435
トランスポータブルのdatapumpのインポート後、ネストした表のSYS_C*セグメントが欠落します。
回避策
表領域にネストした表が含まれる場合、Data Pump Exportのかわりに元のExportを使用してください。