Category: Oracle

ORA-12152: TNS: ブレーク・メッセージの送信に失敗しました。

  アプリケーションサーバ側のログにORA-12152が出力される場合は、アプリケーションサーバとDBサーバ間のネットワークで問題が発生している可能性が高い。ルータ、L2/L3スイッチ、負荷分散装置、ファイアウォール等、経路上の各種機器でエラーやパケットロスが発生していないかどうか確認する必要がある。 [amazon_enhanced asin=”4798124974″ /] 切り分けに時間がかかる場合は、コネクションプールの接続を検証し、通信が途切れないようにする設定を採用する。ODP.NETの場合は、接続記述子にValidate Connection=trueを入れることで問題を緩和できる可能性がある。 今回この設定を入れた環境ではあまり問題にならなかったが、コネクションプールの接続検証が行なわれる分性能は多少なりとも劣化することになるため、本格適用前に性能検証はしっかりと行なうべき。 http://otn.oracle.co.jp/sample_code/dotnet/3_1.html   [amazon_enhanced asin=”4797349808″ /]

ORA-12528: TNS:リスナー: 該当するインスタンスはすべて、新規接続をブロックしています

  開発環境にて発生。Oracleをshutdown immediateし、再度mountするとOracleへの接続がブロックされてしまう。どうやら、以下のサイトにある問題のようだ。 http://otn.oracle.co.jp/cgi-bin/non/msgview_r.cgi?communityid=otn-901233&bbsid=1&no=5616&view=9 本番とStaging環境ではOracleを自動起動するように設定していなかったのだが、開発環境だけはOracleが自動起動する設定になっていた。サービスを再起動することで解決。自動起動もやめた。  

全面障害時のRMANによる復旧テスト

リカバリ検証ケース。ディスク障害で全表領域、全オンラインREDOログファイル、全制御ファイル、SPFILEが物理的に逝ってしまった場合のRMANによるリカバリ検証手順。 ①RMANを起動 C:\> rman target sys/hoge nocatalog ②インスタンスを強制起動 RMAN> startup force nomount ③SPFILEをバックアップセットからリストア RMAN> restore spfile from ‘H:\oracle\restore\C-585537839-20060616-06’; RMAN> shutdown RMAN> startup nomount ④制御ファイルをリストア RMAN> restore controlefile from ‘H:\oracle\restore\C-585537839-20060616-06’; RMAN> alter database mount ⑤バックアップセットからリカバリ、障害直前までのアーカイブログから不完全回復 RMAN> run { 2> until set sequence 3021 thread 1; 3> allocate channel ch1 type disk; 4> restore database; 5> recover.

ORA-12638: 資格証明の取出しに失敗しました。

  アプリテスト実施のためにサーバの日付を過去日付に設定したところ発生。 Oracleクライアントのsqlnetの設定はデフォルトのまま。 SQLNET.AUTHENTICATION_SERVICES= (NTS) 認証チケットが有効期限切れになっているということか・・。 googleで以下の情報を拾って対応。 「OracleSecurity03.pdf」をダウンロード SQLNET.AUTHENTICATION_SERVICES パラメータ 1 つ以上の認証サービスを使用可能にします。 認証がインストールされている場合は、このパラメータをnone または認証方式の1 つに設定することをお薦めします。 none - 認証方式は採用しません。 有効なユーザー名とパスワードを使用すると、データベースにアクセスできます。 all - すべての認証方式を採用します。 nts - Windows NT のシステム固有の認証を採用します。 *WindowsログオンのORA_DBAグループにWindowsログオンユーザが属している必要がある。  

PRODUCT_USER_PROFILEヘのアクセス中にエラーが発生しました

  Oracle 10g環境(Release 10.1.0.3.0)にて発生。 リモートでログインすると以下のエラーメッセージが表示される。ログイン自体は可能。 >PRODUCT_USER_PROFILEヘのアクセス中にエラーが発生しました。 >警告: 製品のユーザー・プロファイル情報がロードされていません。 >PUPBLD.SQLをSYSTEMとして実行する必要があるかもしれません。 googleによれば、 http://www20.big.or.jp/~o-shin/bbs/bender/dbms/pslg943.html とのこと。確かにpupbuld.sqlとcatdbsyn.sql をsysで実行した記憶あり。 やっぱりOWNERがsysになっている。 SQL> select object_name, owner, object_type from all_objects where object_name = ‘PRODUCT_USER_PROFILE’; OBJECT_NAME ———————————————————— OWNER ———————————————————— OBJECT_TYPE ————————————– PRODUCT_USER_PROFILE PUBLIC SYNONYM PRODUCT_USER_PROFILE SYS SYNONYM とりあえず以下のオブジェクトをsysで削除。 DROP SYNONYM PRODUCT_USER_PROFILE; DROP TABLE PRODUCT_USER_PROFILE; DROP TABLE SQLPLUS_PRODUCT_PROFILE; DROP TABLE PRODUCT_PROFILE; DROP VIEW PRODUCT_PRIVS; DROP PUBLIC.