[起こりうる現象]
OS 起動後 に一定時間経過するとOCI クライアントがハングします。具体
的には現象発生時、ハング中はスピン状態(一種の無限ループの実行状態)
となり、CPU 使用率が高騰している状況が継続します。
弊社で確認している"一定時間の経過"は、Linux環境でカーネルのバージョ
ンによって 198 日、または 248 日経過後にハングするという事例です。
[対象リリース]
問題が発生するリリース :Oracle Database 10g Release 2 (10.2.0.1)
Oracle Database 10g Release 1 (10.1.0)
問題を修正したリリース :11.1.0
問題を修正したPSR :10.2.0.2
[対象プラットフォーム]
すべてのプラットフォーム
(※内部ロジックの検証により Linux全般、及び AIX のみで発生する現象である
ことが確認されております。詳細は[FAQ]をご参照ください)
[起こりうる条件]
次の条件を満たしている状態で、OS times() システムコールが負の値を戻した場
合に現象が発生する場合があります。
- OCI および OCI を使用するミドルウェアすべて(JDBC Thin Driver 以外)を
使用している
※ データベース・リンクや、インスタントクライアントでもこの問題は発生し
ます。
なお Linux x86 プラットフォームでは、カーネルバージョンの違いにより OS
起動後198 日 以上経過している場合と、248 日以上経過している場合に OS
times()
システムコールが負の値を戻す場合があることを確認しています。OS 起動からの
経過時間は、以下のようにして確認できます。
$ uptime
20:56:42 up 22 days, 9:51, 5 users, load average: 0.00, 0.00, 0.00
[原因]
製品の不具合です。OS times() システムコールを使用した部分に問題があり、
times() 関数が負数を戻す場合について考慮が不足していました。
[回避策]
問題を修正したPSRを適用していただくか、または、198 日経過前に OS の再起動
を 実施していただくことで回避可能です。
[障害発生時の対処]
OS の再起動を行ってください。
[BUG番号]
BUG:4612267
* My Oracle Supportで内容を公開していない場合があります
[FAQ]
Q1. 全てのプラットホームで発生しうるとありますが、詳細を教えてください。
A1. BUG:4612267ではGeneric BUG(全てのプラットフォームで発生しうるBUG)とし
て 扱われており、それに準じて記載しております。
しかしながら、その後の調査により、OSがtypedefで提供している型の違いに
よって、弊社製のソースコードが同一であるためGeneric BUGとして扱ってお
りますが、問題が発生するプラットホームとそうでないプラットフォームが
確認されています。
また、#ifdef等を用いてOS別の実装がなされている部分もあり、その実装によ
り発生しえないプラットフォームも存在します。
Q2. 本問題が発生しうるプラットフォーム(OS)を教えてください。
A2. Linux全般、及び AIX にて発生し、その他のプラットフォームでは発生いたし
ません。また、AIXでの事例は報告されておりません。
Q3. Oracle 10.1を使用していますが、条件を満たしても発生していません。
A3. バージョン毎に、問題を含む該当モジュールの実装が異なっているため、発生
しやすさが異なります。Oracle 10.2.0.1は非常に発生しやすいロジックとな って
おり、Oracle 10.1.0では発生しにくいロジックとなっております(10.1.0でも
発 生する可能性はあります)。
[補足事項]
Oracle Server へ接続し、SQL の実行や、データの参照、編集などを行うことが可
能 な製品は、内部的に OCI ライブラリを使用しています(ただし、Oracle JDBC Thin
Driver を除きます)。これらの製品は、本文書の対象である OCI クライアントに
該 当します。以下の文書についても併せて参照してください。
KROWN:124406 OCI を使用するプログラミング インターフェース製品について
また Fusion Middleware 製品において本現象に該当する製品の情報につきまして
は、
KROWN:127093 Fusion Middleware 製品における Krown:111215 の影響について
を参照してください。
OTN
http://otn.oracle.co.jp/forum/thread.jspa?messageID=35015309
2009年11月21日土曜日
2009年4月1日水曜日
Sysなどのパスワードを再設定する場合
<方法>
%ORACLE_HOME%\network\admin\sqlnet.oraに
SQLNET.AUTHENTICATION_SERVICES= (NTS)
が書かれていることを確認の上で
C:\>set oracle_sid=SID名
C:\>sqlplus
ユーザID、パスワードを求めてきたら / as sysdba
その後、
ALTER USER SYS IDENTIFIED BY 新パスワード;
or
ALTER USER SYSTEM IDENTIFIED BY 新パスワード;
で管理者のパスワードを変更してください。
%ORACLE_HOME%\network\admin\sqlnet.oraに
SQLNET.AUTHENTICATION_SERVICES= (NTS)
が書かれていることを確認の上で
C:\>set oracle_sid=SID名
C:\>sqlplus
ユーザID、パスワードを求めてきたら / as sysdba
その後、
ALTER USER SYS IDENTIFIED BY 新パスワード;
or
ALTER USER SYSTEM IDENTIFIED BY 新パスワード;
で管理者のパスワードを変更してください。
別ユーザのテーブルを複数ユーザで共有する方法
シノニムを使用して、あたかも、別ユーザのテーブルが自分所有のテーブルとして
使用させる方法を以下にしめす。
SQL>conn admin/admin_passwd;
SQL>Create Table aaa
(
test_column varchar2(10);
);
SQL>grant select,update on admin.aaa to staff;
SQL>create synonym staff.aaa for admin.aaa;
↑ 通常は同じ名前にする
使用させる方法を以下にしめす。
SQL>conn admin/admin_passwd;
SQL>Create Table aaa
(
test_column varchar2(10);
);
SQL>grant select,update on admin.aaa to staff;
SQL>create synonym staff.aaa for admin.aaa;
↑ 通常は同じ名前にする
2009年3月23日月曜日
ユーザにテーブルごとに権限を付与する方法
【要求】
別ユーザ(caomu)にあるユーザ(shunzhi)の所有するテーブルにselect,update,deleteのみを許したい
【操作方法】
1.ロールの作成
SQL>create role roleA;
2.別ユーザにロールを付与
SQL> grant roleA to caomu;
3.別ユーザに個別のテーブルへ、権限を付与
SQL>grant select,update,delete on shunzhi.t_imp_koza to caomu;
4.接続権限を付与
SQL>grant create session to caomu;
別ユーザ(caomu)にあるユーザ(shunzhi)の所有するテーブルにselect,update,deleteのみを許したい
【操作方法】
1.ロールの作成
SQL>create role roleA;
2.別ユーザにロールを付与
SQL> grant roleA to caomu;
3.別ユーザに個別のテーブルへ、権限を付与
SQL>grant select,update,delete on shunzhi.t_imp_koza to caomu;
4.接続権限を付与
SQL>grant create session to caomu;
2009年3月17日火曜日
Client VPN にて、Windowsのリモートデスクトップで接続できない
【事象】
1.VPN Clientで、接続したあと、RemoteDeskTopで、接続しにいっているが、
接続できない
【対応】
RemoteDeskTopのポート:3389番をVPN Client用に、設定した
1.VPN Clientで、接続したあと、RemoteDeskTopで、接続しにいっているが、
接続できない
【対応】
RemoteDeskTopのポート:3389番をVPN Client用に、設定した
2009年3月13日金曜日
exportしたらEXP-00056+ORA00932 のエラーが発生
【事象】
Oracle10g にて、exportユーティリティにて、expを実行したら、
EXP-00056 と ORA-00932のエラーが出て、exportできない
EXP-00056: ORACLE error 932 encountered
ORA-00932: inconsistent datatypes: expected BLOB, CLOB got CHAR
【対応】
以下のSQLを実行
SQL> connect / as sysdba
SQL> @?/rdbms/admin/catmetx.sql
SQL> @?/rdbms/admin/utlrp.sql
Oracle10g にて、exportユーティリティにて、expを実行したら、
EXP-00056 と ORA-00932のエラーが出て、exportできない
EXP-00056: ORACLE error 932 encountered
ORA-00932: inconsistent datatypes: expected BLOB, CLOB got CHAR
【対応】
以下のSQLを実行
SQL> connect / as sysdba
SQL> @?/rdbms/admin/catmetx.sql
SQL> @?/rdbms/admin/utlrp.sql
VMWare WorkStationでホストOSとゲストOSのファイル共有
【前提】
・ホストOS:Windows XP
・ゲストOS:Red Hat Linux
1.VMWareの[VM] --> [Settings] を開き
表示されたサブウィンドウのOptionタブを選択。
2.SharedFoldersをクリックし、
右画面の[Add]ボタンをクリック。
3.Nameに共有フォルダ名を入力
4.Host Folderに、ホストOSの該当フォルダを選択
5.VMWareで、ゲストOSを起動し、共有フォルダにアクセス
共有フォルダは、/mnt/hgfs/共有フォルダ名にマウントされる。
ここでいっている共有フォルダは、3で入力した共有フォルダ名
・ホストOS:Windows XP
・ゲストOS:Red Hat Linux
1.VMWareの[VM] --> [Settings] を開き
表示されたサブウィンドウのOptionタブを選択。
2.SharedFoldersをクリックし、
右画面の[Add]ボタンをクリック。
3.Nameに共有フォルダ名を入力
4.Host Folderに、ホストOSの該当フォルダを選択
5.VMWareで、ゲストOSを起動し、共有フォルダにアクセス
共有フォルダは、/mnt/hgfs/共有フォルダ名にマウントされる。
ここでいっている共有フォルダは、3で入力した共有フォルダ名
2009年3月9日月曜日
表領域の空きとサイズ確認
Oracle 表領域の空きとサイズ確認をするSQL
SELECT tablespace_name "TableName", SUM(bytes)/1024/1024 --"空き領域(MB)"
FROM dba_free_space GROUP BY tablespace_name;
SELECT tablespace_name "TableName", SUM(bytes)/1024/1024 --"サイズ(MB)"
FROM dba_data_files GROUP BY tablespace_name;
SELECT tablespace_name "TableName", SUM(bytes)/1024/1024 --"空き領域(MB)"
FROM dba_free_space GROUP BY tablespace_name;
SELECT tablespace_name "TableName", SUM(bytes)/1024/1024 --"サイズ(MB)"
FROM dba_data_files GROUP BY tablespace_name;
手動にてDB作成時に ORA-01991
【事象】
dbca など、GUIではなく、CREATE DATABASE 文を自分で
記述してのDBを作成時に、ORA-01991のエラーが発生し、
DBの作成が失敗する
【対応】
orapwd コマンドにて、パスワードファイルを作成
dbca など、GUIではなく、CREATE DATABASE 文を自分で
記述してのDBを作成時に、ORA-01991のエラーが発生し、
DBの作成が失敗する
【対応】
orapwd コマンドにて、パスワードファイルを作成
2009年2月27日金曜日
VMWare WorkStationで、ゲストOSのRed Hat Linux がインストールできない
【事象】
VMWare Workstation を使って、ゲストOSに、Red Hat Linuxをインストール
しようとしているが、ハードウェアのドライブがみつからないというエラーになる。
【対応】
今回は、USB HD上に、Linuxをインスールするので、
USB の部分のディスクインターフェースを SCSIではなく、IDEに変更すると
うまく、インストールができた。
VMWare Workstation を使って、ゲストOSに、Red Hat Linuxをインストール
しようとしているが、ハードウェアのドライブがみつからないというエラーになる。
【対応】
今回は、USB HD上に、Linuxをインスールするので、
USB の部分のディスクインターフェースを SCSIではなく、IDEに変更すると
うまく、インストールができた。
2009年2月23日月曜日
Windowsの管理者のパスワードを忘れたとき
【事象】
Windowsの管理者のパスワードを忘れてしまい、ログインができない。
【対応方法】
① 管理者権限のあるほかのユーザにて、管理者のパスワードを再設定。
② Safeモードにて起動後、"Administrator" のユーザIDで、ノーパスワードにて
ログインし、管理者用のパスワードを再設定。
※ ただし、Administratorのパスワードも変更されている場合は、無理である。
③オープンソースソフト「Ophcrack」を使って、パスワードを解析する
詳細は以下のURL
Ophcrack
http://ophcrack.sourceforge.net/
http://gigazine.net/index.php?/news/comments/20070816_ophcrack/
Windowsの管理者のパスワードを忘れてしまい、ログインができない。
【対応方法】
① 管理者権限のあるほかのユーザにて、管理者のパスワードを再設定。
② Safeモードにて起動後、"Administrator" のユーザIDで、ノーパスワードにて
ログインし、管理者用のパスワードを再設定。
※ ただし、Administratorのパスワードも変更されている場合は、無理である。
③オープンソースソフト「Ophcrack」を使って、パスワードを解析する
詳細は以下のURL
Ophcrack
http://ophcrack.sourceforge.net/
http://gigazine.net/index.php?/news/comments/20070816_ophcrack/
2009年2月21日土曜日
データベースのキャラクタセットの確認方法
SQL/PLUSなどにて、以下のSQLを実行。
SELECT PARAMETER, VALUE
FROM NLS_DATABASE_PARAMETERS
WHERE PARAMETER IN ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET');
NLS_CHARACTERSET: データベース・キャラクタセット
NLS_NCHAR_CHARACTERSET: 各国語キャラクタセット
※show parameters で出力されるキャラクタセットは、使用されている
キャラクタセットではない。
NetScreenのLAN側IPにpingが通らない
【事象】
複数台のPCをNS(SSG5)に接続し、LAN側(trust)のIPにpingが通らない
【原因】
trust interfaceの定義で、HostIpAdrress になっておらず、
別拠点へのVPN 接続する際の Ip Address と重複していた。
【対応】
trust interfaceのip address のサブネットマスクを32にして、
host ip address にして、LAN側のIPを1つにして再定義
複数台のPCをNS(SSG5)に接続し、LAN側(trust)のIPにpingが通らない
【原因】
trust interfaceの定義で、HostIpAdrress になっておらず、
別拠点へのVPN 接続する際の Ip Address と重複していた。
【対応】
trust interfaceのip address のサブネットマスクを32にして、
host ip address にして、LAN側のIPを1つにして再定義
ファイルの分割と結合方法
Linux にて、ファイルの分割と結合方法
以下のコマンドで可能。
%)split -b 分割対象ファイル 分割後ファイル名
ex)split -b 100k aaa.png aaa.
※:aaa. とすると、分割順番によって、自動で拡張子が振られる
%)cat 分割されたファイル > 結合後のファイル名
ex)cat aaa.* > aaa.png
以下のコマンドで可能。
%)split -b 分割対象ファイル 分割後ファイル名
ex)split -b 100k aaa.png aaa.
※:aaa. とすると、分割順番によって、自動で拡張子が振られる
%)cat 分割されたファイル > 結合後のファイル名
ex)cat aaa.* > aaa.png
2009年2月12日木曜日
NetScreen でのVPN構築
NetScreen SSGでVPN構築する場合、以下の手順にて行なう必要がある。
1.untrust / trust Interface の定義
※trust InterfaceのbgroupXをどのポートに設置するか、適正に設定する。
2.Routingに、対抗のtunnelを定義する
3.Policyを作成する。(不要なケースあり)
Policyで使用するDestinationをあらかじめ、作成しておくと便利
4.VPNのAutoKeyIKE, Gatewayをそれぞれ作成する。
PresharedKey,Phase I Proposal, Phase2 Proposalを対抗のVPNの
ルータと合致させる。
1.untrust / trust Interface の定義
※trust InterfaceのbgroupXをどのポートに設置するか、適正に設定する。
2.Routingに、対抗のtunnelを定義する
3.Policyを作成する。(不要なケースあり)
Policyで使用するDestinationをあらかじめ、作成しておくと便利
4.VPNのAutoKeyIKE, Gatewayをそれぞれ作成する。
PresharedKey,Phase I Proposal, Phase2 Proposalを対抗のVPNの
ルータと合致させる。
登録:
投稿 (Atom)