1 :
NAME IS NULL :
2006/05/18(木) 12:13:30 ID:r4ZixvPH
質問テンプレっぽいもの ■どの様な問題が起きて、どんな結果を得たいのか? ■フロントエンド、バックエンドどちらの問題か? ■フロントエンドのプラットフォームは何か? ■バックエンドのプラットフォームは何か? ■フロントエンドはどの様なドライバ/ソフトウェアを使用してアクセスしているか? ■Oracleのバージョンは?(バージョンと一言で言っても、フロントエンドなのかバックエンドなのか色々ある)
4 :
NAME IS NULL :2006/05/18(木) 12:14:09 ID:r4ZixvPH
>>1 乙。
テンプレへの補足。
「OTNからダウソできるものの使用期限は紳士協定 になっていて、機能的に
使えなくなるという訳ではない」
7 :
NAME IS NULL :2006/05/19(金) 11:09:46 ID:fhIcL7rz
質問です。 今、システム更改によるマシンのグレードアップ後に バッチの処理時間遅延のトラブルが出ています。 アプリケーションは当然そのままで、環境が変わったのは Oracle9iに変え、APサーバ、DBサーバの分散サーバ 方式に変えた事。 及び、APサーバがオンラインの名前解決サーバも兼ねている と言う点くらいしかありません。 120分とただでさえ長かったバッチが現在は350分かかっており、 マシンが性能アップしたのに性能ダウンとは何事か? と客先も怒っております。 アプリケーションチームはアプリは変わってないということで 相手にしてくれませんし、営業としては客先とSEの板ばさみ にあっている状況です。 原因について同様経験をした方も含め、お教え願いたいんですが。
>>7 ローカルなバッチをAPサーバとDBサーバに分けたってこと?
つまりバッチはAPサーバで動いていて、DBサーバを見にいってるってことかな。
なら、ローカルアクセスがネットワーク経由になるので、遅くなって当然なんですが。
DBサーバの中でバッチが動いているなら、アプリケーションの優先順位を見直すとどうでしょ。
バッチとRDBMSで均等にリソースが割り振られてないと、遅くなることがありますから。
しかし、アプリが変わってないからアプリケーションチームは動かないってのも変ですね…
開発はするけど運用はほったらかしって感じ。
ま、この辺はマ板向けなんでここまでにしておきます。
>>7 ネットワークも関係すると思うけど、ストレージ何使っている?
Raid 5で組んでたりとかしていないよね?
バッチというのはCPUパワー云々よりもI/Oインテンシブになって
いる事がほとんどだと思うけど?
きちんとStripeされている?
バッチ処理にはきちんとParallel Query使っている?
というかそれ以前にO/Sぐらい書いてよ。
>>8 APチームに相談なくリプレースしたとかじゃないですかねー
デリケートな状態で動作しているってのに勝手にリプレースして・・・
それで失敗してんだから、俺たちは知らんよとか良くありますからね
で、、リプレース前はOracle8i 以前ってことかな?
ルールベースで動作するのが前提のアプリだったのにコストベースで
動作しているとかじゃないの?
データベースを設定する人とアプリチームが事前に話さないとまずいでしょう
11 :
7 :2006/05/19(金) 13:18:07 ID:fhIcL7rz
申し訳ありません。 構成は以下の通りです。 ハード: DBサーバ:本体 NX7700i/3020M-8 CPU 1.5GHZ メモリ 2GB APサーバも同じ ディスクにiStorageS2800のRAID6構成 エンクロージャ4、ホットスペアディスク4 ソフト: APサーバ(プログラム、バッチ、その他プロダクト・・Oracle除く) OS: HP-UX 11iV2 DBサーバ(OracleDB,プロダクト、iStorage関連プロダクト) Oracle9i使用 以上、分かるところを書き連ねてみました。
>>11 やっぱりバッチをAPサーバーに移したのがまずそうだな。
シェアードメモリとLANじゃスピードが全然違う。
サーバーとクライアントプログラム間のピンポンが増えるだけ顕著になる。
一度DBサーバーでバッチを動かしてみたら?
>>11 APサーバ上でバッチ処理ってPL/SQL とか使ってサーバサイドで組んでないのか確かめた方がいい
もしAPサーバ上でカーソルをガンガン使って大量処理するようなバッチを組み込んでいるなら
APチームの設計に無理がある。拡張性の点から激しくAPチームの問題だと思うぞ
14 :
7 :2006/05/19(金) 14:20:11 ID:fhIcL7rz
>一度DBサーバーでバッチを動かしてみたら?
提言してみます。
ただ、当該処理は月次で休日の昼間に流れるもので、
ユーザ(情シス)からは顔を合わせるたびに「どういう事だ?」と
突っ込まれるんですが、他の本番業務に影響を与えて
いるわけではないのが、APチームの腰が重い理由でもあります。
監視を行うオペレータは24H常駐していますので。
>>13 それが原因か分かりませんが、
別の夜間バッチにおいても、APサーバ上で頻繁に
「スナップショットが見つかりません」のエラーとなるので、
3業務が動いているんですが、1業務ずつシリアルにしか
バッチが動かせない状況です。
>>14 「ORA-01555: スナップショットが古すぎます」 の間違いじゃない?
1555ならフェッチアクロスコミットで大量処理してるっぽいね
修正するには影響範囲が大きいから
APチームも、遅い理由がAPと知っててあえて黙っていると思うな
もし修正すると設計書からの直しになるからきっと相当な工数使うよ
営業として色々気配りした方がよいかも
>>14 >「スナップショットが見つかりません」のエラーとなるので、
これってこのエラーですか?
ORA-08180: no snapshot found based on specified time
Cause: Could not match the time to an SCN from the mapping table.
Action: Try using a larger time.
17 :
7 :2006/05/19(金) 15:09:22 ID:fhIcL7rz
>>15 >「ORA-01555: スナップショットが古すぎます」
そうです。
とりあえずSEの見解は、運用でカバーしているので問題解決
なのですが、リプレース時にユーザに対して性能アップの
トークを散々行ったので、私が矢面になるのは
仕方がないんでしょうね。
ただ、SEの話だと負荷分散のためにAPサーバとDBサーバを
設けるという話だったんですよね。
営業としてはユーザから分けた意味あるの?
と聞かれるのが一番辛いです。
18 :
15 :2006/05/19(金) 15:31:27 ID:???
>>17 そういうことなら上司と居酒屋で解決した方がよいでしょうね ^^;)
インフラ系のSEがいないプロジェクトにありがちな問題だなw
つーか、ハードを売りさえすれば後は知ったこっちゃない営業が 適当なこと言ってハード売りつけて、そのしわ寄せがソフト側に きているような。
違うかな。 ハード2台売ったのはいいけど、ウェブアプリケーション開発担当とボラクル担当がそれぞれ1台ずつ切り分けたので、システム全体で最適化できてないって感じ。 システム設計したSEやPL/PMが糞だって事だよ。 客が困ってクレーム入れてるんだから、修正しないと次の更新で逃げられるよ。 売り逃げするならどうでもいいだろうけど。
RACについて質問なんですが、 ディスクを追加をASMに対して行いたいとき、 各ノードのインスタンスのそれぞれに対して ALTER DISKGROUP ADD DISK しなければならないでしょうか。 balancing されているときに他のノードから見るとどうなってしまうのかな というのが気になって。
24 :
NAME IS NULL :2006/05/20(土) 02:47:59 ID:RMFby6Jo
>>11 Raid 6構成が思いっきりボトルネックになっている気がするね。
まあ、改善出来る点としてとりあえず思いつく所から全て挙げていきましょうかね。
1. まずはO/S。
オラクルは自身でSGAを持つから、ファイルキャッシュ小さくしてみそ。
以下の値がどうなっているか確認。
dbc_min_pct …最小物理メモリ割合(%)デフォルト”5”
dbc_max_pct …最大物理メモリ割合(%)デフォルト”50”
2. Disk I/O
RaidのStripe SizeをMaxの値でかつ64Kbytesの倍数に設定する。
HP-UXは1I/Oで64KBのディスクブロックを読み込む。
物理I/Oを出来るだけ減らすためにRaidのStripe Sizeは指定できる
値の最大で、かつ64kbytesの倍数にすると無駄なI/Oを省ける。
3. Oracleの初期化パラメーター
a. db_file_multiblock_read_countの適切な値の設定
前述した様にHP-UXの1I/Oは64kb。ここからも分かる様にDBの
Block Sizeとdb_file_multiblock_read_countの積が64kbになる様に
調整する。例えばDB Block Sizeが8kならdb_file_multiblock_read_count
は8といった様に(8×8=64kb)
b. hpux_sched_noageの導入
バッチ処理ではあんまり恩恵はないかもしれないが、OLTP系の処理は
10%ぐらいのパフォーマンス向上が望める。最新のMontecito Dual-Core
CPUでは30%のパフォーマンス向上が計測された。
c.undo_retentionの値の見直し
ORA-01555が頻発するんだったら、とりあえずUndo_retention大きくして、
それに見合ったサイズのundoを割り当てる。
これだけやって駄目ならRaid6を辞める方向で検討するしかない。
>>23 普通は何処かのASMのインスタンスで一回やれば十分だべ?
>>24 おそらく焼け石に水。
比較的ハイエンドなストレージは、内部にでかいキャッシュ領域を持っていて、
そのメモリに対して書き込みが完了した時点で、OSに対して書き込み完了を返すようになっている。
つまり、RAID5やRAID6のLUNとRAID1のLUNとで、パフォーマンスの差がほとんどない。
27 :
23 :2006/05/20(土) 08:38:26 ID:???
わりこみレス
>>24 参考になります。
>HP-UXは1I/Oで64KBのディスクブロックを読み込む。
この部分について、俺自身モヤモヤしているところ。
OSに依存するのか、、ファイルシステムに依存するのか、
RAWの場合はどうかとかとかうまく説明できないのだよね。
>>26 ハイエンドストレージ筐体でも性能値的にはREAD性能は
本数によるがRAID1,RAID5,RAID0+1だとかなり違うぞ。
RAID5はちょっと選びにくい。
RAWモードでアクセス=キャラクタデバイス ブロック単位でアクセス=ブロックデバイス
>>28 オラクル、ハード、OSのチューニングでは350分を約1/3の120分には戻せない
おそらく、300分程度がいいところ。
客はリプレースによって120分以下を期待していたのだから
24hオペレータ常駐しているようなシステムを停止させてまで
やる価値があるかは微妙
APチームが動いていないってことは社内のDB専門のチームが参加したか
OSも含めて専門のベンダにお願いしてるだろうからAPに依存してない部分は
ハードとの相性も含めてチューニング済の可能性も高い
>>28 RAID5、6はREADの性能はRAID1に対してそれほど遅いはずは無いぞ。
Readは確かにそれ程影響は受けないが、Writeは洒落にならない ぐらい性能差が出る。 IBMのESS使っても、Raid 5で組むと、洒落にならないぐらい遅い。 それとRaidのStripe Sizeも結構差がでる。 最大で15%の性能差を計測した経験あり。
へぼいストレージだからだろw
それがへぼいんだろw
男は黙ってSANRISE
RAIDコントローラのスピードがいまいちか、キャッシュが足りないんだろうな。
SUNRISEいいんだけど、 SIerがF系とかN系だと絶対扱ってもらえんからなw
>>38 コントローラーネックはよほどすごいIOがでないとならないと思う。
多重度がやたらと大きいばあいぐらいでないかい。
>>39 ストレージ筐体単体の性能(read/write)はほとんど変わらんよ。
変わるのはオリジナルのミドルウェアの部分で
バックアップ・リカバリ方式などがかなり違う、と思う。
どう思う?
>>40 ハイエンドストレージの内部アーキテクチャは各社でかなり違っている。
アーキテクチャの違いはピーク性能に影響してくるだろうし。
逆にバックアップ・リカバリの方式はそんなに違わないだろ。
ShadowImage(H)とTimeFinder(E)は仕組みが非常に良く似ているし、
FASTCopy(I)は仕組みが若干違うけど、使い方に大差ない。
たまーに貧弱なコントローラ積んでるRAID箱/カードもあるよ。
VARCHAR(100)の項目に対して、指定した文字が何回登場するかを調べたいのですが、 そのような関数が見当たりません。 ストアードファンクションを作成しないとだめでしょうか?
>>43 自作しかないね。
javaで作成したコードをファンクションとして登録できるのだろうか・・・
Cは確かできたはずなんだけど。
javaもバイナリコード生成することできるから・・・何とかなるかな?
>>43 やりたいことが正確に伝わってこないが
select length('hoge') - length(translate('hoge', 'xh', 'x')) from dual;
でいいならできる
サーバのホスト名がやむない理由で変わったのですが、 Enterprise Manager(DBConsole)が起動しなくなってしまいました。 インストールディレクトリの db_1 以下に FQDN でフォルダができているので、 明らかにまずそうだなあと思いましたが… 駄目元でフォルダ名を新しい FQDN に変更してみましたが、やはり駄目でした。 ホスト名が変更になった際に必要な作業等、もしありましたらポインタを頂けませんでしょうか。
47 :
46 :2006/05/22(月) 17:55:11 ID:???
DBConsoleってWebサーバーだからね。
>>47 そういうもんだ。
まあ、設定書いてあるxmlファイルを直にいじくってもいいんだけど、
結構面倒だよ。
上レスに書いてあるようなOracleのチューニングって 本来は誰がやるの?ユーザーの仕事なのかな。 自分達のプロジェクトは導入時にOracleの環境を作った メンバが今はいないから宙に浮いている状態。
>>50 とりあえず、うちでよくあるのは
・開発環境でDB環境を管理してた人
・運用サポートの担当者
・その辺にいる詳しい人
の3種です。
52 :
46=47 :2006/05/23(火) 11:04:09 ID:???
>>44 便利な関数群を公開しているサイトとかってないのでしょうか。
VARCHARにCSVデータが登録してあるときに、
CSV(項目名, 取得ポイント, デリミッタ) の関数を作成したのですが、
結構他の人でも作っているような気がして・・
CSEのエクスプローラーウィンドウに、javaクラスって書いてありますが これって何でしょうか。
>>53 OTN-JapanのCode Tips見てみたら?
>>50 まあ、金のある会社なら選任のDBAがいて、そいつがDB回りの
パフォチューやるっていうのが一般的だけどな。
O/SはちゃんとO/SのAdmijnがチューニングするべきだろうし。
俺はHP-UX使って、TPC-Cベンチ取ったりしていたから、
>>24 みたいな全般的なチューニング知識を身につけないとならなかった。
57 :
NAME IS NULL :2006/05/24(水) 08:40:17 ID:4HfWoAzt
スナップショット古はUNDO表領域がちっちゃいのでは。おっきくすればよいんでない?
ところで、Oracleのチューニングとかに対して、 ユーザはお金出してくれる? ウチはDBの過去データを削除しない運用で5年間運用してるので どこかのタイミングで再編成やりたいんだけど、 ユーザがお金を出してくれないので工数が出せない。
59 :
NAME IS NULL :2006/05/24(水) 08:49:03 ID:4HfWoAzt
>46 コマンド忘れたけど再生成ってそんなに手間じゃないような。結構すぐ直ったけどなあ。KROWN探したら一発やねんけどな
>>58 チューニングも含めた「運用」でお金貰ってる。普通そうじゃないの?
ちなみにハード障害なんかからの復旧は別料金にできることもあり、これは恵まれてる。
ウチは「運用」はオペレータのベンダとユーザが個別に契約してるから開発にしかお金をもらってない。 何か提案すると、二言目には「オペレータにやらせればいい。」 だから。
運用か開発かどちらに含めるのか最初に決めておかないとね。 ウチは運用で取ってる。 ユーザが要件で言ったDB運用してるとは限らないから。
>>58 「パフォーマンスが悪い」とオペレータの会社からアラートを出して貰うのがベストと思われ
しかも5年でしょサーバの入れ替えを検討すべき時期とも思われる
Oracleにつてはかなりのキャリアがあり 基幹系構築から運用までバリバリやっていける自信はある。 今はSIerのインフラ的仕事。 どこかに転職したいのだが。 NOKK以外どこがあるだろうか。
66 :
NAME IS NULL :2006/05/25(木) 16:03:21 ID:cNox9kHL
ORACLE 9.2.0.7.0 (64Bit Sun SPARC/Solaris 9) を使っています。 以下のような、非常に簡単な SQL でもエラーになるのですが、 原因は何かわかりますでしょうか。 ORA-03113 と drop user 句の関連について調べたのですが これといった関連は見当たりませんでした。 SQL> create user hoge01 identified by hoge01; User created. SQL> drop user hoge01 cascade; drop user hoge01 cascade * ERROR at line 1: ORA-03113: end-of-file on communication channel
その文章の通り、通信エラーで尻切れになったんじゃないの?
ユーザを作ることはできても、削除はダメみたいです。 SQL 直打ちでも Enterprise Manager やサードパーティの ツールを使っても同じでした。
cascade外して見たら?quota指定もしてないみたいだし、その辺が腐ってるとか
cascade を外してもダメでした。Oracle に TAR 投げてきます・・・ありがとうございました。
>>65 Iか。
Solarisしか詳しくないのだけど大丈夫かな。
>>71 まあ、AIX詳しくなくてもなんとかなっぺよ。
AIXなんて所詮腐ったO/Sだし?w
>>72 誤爆か?
Loopback(127.0.0.1)で見ているんだから、当然他から
見たければそのウェブが動いている鯖のIPを変わりに
入力してみろよ?
>>66 取り合えずDBを再起動してみたら?
クリーンシャットダウンできなくて、途中で腐っちまってんじゃない?
76 :
66 :2006/05/26(金) 16:50:21 ID:???
ORA-600 が出ていました orz
>>74 説明不足でしたすみません。
10g XEでインストールしたら管理サーバが8080ポートを127.0.0.1でListenしてしまうです。
よって外から見れないという現象が。
tcp 0 0 localhost.localdom:webcache *:*
localhost:8080じゃだめ?
>>77 取り合えずO/Sぐらい書け。
そしてN/Wの設定も書け。
それとF/Wの設定も書け。
hostsファイルはどうなっている?
全部書いてから質問しろ。
ついでにfqdnもよろしこ。 外からアクセスできると便利だし。
81 :
77 :2006/05/28(日) 00:09:16 ID:???
>>79 すません。
Fedora Core 5
192.168.1.2
F/Wなし
hostデフォルト
SSH接続可
です。
192.168.1.2じゃインターネットから繋がらないからどうなってるか確認できないな。 自分で調べるしか無いね。
83 :
77 :2006/05/28(日) 03:19:13 ID:???
>>82 「外」っていう表現がマズかったみたいです。
すみません。
LAN内でっていう意味です。
ループバックにLISTENしてしまってるんでNICのIPアドレスかもしくは*でLISTENしてくれるようにしたいわけです。
ちなみに死んでもグローバルには出さないと思います。
>>83 XEのApplication Expressにログインして
ホーム>管理>HTTPアクセスの管理
でローカルのみか、リモートクライアントを許可するかを設定できる。
やっとまともな質問が出て来たな。 NAME IS NULL:2006/05/26(金) 01:12:57 ID:??? NAME IS NULL:2006/05/26(金) 22:55:12 ID:??? 77:2006/05/28(日) 00:09:16 ID:??? 77:2006/05/28(日) 03:19:13 ID:??? 質問するスキル上げたほうがいいよ。情報小出し過ぎだ。 よく何逝ってるか理解されないことが多くないか?
86 :
NAME IS NULL :2006/05/29(月) 21:44:58 ID:t7JIiXkt
Oracle10gを使用しています。 SQL文のlock tableなどを使用し、 トランザクションが終わるまで、 他のトランザクションのSELECT文を待たせることは可能でしょうか? 更新系は lock table {テーブル名} in EXCLUSIVE MODE; で待たせられるようですが、selectに関してはロックしないようです。 よろしくお願いします。
87 :
NAME IS NULL :2006/05/29(月) 23:56:42 ID:6g5lFaNJ
>>86 どうしてそんなRDBMSのコンセプトに反するヴァカな設計を
しているんだ?
どうしてもしたかったら、別にステータステーブルみたいな
ものを作って、アプリ側でコントロールすれば?
1. 更新開始と同時にステータステーブルを「更新中」に変更
2. selectは始める前にステータス表を確認して「更新中」ならwait
3. 更新終了後にステータス表を「更新終了」に変更
4. selectはステータステーブルが「更新終了」となっているので
select開始。
>>86 >>87 に同意しつつ、ついでに言うと、待たせられたとしてもSELECT文が再開したからといって、
別トランザクションのDMLの結果が見えるとは限らないよ。SELECTの発行時点か、そのSELECTを
含むトランザクションの開始時のデータが見える。
アクセスやエクセルのロックが大好きなんだろうな。
>どうしてそんなRDBMSのコンセプトに反するヴァカな設計をしているんだ? こっちが聞きたいよ ってノリはよくある
>>86 select * from hoge where foo = '001' for update wait
とかじゃねぇ? ヴァカ設計言う前に答えだしたれや
Oracle初心者なんですが、基本的な事を教えて下さい。 Oracleが多機能ですばらしいのは分かるんですが、 リカバリ機能以外はアプリで十分カバーできそうな範囲です。 実際、全体の設計をする場合はDBの機能を積極的に利用されてるんでしょうか。 あるいは使われない機能が多かったりするのでしょうか?
先日、汎用系の人と雑談してたら、 「汎用系は1トランザクションに何回もコミットするから〜」 みたいなことをぽろっといってたですが、そんなことってありえるんですかね? それで一貫性とか原始性は保てるんですか?
使わない機能がほとんどどころか、まったく使わず、単に既存システムで使ってるから、 という案件も多いよ。で、そういう案件があるから次の案件もOracleになる。はまってるね。 たぶん最初がMySQLなら、それで行ったんだろうなー でもユーザの管理者を教育すること考えると、統一したほうがコストが安いのよ。
>>93 夜間バッチじゃないの?deleteはフラグ立てるだけ、updateはdelete&insertで、
夜中に一気に整合性をとるの。俗に赤黒処理と呼ばれるもの。
同時実行トランザクションは考えなくていい…というか遮断する。
96 :
93 :2006/05/30(火) 23:44:12 ID:???
>>95 あーそうかもしれません。外部からのアクセスをさせなければ何とかなるってことですね。
ちなみにに、途中でDBサーバが落ちたらリカバリしてやりなおすんですかね?
>>91 てかそれだとSELECTする度に行にロックがかかるんじゃ…
>>91 お前、もう一回for updateに関してマニュアル読んで、実際に
それがselect文に対しても効くかどうか試してから吠えろ。
それとupdateが終わるまでselectを待つように設計する事が
如何にRDBMSのコンセプトに反するか、勉強しなおしてこい。
状況を何も知らずに、設計のコンセプトを言ってもな
シリアル処理の設計にこだわるのは汎用機上がりの人が多いよね。 そういった人達がRDBMSの表設計やアプリ設計とかに携わると、滅茶 苦茶な事になる事が多々ある。
RDBMSのコンセプトなんて客の知ったことではない 客がそう望むならそんなことはかまわないのが正しい 趣味でやってるなら話は別だが 仕事ってのはそんなもん
情報工学って後付けの学問だしな。 現場はPGが勝手気ままに組んでるのが現状。
全否定まではしていない 客の希望と技術的に望ましい形と二社択一なら 客の希望を優先するのが仕事
要するに、要件を実装しましょうってこと? なら、当たり前すぎて言うまでもないじゃん('A`)
初歩的な質問で申し訳ないのですが、 インデックスを張ることのコストを計る一般的な方法は無いものでしょうか? コストの内訳は非常に簡単に思いつくもの… CPU負荷やメモリ/ディスク使用量程度で良いのですが。 最終的に張りまくればいいじゃん、と言うことにはならない(...んですよね?多分...)、 と言うための材料にしたいのが目的です。
108 :
NAME IS NULL :2006/05/31(水) 15:30:11 ID:KM6/FDJD
パフォチュー本なりサイトなり見ないと。
desc以外でカラム一覧を取得する方法ないですか? javaからカラム一覧取得したいのですがdescだと上手く処理出来ません。
>>109 select * from user_tab_columns where table_name = 'hoge';
「SELECTに完全に排他ロックをかけろ」と言ってくる「客」なんているか。 自分たちの設計に誤りがある、という土台があって その上に客の要望を実現させようとするから そういう不自然な状態に陥ってしまう、という筋書きだ。
>>105 また随分と卑屈だな。
客の言う事を全部鵜呑みにして実装するのがコンサルなのか?
確かな技術情報に基づいて、駄目な点はきっちり駄目出しして
やるのが「仕事」だろうが?
具体例を挙げてやるよ。
汎用機上がりの人間がDB設計をやると、正規化せずに一つの
表に100カラム以上、しかもVarchar2でSizeが100とか200とか
平気で作って来る事が多々ある。
こんなのでOracle DB設計したってパフォーマンスが出ない
だろうが?
でもお前の言い分だと、客が望むからと、これを実装する事に
なるんだぞ?
>112 客がCOBOLじゃなきゃメンテできないから という理由でそういう仕事をやったことがある PRO-COBOLでI/Oサブ作ってさ 勿論パフォーマンスなんてでるわけないけど 客にはパフォーマンスより大事なものがあることもある もっともそんなのは公務員くらいだろうが
115 :
NAME IS NULL :2006/06/01(木) 00:30:40 ID:0wlqJLWY
今年収330万の営業マン(自動車販売)しゅみhaSQL この前プラチナとった。 そっち系に転職しようと思ったけど、給料ってそんなないのね。。。。月30万は手取り行くのかと思ってた
いまとなっちゃDBちょっと出来ますってぐらいじゃ厳しいんじゃない?
>>115 ゴールド持ちでWEB系、Java、.netがそれなりに書ける業界2年目27才。
正社員で手取り24万+フリーのバイトで50万。
正社員の場合経験無いとこんなものですよ…
資格無し。 Oracle DBに関しては、ベンチマークや実戦でひたすら培ったもの。 日本オラクルからヨーロッパそしてアメリカへ変遷。 手取りは円換算で約50万の34歳(´д`) でもってそろそろ転職したいお年頃。
>>112 設計論はどうでもいいよ。
テーブル定義は重要だけど、しかしながらパーフェクトな定義って見たことないわ
どっかで無茶なSQLを書かなきゃイケなくなる
そこで「テーブル定義が悪いので出来ません」なんて言えないだろ
その機能を実装すると、パフォーマンスが悪いだの問題点を顧客に伝え、(それでも実装する場合もあると思うが)
別案など考えたりして顧客の理想にどれだけ近づけるかがプロの仕事かと思われるんだが
50万も稼げるバイトって何?マグロ漁船?
オラクル資格持ちでも、20万なんて求人見かけるくらいだからなあ。 価値暴落杉。 とにかくオラクルを使ってればいい、パフォーマンスは考えてないって客も居るし、一応パフォーマンス出ませんよって警告だけして了承取れればそのまま放置でいいよ。 パフォーマンス大事って言われたら、再設計を提案すればいいだけの話。 おまいら0と1しか無いデジタルな思考なのか? 客の理想という隠れ蓑にして、自分の理想に誘導したいだけでしょ。仕事はオナヌーじゃないよ。
122 :
NAME IS NULL :2006/06/01(木) 11:44:51 ID:xYtdHWvJ
>>117 正社員ってそんなものしかもらえないのか・・・転職する前にプラチナくらい取ってればましな給料もらえるとおもってたんだけど
無理な話か・・。フリーの仕事しながら経験つんでしかないか!もう今の営業したくないだよな・・ こんな会社就職しなきゃよかった・・
つーか、マトモに頭使って実務一年やってりゃ ゴールドぐらい取れて当たり前だし…
124 :
sage :2006/06/01(木) 23:38:15 ID:PiKfXuvd
>>118 おれもOracle資格なし。
ハイエンドシステム担当だと資格はほとんど問われないな。
一番役に立つのは情報処理試験(今はなんて呼ぶのか)だと思う。
基礎ができる人とは話が通じる。
テクニカルエンジニア(データベース)など馬鹿にしないで一度受験してみると良い。
海外か。うらやましい。
システム構築現場の雰囲気とかみてみたいものだ。
Oracle Masterってほとんど管理系の資格だからな。 OS(Unix+その他)、ミドル、ハードウェアについての知識をもってないと役に立たん。
RMANの restore dataase recover database って、なにをしてるコマンドなんですか? 説明見ると restore リストアします recover リカバーします とかなってて、アホか!と思うんですが。
>>126 restore:バックアップファイルからの復元
recover:アーカイブログからのREDOログ適用
>>126 リストア: バックアップピースから必要に応じてデータファイルを指定デバイスに戻す
リカバリ: アーカイブログをバックアップピースから戻し、データベースを指定時間まで
ロールフォワードする。
アラートログのローテーションの方法として、 cp alert_SID.log alert_SID.log.old cp /dev/null alert_SID.log と mv alert_SID.log alert_SID.log.old cp /dev/null alert_SID.log のどっちがいいと思う?
>>130 mv alert_SID.log alert_SID.log.$(date +%y%m%d)
この一行だけでいい。
/dev/nullから上書きや再作成しなくても、Oracleはalert.log
ファイルが無ければ勝手に作る。
なるほど。
mvしただけじゃファイルハンドル掴んだままだから、ファイル開いてるプログラムを再起動しないとmvしただけじゃそのままログ追記されるよ。
普通こまめに閉じるもんじゃないの? まして、アラートログは出力にムラがあるし。
>>130 アラートログはmvしてもおけ。
そういう意味では
>>131 が正しい。
ただ、mvしたままだと次のイベントがあるまでログが無い状態になるので、
ログ監視してたりするとそっちがエラー起こす可能性がある。
100%を期すならcpでやった方がいいし、99.99%ぐらいでいいなら
mv -> touch を一気にやった方がinode付け替えだけなので早い。
要するにOracleというかデータベースしかできないから、給料安いんだよ。気づけ。 いまどき、マルチリンガルじゃなきゃおしまいだな。
マルチリンガル=複数の言語を話すこと SQLのほかに、Java,C言語,Parl,PHP,VB系 できるがコレじゃダメか(w
鯖のログぐらい読めないと困るから英語ぐらい読めないか? ボラクルRACの価格知ってて、月二十万って賃金はあり得ないと思う。
ノンストップのシステムの仕事やってると普通はこんなの一生見ないだろって いうような障害に3ヶ月に1回くらい出くわすな。 ORACLE MASTERに出てくるような知識だけじゃほんとの運用は務まらん。
>>139 3ヵ月に1回に障害がでるシステムだとノンストップというには辛い
リリース1ものに手を出したりスペック不足とかシステム詰め込みすぎとか
色々危険なことしてんじゃないの?
そんなときはメモリを疑ってみる。マジで壊れてることがある。
いやいやノンストップサーバ導入してれば、障害出ててもノンストップで動き続けるよ。 最低ECCぐらいのメモリは付けようぜ。オラクルに最低でも10万ぐらい出してるんだし、データはもっと価値あるだろ。
143 :
NAME IS NULL :2006/06/05(月) 15:42:42 ID:lw1/eeXi
やっぱハードがたのしいからいいや コンデンサみてると燃えてくるし
PCならコンデンサのふくらみのチェックしたほうがいいよ。
145 :
NAME IS NULL :2006/06/05(月) 16:12:04 ID:7Tf3XqAA
タイラーおいっ!
>>141 Microsoftが正確な事を言ってるか分かりかねないが、
MSの調査によると、ブルースクリーンやハングアップなどの原因は
70%ぐらいはOS側の問題ではなく、メモリの問題によって引き起こされているので、
ECC付きのメモリを使うようにといっている。
>>146 メモリのせいにするなら標準でシステムアプリかインストーラに
MemCheckプログラムくらい付けてくれていても良いのにね
今度ストアドプロシージャとJDBC使って Oracleにアクセスしてデータ抽出するプログラムの開発をするのですが、 テスト用のOracleサーバー環境構築する、フリーのOracleってないっすか? 30日間テスト版では間に合いません。
忘れてました。9iです。
>>148 んっ?
だったら本番環境用のライセンスで開発すればいいじゃん?
開発終了後にテスト環境止めればいいんだし?
もし開発環境をそのまま残したいんだったら、それ様のライセンス
買うしかないんじゃない?
まあ、紳士協定破っても良いというスタンスなら
>>5 に答えがある
けどねw
本家から落としてくると開発用ライセンスとしては無償で使えるね。 バイナリの中身は日本のものと同じだけど。
>>151 レンタルサーバーなんでライセンスは他社のものなんすよ。
しかも、データベースは他のシステムと共有してるので下手なテストはできんし。
漏れは5年間C++やってきてDB開発3ヶ月目だし。
>>154 何か言われたら「U.S.本家から落としたDeveloper Licenseのものです」と
言い張れよ。
漏れは必ずmemtestしてるけど、memtestでエラー出ててもウィンドウズだと問題なく動くことが多い。 店もウィンドウズ前提で売ってるからクレーム付けるのは難しい。
>>147 そんなことしたらメモリが原因でないことがばれて
タゲそらしにならなくなっちゃうじゃん
>>157 みんなにばれたのはおまえの頭の悪さだったね。
>>158 はァ?
Microsoftは70%がメモリが原因といってるらしいんだが
それ本気で信じているのか?
>>159 っていうか、本当とも言えないし嘘とも言えない。
それに、WindowsはECC無しのメモリを搭載したクライアントの方が多く使われてるからね。
大多数のユーザーに触れられる以上、ハングアップなどに
遭遇する人が多くなるから、案外本当だったり。
でも同じハードでリナックスなら安定して動いたりするんだよな
それは妄想。 そもそもリナクスはハードを選ぶし、ドライバのバグも多い。
リナで使えるハードが少ないのは確か てゆうか当たり前 だがハードの選択が正しければちゃんと安定して動く ECCなしでもな
WinでもECCなしで安定して動く。 ただ、まれに起こる不具合の原因は、 メモリとサードパーティのドライバがらみが多い。
ECCなしだから、エラーをスルーして動作し続ける、っていうのもあるわけだがw
まあM$だからって、頭から疑うのはかわいそうだろ みえみえの嘘をつくことがあるのは確かだけど
リナで正しいハードが選ばれてないことは多い訳だが。結果的には信頼性はウィンドウズに劣るよ。 ウィンドウズのドライバの出来と、リナのドライバの出来を比較すると、ウィンドウズのほうがまとも。 メーカに言えば直るし。リナはどうにも成らないことが多い。
>>168 そりゃ選んだ香具師の問題でリナの問題じゃない
ソースあるのになぜ自分で直さないんだ?
↑工数を全く考えないバカ
>>168 仕事でやるならHPとかの対応品を買うだろ。
>>170 こっちはこういう世界
それが嫌なら使ってもらわなくていいよ
>>172 工数のことを彼はいっただけで、ソースを直すのが嫌とは別の話じゃないかな??
>>172 おまいみたいなバランス感覚ないやつが使うもんじゃないだろ、Oracleはw
要するに 他人が書いたプログラムを俺様がタダで使うのは当然だが そのプログラムの不具合を何で俺様がタダで直さなきゃならんのだ! っていいたいんだろ
>>172 そりゃ喪前がリナの世界とOracleの世界は違うってことがわかってないだけ
>>174 だとしたら、おまえは相当バランス悪いってことか。
ソース有っても自分で直す手間考えたらウィンドウズ使うよ。そこまでリナで使いたい訳じゃないし。
そもそもわざわざバグっぽいドライバしかないハード選んだのが間違い
ドライバうんぬんとか、パソコンベースかお遊びで使っているだけだろ
ソラリス使ってる漏れは勝ち組なのか。 やっぱりPCはダメだよな。
お前ら教えてくれ! DBはORACLE9iなんだが・・ function中でユーザーが作ったパブリックシノニムは使えないとかゆう制限あるんだっけ? show errorsの内容は以下の2行が出る。 8/65530 PL/SQL: SQL Statement ignored 12/11 PL/SQL: ORA-00942: 表またはビューが存在しません。 ちなみにパブリックシノニムの元テーブルをもっているユーザーも、 functionを作ろうとしているユーザーもDBA権限を持ってる。 (スキーマ名付けてアクセスしる!とゆうのはおいといて) またfunction中で実行しているselect文を普通に実行すると通るし、エラーになるシノニム のかわりにTABやDUALを指定すればfunctionは当然作成される。
元テーブルに対するSELECT権限オブジェクト権限で明示的に付けてみな。
185 :
183 :2006/06/08(木) 23:25:47 ID:???
>>184 ありがと 明日やってみるよーヽ(○´3`)ノ
186 :
NAME IS NULL :2006/06/09(金) 04:09:11 ID:lcvgK3Wj
Gnomeのメニューにある、データベースの起動という項目はなんのためにあるんですか? 起動できないユーザでログインしている場合に選んでもパスワードを打ち込む画面が出てきません。 コマンドラインから起動すればいいのですが・・・なんのためにあるメニューなのか疑問なのです。 rootなどでログインしているとき専用なのでしょうか?
>>186 Miracle Linuxの話か?
だとしたらスレ違いだと思うが。
漏れのオラクルにはX入ってないしなあ。つーかGUI使ってるってアフォじゃね。 リナ板逝け。
189 :
NAME IS NULL :2006/06/09(金) 12:57:57 ID:jWDV3r3B
>>188 出来ると勘違いしてる奴ってGUI否定するよね。
質問ってこのスレでいい? oracleのsql文で以下のように出力したいと思っています -- id アイディー primary name 名称 user_tab_columnsと、user_col_comments、user_cons_columns、これらのテーブル使えばいい? IDとコメントまでは大丈夫なのですが、primaryの部分はどうすればよいのでしょうか。 他に簡単な方法があるのかな。教えてください。 select rtrim(a.column_name), rtrim( b.comments) from user_tab_columns a , user_col_comments b where a.table_name(+) = b.table_name and a.column_name(+) = b.column_name and a.table_name = 'table1' order by a.column_id
Oracleの場合、GUIツールが心許ないっていう悲しい現実があるからなw
XEをFedoraCore4に入れたのがあるのだが、そっちのGUIのメニューには入ってるな。 データベースの起動は / as sysdba でログオンしてstartupできる権限があればいいから、 rootでなくてもdbaグループに入れれば起動できる。 逆にrootでもdbaグループにいれて無ければ起動できない。
>>190 お前の質問の意味がさっぱり分からん。
なんだよ、そのprimaryっていうのは?
Primary keyの事か?
194 :
190 :2006/06/10(土) 00:34:07 ID:???
>>193 そう。
Primary keyのこと。
Pでもなんでもいいです。
どうすればいいですか?
要は、キーに付いた、コメントとプライマリーを表示させたい、
ってこと。
>>194 参考になるでしょうか?
select t1.column_id, t1.column_name "NAME", t2.position "PK" from
( select ut.table_name, utc.column_name,column_id from user_tables ut, user_tab_columns utc
where utc.table_name='TEST' and ut.table_name = utc.table_name ) t1,
( select uc.table_name, ucc.column_name, ucc.position
from user_constraints uc, user_cons_columns ucc
where uc.constraint_type='P'
and uc.table_name = ucc.table_name
and uc.constraint_name = ucc.constraint_name) t2
where t1.table_name = t2.table_name(+)
and t1.column_name = t2.column_name(+)
order by t1.column_id
>>194 何がしたいのか未だに良く分かんねぇけど、これでいけるんじゃね。
select
a.table_name,
rtrim(a.column_name) column_name,
rtrim( b.comments) comments,
decode(c.constraint_type, 'C', 'Check or Not Null',
'P', 'Primary Key',
'R', 'Foreign Key',
'U', 'Unique')
from
user_tab_columns a ,
user_col_comments b ,
user_constraints c
where
a.table_name(+) = b.table_name and
b.table_name = c.table_name and
a.column_name(+) = b.column_name and
a.table_name = 'HOGE'
order by a.column_id ;
>>196 そんなに分からないか?分からないなら無理に答えなくていいんじゃね?
そのSQLも試してないでしょ。
要は列が主キーに含まれるかどうか知りたいってことで、
USER_CONSTRAINTS と USER_CONS_COLUMNS を組み合わせればいい、
ていう
>>195 のヒントで充分でしょ。
HTML DBって直接的にはどのデーモンがやってるの?
オラクルをcuiで扱えない香具師って居るの?
200 :
190 :2006/06/10(土) 09:27:57 ID:???
>>199 最低でもSQL基礎Iは全員取ってるわけだし、居ないんじゃないのかな。
202 :
NAME IS NULL :2006/06/10(土) 15:17:10 ID:UH3O6QIV
PHPでオラクルにアクセスするのは初めてで判らないことが多いので、 こちらの力をお借りしたいと思います。 PHPを使ってPDO_OCIでカラム名が取得できず、他の方法を探しています。 良い方法はありませんか?
他の方法云々の前に、基本的に使い方を間違っているだけのようで、 ドキュメント読めば解決できる希ガス。
今日図書館逝ったら、オラクルとPHPの本有ったよ。OCIの記述も有った。 買えば? 情報は買うものなのがオラクルの文化だし。
やっぱさ、データベースの文字コードってみんな何使ってる? クライアントがWindowsだから、SJISなのかな??って書いて気づいたけど、 Webアプリだと、EUCとかかな?? Unicode使ってますか?
サーバがWindowsだとSJIS、UnixだとEUC-JP。 コード変換は基本的にNetやミドルウェア、あるいはJDBC任せ。 そういやUnicodeなDBにしたことないなー。使ってもいいと思うんだけどね。
クライアントはWindowsが多いので通常の文字コードはJA16SJISTILDEにしているが、 漢字が混じるフィールドにはNCHAR、NVARCHARでAL16UTF16を使うようにしている。 Java .NETなど内部Unicodeの言語が増えたのでこっちのほうが相性がいい。
文字コード関連で質問いいですか。 XEを入れたんですけど、XEの文字コードってデフォルトが「AL32UTF8」じゃないですか。 で、それを何とかして変更したいんですよ。 どなたか方法、知らんですか? ちなみに以下の方法を試したのですが、怒られました。 ・alter database character set ・新規インスタンス作成→create database DB自体は作成できるみたいなのですが、 テーブルを作成しようとすると「ORA-01653」で怒られた次第です。
リカバリカタログなしでRMANつかう場合って、制御ファイルがdだらリカバリ不能ですか? なんでこんなアホなつくりなんですかね?
>リカバリカタログなしでRMANつかう場合 こういう使い方をしてるほうがあほ
オラクル最高益キター! やっぱり儲かってるねえ。
>>211 制御ファイルは別ディスク上にミラーリングしているのが普通だし?
ウニコードにするとソート結果がシフトジスとちがっちゃったりしません?
そもそもシフトJISのソート結果って意味あるの? あいうえお順でソートできる様にアプリケーション側で作り込みしてないのか?
Oracleのハード構成について質問させてください。 Oracle専用サーバとしてハード構成を行う場合、物理メモリサイズを見積もるには 何か指針のような物があるのでしょうか? HDDなどの構成に関してはOracle社提供の資料など見つかるのですが、 メモリに関しては資料が少ない(無い)ように見えます。 既に搭載されている物理メモリを効率良くチューニングするというのは見つけたのですが、 客に対しての根拠を示すという意味でも何か無いかな?と思いまして。 一応、Oracleの営業と技術に別件で来社してもらったときに雑談レベルで聞いてみたのですが、 回答としては 『積めるだけ積んで下さい』 と言われました。
とりあえず4GB。激しくアクセスするなら8GBってとこかな。
220 :
NAME IS NULL :2006/06/13(火) 23:25:17 ID:4/FusZnA
新しくインストールしたのに ログインできない…orz プロトコル・アダプタ・エラーとかわかんねぇから なんだよ オラクルとかいって
>>217 つ〜か、ブラットフォームぐらい書いてから聞けよ。
話はそれからだ、な?
まあ、結論から言うと「積めだけ積んでください」なんだけどな。
4TBくらいでいいんじゃないか
>>220 それ、Windowsじゃねか?
OracleインスタンスのWindowsサービスはあがってる?
64bit版RH系ディストリビューションで、OracleXE(32bit版しかない)のlistenerをちゃんと起動する方法を誰か考えて!
32bit版RHを使うしか無いと思うが。 あるいは正規ユーザなら、オラクルにサポート頼んで64bit版供給してもらえ。
226 :
NAME IS NULL :2006/06/15(木) 16:34:56 ID:JNAp2ToY
OracleDB(9.2.0.7) の表領域とデータファイルの最大サイズってある? OS は Solaris9 (64Bit)
漏れが稟議のために調べたときは8EBだった。今はシラネ。
データファイルサイズは、4,194,303×DB_BLOCK_SIZE db_filesが1〜200000(全ての表領域の合計)
229 :
NAME IS NULL :2006/06/16(金) 23:41:42 ID:fc9rC8Jb
ORACLEというかSQLとネットワークに詳しい方教えてください。 担当顧客と合意で社内WAN超えのネットワークでC/S型の構築を予定して いるんですが、その上のインフラ管理会社からWAN超えでSQLを流すのは 量の問題でなく、ルータ等のネットワーク機器にパケット滞留をおこし、 多大なレスポンス低下を招くので禁止だ! と言われているんですが、そうなの? そんな環境いくらでも存在すると思うんだけど。。
230 :
NAME IS NULL :2006/06/16(金) 23:48:39 ID:G0re8s8E
アベンドって何よ
>>230 COBOL用語。ABnormalENDの略。
異常終了って事だわな
SQLのクエリがWAN上でやり取りって著しくレスポンス悪くなると思う。 仕様通りに作って、動かしてみた所でダメ出し食らって作り直しに成ると思う。 簡単な動作環境作って実際に使わせてみて承認得たほうがいいよ。 社内WANつーか、レン鯖と社内のDB鯖をどうにか繋げようともがいてるだけじゃネエの? 安く済ませようって無理だよ。そんなに簡単に出来ません。
>>229 >>量の問題でなく、ルータ等のネットワーク機器にパケット滞留をおこし、
>>多大なレスポンス低下を招くので禁止だ!
量の問題でなく、というのが意味不明。
SQL構文のテキストを流すとネットワーク機器に負荷がかかるなんて話
聞いたことねえw
>>232 >>SQLのクエリがWAN上でやり取りって著しくレスポンス悪くなると思う。
なんで?
Selectで必要なデータだけ取れるように気をつけてれば
普通にWebアプリ使ってるのと大差無いと思うが。
別にお勧めはしないけど、否定するほどの事もない。
>>社内WANつーか、レン鯖と社内のDB鯖をどうにか繋げようともがいてるだけじゃネエの?
>>安く済ませようって無理だよ。そんなに簡単に出来ません。
そういう余計な妄想は付け足さない方がいい。
234 :
NAME IS NULL :2006/06/17(土) 10:33:45 ID:1tJAen63
そうなんですか? う〜ん、適用しようとしているパッケージがADO接続のVB⇔oracle なんですが、3M程度のwan環境で特に問題なく動いている実績があるんで すが。(ちなみにNGをくらった管理会社の言い分ではMetafrmaを 適用するならOKだというんですが)
235 :
NAME IS NULL :2006/06/17(土) 12:06:34 ID:1tJAen63
↑すいません(Metaframe:メタフレーム)です。
silverで短期アルバイトで時給がいいところ知りませんか? 深夜のネットワーク監視でいいところだと時給2000円もらえるらしいですが、深夜のDB監視とかないでしょうか? あってもsilverでは時給1000円!?
>>234 管理会社が言いたいのは、
要はMetaFrameとかTerminal Serviceで
サーバ内に閉じた環境で、
SQLを投げて結果セットを利用しろ、
ってことだよね。www
漏れ、xDSLのVPNで観測データのロギング用に
24時間体制で3秒に1回、
数百バイトのINSERT文を投げ続けてるけど、
パケット滞留なんて起きたこと無いなぁ。
# 結果セットのレスポンスタイム云々でなく
# 単純にSQLを投げること自体が
# パケット滞留を招く、って言われたんでしょ?
過去に無知な客が居て
バカでかいデータをクライアントカーソルとかで取得して、
遅い遅いってクレーム付けられたから、
予防線張ってるだけなんじゃ?www
>>236 俺の会社では、深夜のDB監視でアルバイトなんて使わない。
というか、個人情報が多く入ってるDBをアルバイトに監視させられない。(個人情報保護法)
それに、シルバー程度は新入社員が入社2、3ヶ月程度で取得してしまうし、
深夜に何かあっても対応出来ないから任せられない。
それに、深夜にそれこそアルバイトだけ残してってのも個人情報保護法的にもあれだしな。
俺の会社では、社員か契約社員だけ、しかも前提条件でゴールドまたはプレミアムの資格を有し、
実業務を5年以上行った人だけ。
プレミアムってなに?
241 :
NAME IS NULL :2006/06/17(土) 16:32:12 ID:1tJAen63
>>237 名前:NAME IS NULL :2006/06/17(土) 14:44:52 ID:???
管理会社が言いたいのは、
要はMetaFrameとかTerminal Serviceで
サーバ内に閉じた環境で、
SQLを投げて結果セットを利用しろ、
ってことだよね。www
→そのとおりでございます。
漏れ、xDSLのVPNで観測データのロギング用に
24時間体制で3秒に1回、
数百バイトのINSERT文を投げ続けてるけど、
パケット滞留なんて起きたこと無いなぁ。
→そうですよね〜
# 結果セットのレスポンスタイム云々でなく
# 単純にSQLを投げること自体が
# パケット滞留を招く、って言われたんでしょ?
過去に無知な客が居て
バカでかいデータをクライアントカーソルとかで取得して、
遅い遅いってクレーム付けられたから、
予防線張ってるだけなんじゃ?www
→ これも恐らくそうです。
ただ、ショートパケット多発で自分自身が経験あるので言っているんだ
とえらそうでした。古いネットワーク機器でなおかつルータのHOP数
が多かったりすると起きるんですかね?
でもパケットの問題ならSQLだけではないと思うんですが。。
242 :
236 :2006/06/17(土) 22:56:58 ID:???
>>239 どうもありがとうございます。
何か大学生がOracleの経験をつめるようなアルバイトはないでしょうか?
お金と経験、両方得ようなんて虫がよすぎる
専門学校に通って即戦力を養うのが一番だよ。 これだから大卒は。
>>242 自宅サーバ立ててタダクル使ってブログでも組んでみたら?
>>243 実際の業務だったら、まさしくお金貰えて経験得られると思うが?
>>242 大学生の”アルバイト”が経験にはならないよ。
学生時代に大学の研究室でとかアルバイトでやってましたって言っても、
企業としては『あっそう』って感じだし。
経験という意味では会社に就職して積むしかないよ。
ただ、今出来る事はあるわけで、SilverからGoldへ資格をグレードアップさせるとかね。
また、ベンダ試験だけでなく、公的試験として基本情報処理とってソフトウェア開発とって、
さらに、データベーススペシャリストとか取ればいい。
(いきなりDBスペシャリスト挑戦してもいいけどね)
少なくても、資格ってのは、入社するときの面接なりでも有効だし、
入社した後でもかなり有効。
でも実際に設計実装やらせるとイマイチ、な奴ほど 資格とかそういうのを取りたがるわけだが。
248 :
NAME IS NULL :2006/06/18(日) 13:45:27 ID:Fq7JmYVK
>>247 そりゃ、資格と実務はイコールにならないさ。
資格はあくまでも資格取るための勉強な訳だし。
だけど、実務を行うための基本的な”知識”という部分では申し分無いわけで。
逆に実務が出来る奴に限って、基本的な知識が無く、何故そうするのかを分かっていないけど、
実務の経験から行ってる場合が多い。
だから、学生のうちに知識面で資格をとっておいて、実務は仕事に就いてから磨けば、
資格もあって技術もある奴になるだろって事だよ。
オラクルマスター持ってても月収18万で雇おうとする派遣会社がいっぱいだからなあ。価値は無い。 実務経験が重要。 かといって資格無しは、全く相手にされないけどな。
oracleではユーザによる論理的なエラー からのリカバリで、データベース自体を 指定時間前に戻すということが、できますか? 可能でしたら、コマンドによる指定方法をご教示ください。 MSSQLServerですと、バックアップファイル からデータを戻した後、トランザクションログ (oracleでいうとアーカイブログ) によるロールフォーワードを指定時間以降 摘要させないということで実現できます。 例えば、2時間前までのログを適用させないことで 2時間前に戻すことができます。 それと同じような機能のことです。
recover database until time 'YYYY/MM/DD HH24:MI:SS' でよかった気がする。
252 :
NAME IS NULL :2006/06/18(日) 16:04:21 ID:NwLjXHYq
>>251 早速のご回答ありがとうございます。
until timeで調べましたところ、それで可能な様です。
253 :
NAME IS NULL :2006/06/18(日) 17:24:34 ID:T/qZC99y
みなさん、sysdbaとsysoperって使い分けていますか? 俺はsysdaしか使ってません。
使い分けるかどうかはお好みだしなあ。 rootで使い続けるDB屋っておおいよ。
O/S: HP-UX 11.11 H/W: SuperDome Oracle Version: 9.2.0.7 For update nowaitでLock取っているプロセスをalter system kill sessionで 殺したんだけど、Unix processが残ってしまい、pmonもクリアしてくれない。 仕方無いので、Manualでkill -9やったんだが、殺せない。 rootでやっても結果は同じ。 度々こういった事があるんだけど、似た様な経験した人っている? プロダクションだからDBのバウンスは避けたいんだよね。
I/O待ちの状態のプロセスはkill -9 でも殺せない。
カーネルが止めてる状態だからね。 ファイル周りの障害だとシステムが止まる(w
リブートするしかないのでしょうか?
I/Oがいっこうに返ってこないっていうのは、OS側のbugじゃね? async I/O周りがあやしい希ガス。
>>258 以前、似たような状況で3ヶ月ぐらい放置した経験がある。
3ヶ月後の定期メンテでリブート
261 :
255 :2006/06/21(水) 23:42:24 ID:???
>>259 HP-UXのファイルシステムだから、Aync I/Oはサポートしておらんのですよ。
結局マシンリブートかまして解決しました(;´д`)
頻繁に出るならHP-UX捨てるしか無いね。
827 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2006/06/21(水) 20:41:03 どうやらI/Oウェイトがずっと発生していて駄目だったみたい。 マシンリブートかましました(;´д`) 気持ちは痛いほど分かるが、HP-UXスレにもマルチ投稿やめれ patchでasync io有効にならなかったか。
スーパドームで動くlinuxがなかったっけ? 漏れならサンの鯖で置き換えるけど(w Oracle + Solarisがハイエンドは最強。
265 :
255 :2006/06/22(木) 03:30:41 ID:???
>>263 HP-UXのファイルシステムはAsync ioをサポートしていなかったはず。
Raw Deviceならサポートしているけど。
カーネル再構築じゃなかった?
>>66 全く同じ現象だw
ORACLE 9.2.0.7.0 (64Bit PA-RISC/HP-UX11iv1)だけど。
コレのせいで、shutdown immediateもできなかったし orz
9.2.0.7.0は地雷バージョンかも知れんなw
朝鮮日報開いたら、 Query Error SELECT /*+ ordered use_nl(b) */ art_id, art_title, art_date, art_images, art_bulletin, artcode_id, art_content1, art_media FROM (SELECT /*+ index_desc(art_tb art_tb_totlist_idx) */ rownum AS rnum, rowid AS rid FROM art_tb PARTITION(g_article_pt) WHERE art_id > ' ' AND artcode_id LIKE 'g%' AND art_status = 1 AND ROWNUM <= 30) a, art_tb b WHERE rnum > 15 AND a.rid = b.rowid だって。 Oracle使っているのかw
270 :
NAME IS NULL :2006/06/25(日) 22:25:44 ID:tenVeJUJ
オラクル8iなんですが、急にエクスポートが失敗するようになりました。 業務システムはちゃんと動いてるのですが、エクスポートだけが失敗します。 エラーには「表定義を変更したため」と出ていますが心当たりはありません。 このような状況になった方はおられませんか? 接続: Oracle8i Release 8.1.7.0.0 - Production JServer Release 8.1.7.0.0 - Production JA16SJISキャラクタ・セットおよびJA16SJIS NCHARキャラクタ・セットでエクスポートが終了。 指定された表をエクスポートしています... 従来型のパス経由... . 表 XXXXXをエクスポートしています EXP-00056: Oracleエラー 1466が発生しました。 ORA-01466: 表定義が変更されているのでデータを読み込めません。 エクスポートは正常に終了しましたが、警告が発生しました。
>>268 index_descでrownumの順番を決めるというのは普通にやるテクニックなの?
朝鮮日報見るような在日チョンがオラクル使ってるのか。
>>270 exp時にconsitent=yを指定していて、かつオブジェクト作成時の
時間が、何らかの理由によりシステム時間よりも先になってしまって
いる様な場合に発生する言がる。
以下のSQLを発行して、該当オブジェクトを再作成するか、もしくは
consistent=nを指定してexpするかで回避できる。
select
to_char(created,'dd-mm-yyyy hh24:mi:ss') "CREATION TIME",
object_name,
object_type,
object_id
from dba_objects
where created > sysdate;
ちゃんとntpとか使って鯖を管理しているか?
274 :
NAME IS NULL :2006/06/25(日) 23:54:06 ID:tenVeJUJ
>>273 ご指摘ありがとうございます。
時間指定で起動する深夜バッチのテストをしたため、
システム時刻をかなりいじっていました。
それが原因のようですね・・・。
しかもconsitent=yを指定しています。
とりあえず来週客先に行ってシステム時刻を進めて
もう一度実行してみようとおもいます。
「オブジェクト作成時」の時刻とはテーブルが作成された時刻ということですか?
それとも最後にI/Oがあった時刻のことなんでしょうか。
>>210 まさかベータ版じゃないよね?
さっき普通にJA16SJISで新規インスタンス作って、試したみたけど問題なかったよ。
(Windows XP SP2)
この板にもチョンとか言ってる輩がいたとは、どうりで・・・
そういえば、明治学院大学経済学部4年生の池田 果菜子さん(21)を誘拐したのは、横浜市鶴見区在住の韓国籍のチョン男(54)らしいね。
東亜かVIPでやれ
武装誘拐団は、半島籍のチョンと、在日チョンと、チャンコロだったらしいね。
281 :
NAME IS NULL :2006/07/05(水) 10:39:18 ID:z7rzzOCT
RedHatES3にOracle10gをインストールしています うまく動くようになったのですが サーバー起動時に自動的にOracleが立ち上がるようにしたいのですが 参考になるサイトありませんでしょうか? ググッて見たのですがこれだというサイトが見つからなかったもので よろしくお願いいたします
マニュアル嫁。
自分で探せなけりゃオラクルに金出してサポート受けろ。 情報は金出して買うのものなのがオラクルのビジネスモデル。
otn japanのフォーラムに載ってたと思う。Linuxの部屋とか。
ヒント: dbora
マニュアル嫁。 そして、dbstart、dbshutの糞加減に悶絶するw 結論、自分で書け。
>>287 マニュアル読む気にならないよ・・
どこら辺に書いてある?
dbora
いいヒントありがと
有料でおまいの代わりにマヌアル読んで対応してやってもいいよ。 いくら出せる?
付いてくるやつをそのまま使うと、 ・shutdownモードがnormalである(セッションが残っているといつまでも落ちない)。 ・9i以降でサーバパラメータファイルを使っている場合でも、デフォルトで初期化パラメータファイルをみにいく。 という問題があるので、修正するハメになる。 結局、自分で把握して、一から書いた方がいいw
リナックス版だけの話。 ソラリス版では問題無いと言うかマヌアルに書いてある。
292 :
NAME IS NULL :2006/07/09(日) 22:01:07 ID:dnFPtblD
おねがいします。 仕事で久々にOracleを使用することになりました。 $ORACLE_HOME以外の場所に admin/<SID>/pfile admin/<SID>/bdump admin/<SID>/cdump admin/<SID>/udump を配置したいんですが 初期化パラのdump_dest指定でよかったでしたっけ? 環境が手元になく、苦慮してます。。 よろしくお願いします。
293 :
255 :2006/07/09(日) 23:03:53 ID:???
>>292 core_dump_dest
user_dump_dest
background_dump_dest
pfileの場所はpfileの中でifile指定しなおしておけば?
前のハンドルのままで投稿しちまったい・・・(;´д`)
295 :
292 :2006/07/11(火) 04:21:04 ID:Avx+k4RS
>>293 サンクス。
久々だけどがんばってみます。
>>289 30万
シェルできたら ここに書き込んでね
先に振り込んでくれないとうpできねえよ(w
>>297 ばっくれる可能性あるじゃんw
まず書き込んでくれないとね
>>296 単位は?インドネシアルピーじゃあるまいな
ソース公開したらパクられてばっくれる可能性があるから無理。 在日だったりしてウォン払いかもね。
10gで自動セグメント領域管理(ASSM)ってあるじゃん。あれってどうなん? 今開発中のシステムでDB設計してる人が仕事半ばでドロップアウトして いきなり途中からまかせられたんだけど、仮組されているDBは従来通りのフリーリスト管理 なんだよね。なんでASSM使ってないか理由がわからんのだよ・・・もういないし Redhat AS3にOracle10g R1にRAC使用 テーブル150ぐらい。開発パッケージ毎に表領域分けてる テーブルによってはかなりレコード長がでかいのとかあるけど数はすくない ブロックサイズは8k いまは大体のテーブルはpctfree5にpctused40できってる local表領域管理でUNIFORM まだ実データ流し込んでないし、もうちょい時間あるからASSMも検討したいんだけど あんまりその辺の情報がみつからないんだよねぇ。マニュアルじゃパフォーマンスは いいってあるんだけどね…
>>301 更新頻度がどの程度かも書け。
頻度による。
pctfree5でないテーブルに注目かな。
まあ、前任者が高スキルの奴ならだけど。
あまり深読みしすぎるのもいかんか、、、。
>>302 すまん
更新頻度はテーブルによるけど多いテーブルで3000件/日ぐらいかな
社内の支援システムだからエンドユーザーは300人ぐらいかな
単一行検索よりは複数検索&更新が多い
pctfreeだけど、もしかしたら全部5だったかもしれない
カラム数が異様に多いテーブルが3、4個あるんだけどたぶんパラメータは一律だった希ガス
使うかどうかの判断は難しいけどね。 色々問題もあったと思うが・・ 標準でSYSTEM表に採用されたら、OKということだ。 10gR1はどうなんだっけ? Oracleの新機能は、そうやって判断すべし。
305 :
301 :2006/07/14(金) 01:43:25 ID:???
>>304 system表に採用ってどういう意味?デフォルトにってことかな?
R1はASSMはマニュアルで使用は推奨されてるがデフォルトにはなってないな、たしか
色々問題、ってところが結構しりたいんだよね
判断基準になる指針があると検討しやすいんだけど、マニュアルの説明は
は抽象的すぎてかえって悩みの種だ…
ASSMがSYSTEM表のデフォルトになったらOKなんじゃね? 色々問題?Oracleの新機能! が自社製品のデフォルトになってない事の意味を考えるべし。 つか、こんなところで聞くより ORACLEのナレッジみたら良いと思うよ。
307 :
301 :2006/07/14(金) 02:06:32 ID:???
>>306 > ASSMがSYSTEM表のデフォルトになったらOKなんじゃね?
ああ、なるほど。そういうことか
> 色々問題?Oracleの新機能!
> が自社製品のデフォルトになってない事の意味を考えるべし。
まあね、それはうすうす思ってはいたんだけどね。
とにかく駆け出しの俺には不安で不安でナマの声が聞いてみたかったのです、スマソ
実際にASSMでベンチ取った俺が来ましたよ('A`) 悪いことは言わんからRACなら迷わずASSM使え。 フリーリスト及びフリーリストグループ管理は、明示的に前もって ExtentをAllocateしておかないと、意味が無い。 前もってAllocateしていないと、フリーリストグループが使われずに、 セグメントヘッダー内にあるスーパーマスターフリーリストでコン テンションが起きることになる。 ASSMではこの問題が起きない。
Redhat AS3なんかでRACは使いたくないなあ。 Solarisのほうがいいけど、前任者の判断ミスは今更修正不能だな。 次システム更新まで必死にがんばれ。
10gのASM以前に今どき、空きリストとか自前で管理してるのかよ・・・・・ 下手な管理より、自動セグメント管理だっけ名前忘れたけど、それ使えよ。 自前で管理することによってパフォが30%アップとかだったらわかるけどよ、 スズメの涙のパフォアップのために自前で管理してオナニーするんじゃねぇよ。 それこそ無駄なんだよ。おまえがDBを一生面倒見るわけじゃないんだから、 後任者の事も考えて余計なことはするな。5%アップとかのために、ごりごりチューンして 複雑にしちゃう自称マスターが多くて困るわ。ほんと
311 :
301 :2006/07/14(金) 12:34:17 ID:RFRG+NC7
みなさん、叱咤激励ありがとう 必死で勉強しつつ目の前の目標を1個ずつクリアしてますが 駆け出しの俺にはそろそろアップアップになってきましたよ・・・ いきなり一人ぼっちでちょっと寂しかったですけど いろいろ意見を書いていただいてちょっとうれしかったです とりあえず前任者の遺産はASSMを使う方向で検討します どのみち表領域のサイズも微妙なのがあるし切りなおさないと ダメポな感じだったし・・・がんばるしかないか
>>311 データファイルは何に格納するの? OCFS? ASM?まさかRawって事はないよね?
>>313 ASSM(自動セグメント領域管理)とASM(自動ストレージ管理)とは全く別物。
聞きたいのはRACのデータファイルを格納する事になるデバイスタイプの方ね。
>>314 ごめん、自動セグメント領域管理をASSMって書くのしらなかった。
ASMのタイプミスかと。
いまさらRedHatAS3ってのもないと思うけどなぁ。 AS3からAS4って無料アップグレードできるんじゃなかったっけ?
リナクス使ってる所ってほぼ貧乏だよね。
かと言ってWindowsやSunを使ってる所は金持ちでもない。
貧乏云々つうか、linux2.4のパフォーマンスは糞過ぎだろ。 特にOracleのようなアプリの場合には。
>>319 頭が悪いから適当な批判しか出来ないんですね。
linux2.4を他のどのOSに当てはめても通用しそう
322 :
NAME IS NULL :2006/07/19(水) 09:27:43 ID:JYKEPZft
結局、人に金払うか、自分の会社で費用をかぶるかの違いだろ? オプソ使うってのは。 その費用が担当の給与になれば良いけど、限りなくそれは無いわけで。
Pen4でリナックス使ってる所に比べれば、アイタニウムでウィンドウズ使ってる所のほうがお金持ち。 サンもローエンド使ってるなら貧乏でハイエンドならお金持ちだよ。 リナックスでハイエンドって見かけないね。一応S390とかリナクスでも動くけど皆無。
324 :
NAME IS NULL :2006/07/19(水) 12:57:16 ID:38BSSTbY
>>323 ハイエンドにする金があるなら、OSにも金かけるよ。
そういう金をかけられるプロジェクトで、リスクを犯す馬鹿は居ない。
たしかに、 Itaniumマシン+Windows/Linux+Oracleってありえない組み合わせだよなw
SPARCマシン+Solaris+Oracleがハイエンド。
PA-RISCマシン+HP-UX+Oracleは?
>>326 おれはもっぱら326の構成ひとすじ。
しかし、この構成のマーケットは年々縮小しているという罠。
>>325 会社としてその構成の提案を求められるんだよねー。
実際に携わりたくないけど。
>>327 HPはPA-RISCよりもItaniumへの道へと踏み出してしまった。
今度うちはMontecito積んだスパドムだよ・・・。
OracleだけならItaniumでもいいんじゃない? Itanium上で内製アプリ抱え込むと死ぬかもしレンガ。
EM64Tはなんちゃって64ビットだけど、IA64とsparc64は本当に64ビットだよ。
>>331 またでたか。
何が違うのか説明できないバカだろ?
なぜかわからんがDBキャラクタセットにUTF8が使われていて、 格納されている文字データは日本語(漢字、半角カナなど)しかない「はず」の既存DBを SJISのDBに移行できるか確認するにはどうすりゃいいかな? exp/impのときにコード変換はしてくれるけど SJISで表現できない文字があった場合は ? に置き換わってしまうはず。 移行後に全テーブルの全ての文字型列を like '%?%' をやると 文字化けかもしれない箇所を抽出できるけどちょっと原始的すぎるよね? おまけに ? が入ってたらこの方法では無理だし。。。
文字セット変換できるか調べるなんとかscannerってOracle製のツールあったような。
>>334 CSSCAN だね、あとはググると使い方くらいわかる
これは、移行元でやることで移行先ではわかんないな
# あと質問には移行元、移行先のバージョンくらい書く!
質問です。どなたかお教え願います。 OSession一つから複数のSQLを実行し、 実行したそれぞれのSQLに対して カーソルのODynasetを複数保持することはできますか?
>>333 こんなんでどう? (以降前のUTF8のDB上で動かすことを想定)
select pkey_col, varchar2_col from tbl
where varchar2_col <> convert(convert(varchar2_col, 'JA16SJIS'), 'UTF8', 'JA16SJIS')
ヒント句のfirst_rowって実際のシステムでどういう場面で使うのですか? JavaとかからSQL呼び出した場合、結局SQLの結果全件取得してから 次の処理に進むので、1件目が早く返ってきてもしかたないと思うのですが?
> 結局SQLの結果全件取得してから次の処理に進むので、 これ、ほんとか?
池沼は無視。
クエリを全部取得しないと言語が何であれプログラムの次のステップには進めないよね。 クエリが大漁だとメモリ確保に失敗してエラーになったりするし、クエリの投げ方と扱い方は肝。 もう32ビットって古いよね。16ビットなんて使ってる香具師は皆無だし。 時代は64ビットだよ。AMD64とIA64が最強。
普通は表示の際にソートかけて項目(カラム)ごとに切り替えられる様にするから。 最初の5件だけじゃソート出来ないよ。
>>344 ソートする時にFirst_Rowsにしておけば、CBOに対して明示的に
索引を使うように出来るじゃん?
たぶん、クエリ実行処理は非同期で行われて、 フェッチ処理はフェッチ件数分の対象レコードがたまったら、 即処理を返すとかいう作りになっているとか。 いや全くの推測でスマン。
>>338 通常のWebアプリだと、基本はトランザクションをページ間で持ち越さないから、
First_Rowはあんま使う機会ないかもしれんけど、
クライアントサーバーシーステムだと、First_Rowを使う機会は出てくる。
>>338 の続き
クラサバにおけるグリッドを用いた表示なんかでも、グリッドを埋めるのに最低限必要な件数だけ
フェッチして、そこで表示。それから、ユーザーによるグリッドスクロール時に続きをフェッチって感じ。
もちろん、全件フェッチしてから、グリッドに表示なんて作りのアプリもあるけど、もちろんその場合は
件数多いいと中々画面に表示されずユーザーいらいらなんてことも。
おまえらOracleしかやってねぇから、システム開発におけるつながりってもんが見えてねぇんだよ。
しっかりしろよ。
>>348 の続き
>>338 の続き ->
>>347 の続き
だよ。間違えたじゃねぇか。こんちきしょう。
Oracleのことしかしらねぇから、First_Rowの機能の内容だけで、
それがどう使われるかわからねぇんだよ。
こんちきしょう。
>>348 質問の前提から間違っている質問に色々言っても
蛇足とは思わなかったのか?
項目ごとにソート変更のボタンが押されたら再フェッチでオラクル鯖に負荷かけるの? アプリケーション鯖を分散させて処理させたほうがコストも安く出来てレスポンスもいいよ。
353 :
347 :2006/07/27(木) 00:34:43 ID:???
>>350 質問の前提から間違ってるって??
俺はそうは思わんが。Java使ってるってことで勝手にWebアプリを想定したけど、
Webアプリ作ったことあれば、前にも述べたがページ間でトランザクションを持ち越すのは普通
やらないので、1件目が早く返ってきても全件読んだりするので、First_Rows意味がないのに気付くはず。
まぁ、もちろん、作る画面にもよるが。
後、ついでに
>>341 >クエリを全部取得しないと言語が何であれプログラムの次のステップには進めないよね。
これの意味を正確に把握しかねるが、今時のデータベース、クエリの結果を全部所得しないと進めない
データベースってあるのか??
IA64は落ち目w っつうか絶頂期すら来なかったわけだがw
>>353 言いたいことはよくわかる。
ヨコから割り込んで申し訳ないが、
ページ間でトランザクションを持ち越さないって事は
「次へ」ボタンをクリックすると
同じクエリをもう一度実行するのか?
20件ごとに表示する仕様だったら、上位20件をスキップするとか。
参考までに教えてくれ。
356 :
347 :2006/07/27(木) 00:55:38 ID:???
>>355 そこは、データの件数やら、サーバーの能力と相談でいちがいには言えん。
例えば、データ件数が多くないのなら、一度に全件フェッチして、Webアプリ側のメモリに溜め込み、
「次へ」ボタンが押されたら、次のページに相当するレコードを溜め込んだメモリから引っ張ってきて表示。
この場合、まさしくFirst_Rowsが無意味。
他に、データ件数が多く、Webサーバー側のメモリが逼迫するなら、最初の検索で検索範囲に該当する
レコードのキーだけメモリに溜め込んで、「次へ」ボタン押されたら、後はそのキーを元に必要最低限のSQLを発行するとか。
この場合もFirst_Rowsが無意味。
まぁ、いろいろ実装方法もあるので、そこらへんは用件次第で何がいいかは変わる。
357 :
347 :2006/07/27(木) 01:01:30 ID:???
>>355 の続き
ちなみに、データベースサーバーがすごくて、Webサーバーが貧弱なら、
君の言う、同じクエリをもう一度発行した方がよい場合もあるかもしれん。
何度も書いたがこれは用件やらと相談して決まるので。あしからず。
358 :
347 :2006/07/27(木) 01:05:15 ID:???
で、しつこいが、
>>356 の
>例えば、データ件数が多くないのなら、一度に全件フェッチして、Webアプリ側のメモリに溜め込み
の方法が一番オーソドックスなわけで、それで
>>338 がFirst_Rows意味じゃないじゃんと
思うのは自然の流れだと思う。
新しいイタニウム来るし、これからは64ビットだからIA64もチャンスはあるでしょ。 今32ビットだが、16ビットアプリなんて無いし。 64ビットアプリが当たり前になれば、自然に64ビット拡張も含めて32ビットCPUは消えていくよ。 上位20件の表示方法なんて、表示されたあとで並べ替えさせられることが良くある。 価格比較サイトなら、価格で上位20件のクエリを投げても、ポイントとか色とかオプションとかおまけでもソートされる。 利用者が1クリックですばやく欲しい情報にたどり着くために表示方法を切り替えるたびにクエリ投げてたらデータベース鯖にかなりの負荷がかかるしコストも莫大になるよ。 オラクルRAC組むよりJavaのアプリケーション鯖を複数配置して負荷分散したほうが遥かに安い。
>>353 バッチ処理だとパイプライン処理できるし、
Web系でも作り次第だけど適宜出力してフラッシュする作りなら
APサーバから出力されてブラウザに届いたものから
レンダリングされるから完全に無意味でもないだろう
しかし
>>338 の脳みそは
>>341 と同一か同じ思考で
ほぼシングルスレッド、それさえわかれば自分の間違いに気付く
それより、グリッドコントロールを使ったソフトも知らない奴がいるのかよ?
CSEやオブジェクトブラウザくらいは触っていれば動きくらいわかるだろ。
なんか恐ろしい人間がプログラミングしてんだな
噛み合ってない議論は2chらしくておもしろい
SQLDeveloperでもそうだよな。
364 :
NAME IS NULL :2006/07/27(木) 21:30:46 ID:rt9cFw83
>>347 >>356 しつこい質問で申し訳ないが、Webサーバのメモリに保持って事は
複数台の場合はどうなるんだ?
負荷分散していて同じ毎度Webサーバに振られるならいいと思うが。
まあ、セッションの一意性は確保していなくてはいかんが。
そのへん素人なもんで教えてくれ。
>>364 ( ・∀・)つステートフルセッションビーンズ
>>356 366
お前ら優しいな。
ありがとな。
全APサーバで複製をもつのやファイルやDBでの共有化も大変だから、
負荷分散装置+セッションデータの保持が一般的なのかな。
以前、非常に重い検索SQLを上位20件表示して「次へ」をおすと
同じSQLで20件読み飛ばすという実装を「普通こうする」と抜かしていた
ヤツがいたな。
結局DBチューニングでヒント句をガチガチに使用して何とかしたが。
思い出すだけで腹が立つ。ヘボすぎ。
オラクル廚ってまともなプログラミング出来ずにオラクル鯖に負荷かけまくりのアフォが多いですね。 出来損ないの糞プログラマの腕を金で解決?
>>368 オラクルを扱わせてもらえないプログラマなの?
偉いね。
370 :
367 :2006/07/28(金) 01:23:25 ID:???
>>368 ちなみに、CPUも追加したよ。
ハイエンドUNIXサーバだからライセンスやらSE作業費やらでで5百万円弱
アプリ直す方が安いっちゅうの。
>>368 糞プログラマはどんなDBMS使っても糞コード書くから心配すんな。
>>363 その辺の国は一流大出のエリートがITやってんだよね?
でも既製のDBやらOSやら使ってシステム組むのに、
そんな人材使うのは国として無駄遣いのような気がする。
373 :
NAME IS NULL :2006/07/28(金) 09:09:08 ID:TvadKuKf
>>371 才能だよね。
どんな簡単な処理でも複雑怪奇にしてしまう。
しかも何故だかある程度動いてしまうから発覚が遅れて、作り直すにもどうしようって場面で発覚する。
データベース扱うプログラマって免許制にすればいいのにな。 情報処理試験かオラクルマスターでも持ってないと仕事出来ない様にすればいいのに。
センスの問題だからな。
>>367 クライアント数が限られるイントラWEBや小規模サイトなら別だが、
大規模サイトの場合は、n件ごとのページ制御自体したくない。
索引順の問い合わせなら、セッションに結果セットを持つより、
索引キーのFromTo または From Top n件の問い合わせなら、
毎回DBに問い合わせたほうが全体の負荷は小さい。
DBかセッションかユーザーの使い勝手か、結局どこに負担をかけるかの問題なんだけどね。
結局、オラクルが高すぎるのが原因なんだろ?
ウェブアプリケーションプログラマがクズなのが全ての元凶。 ゲームプログラマ並みにスキル低いし。
自称Webプログラマにオラクル=基地外に刃物 ・・・ 後続の火消しの増援部隊に死傷者多数の展開多いなw
380 :
NAME IS NULL :2006/07/28(金) 17:25:58 ID:9FTz5tKo
すみません質問です。 listener.logにたまに書き込まれる 「service_update * [SID] * 0」 ってナニモノですか?
>>380 動的構成のエントリが更新されているログでないか?
>>380 ヒント: 初期化パラメータLOCAL_LISTENER
なぜOracleと分かる?ネットクラフト?
Solaris+Oracle9iだな。
>>384 住基ネットのDBはOracleが取ったからさ。
>>386 d。よく考えたらネットクラフトはweb serverとOSの種類位しか分からなかった。
dropした業者もサイテー。
388 :
NAME IS NULL :2006/08/04(金) 19:23:07 ID:sevpjIWX
オラクルマスター(GOLD以上)のエンジニアを募集していますが、 高給でも、まったく応募がありません。 GOLD以上の資格保有者は少ないのでしょうか?
いくらくらいよ
>>388 Oracle 7の時代から触っていますが、何の資格も持っていません('A`)ノシ
全て実戦で鍛え上げたスキルのみで渡米し、ひたすらOracleで飯食ってます。
>390 渡米!! 日本時代からkwsk
わたりごめ?
試験と実戦は近くて異質なるものだし。 (新プラチナを除く)
訓練は実戦のつもりで、実戦は訓練のつもりでやれ。
395 :
NAME IS NULL :2006/08/05(土) 08:51:16 ID:J1kDTyby
資格もってなくても優秀な人たくさん知ってるけど、ユーザが納得しないんだってな。 バカのひとつ覚えみたいに「オラクルマスターのゴールドを呼べ!」みたいな。
でかいシステムは資格だけでは絶対に無理。 経験第一。 最初は旧プラチナ資格もあり自信もあったが、 初めてのデカイDBを担当をした際に いきなりORA-1555の洗礼を受けてオロオロした。
Unixについて全くの素人だったとしたら、実戦経験がないと判断してよい。
>>396 オロオロしてもいいんじゃない
たしか、スナップショットが古すぎます...って感じのエラーじゃなかったっけ?
そしたらUNDO関係のパラメータの時間を延ばす。って感じだったと
実際Platinumの試験もマニュアルを見ながらなんだし
そんなに毎日起こるエラーじゃなければ
調べれば分かるって、知識レベルがあれば良いんじゃない
600や7445でなきゃ基本的に何とかなると思ってるのは間違い?
>>398 旧プラチナというから、
>>396 はUndoというよりはむしろ
ロールバックセグメントの時代の人間とおもわれたし。
>>398 いい訳ないだろうが
金もらって仕事してるんだぞ。遊びでやってるんじゃない
ORA-1555のようなメジャーなエラーでオロオロしてるようなDBAじゃヤバイ
調べりゃわかるでもいいが、あの膨大な情報の中から、確実な情報を取捨選択して
迅速に問題を解決する必要がある。そのためには、結局、経験の積み重ねが必要
チンタラチンタラしてたらクビになるぞ
>>398 確かに間違えられないからマニュアルみて「確認」したりするけど
調べればわかるってグループ企業のユルさが漂ってる感じがするなー
ORA-600ならば理解できるけど ORA-1555に付ける内容ではないよ
403 :
NAME IS NULL :2006/08/05(土) 15:08:35 ID:J1kDTyby
>Unixについて全くの素人だったとしたら、実戦経験がないと判断してよい。 Windows ServerでOracleを運用してる会社は少ないということでしょうか? ところで、Oracle10gの30日間体験版(Windows)は、インストールして数ヶ月 経過しても、問題なく使えています。もしかして期限ないのでは?
>>403 だから、FAQだってそれ、期限制限はないよ。
使用者の良心で判断してくれということ
>>402 「調べりゃわかる」ってそのレベルの意味合いで言ってるんだと
っていうか、ORA-1555を頻発して経験してるんでって方がヤバイと
体験版を仕事で使い出すアフォが大量発生するね。 オラクルマスター(GOLD以上)のエンジニアの募集の高給って月額20万とかじゃね? 後は知名度が低過ぎるか、10人以下の零細とか、偽装派遣とか。
>>402 だから、みんな彼は「はじめての大規模」っていってんじゃん。
大規模DBの基準って何ですか?
>>408 自分がこれちょう大規模と思えばそれでよし
>>407 いくらなんでも、限度というがあるだろ…
その状況下でプログラマにプラチナホルダーというのがバレていたら
恥ずかしすぎて間違いなく穴を探したくなるなw
2チャンネルで言うだけなら簡単だ罠
>>410 まぁ、そりゃ限度あると思うけど、Oracleの知識と大規模システムからくるプレッシャーとは別問題だわな。
友達の前で何かできてもとテレビカメラの前で同じことができるとは限らん。
>>413 後ろに立たれて作業すると緊張して良くタイプミスする。
でも、同じスキルレベルのプラチナホルダからスタートして
>>396 の状況をまずい!と思うのと
いいんじゃない?と思うのでは
その後、全然違う道になるのは間違いないだろうな。
415 :
396 :2006/08/05(土) 22:18:28 ID:???
いろいろ意見があるようだが、 ORA-1555の解決に rbsを増やすとか、明示的にデカイのを割り当てるとか 9i以降でundoを使用していたらundo_retentionを増やすとか それだけをやっていたらいいと思うのはアマちゃんだな。 その場しのぎの解決と根本解決は違うのだ。 しかも、業務影響を出してはいかん。 それを解決するのは知識+経験なのだなとそのとき思った。
>それを解決するのは知識+経験なのだなとそのとき思った。 新鮮味はないが妥当な結論だな。 ORA-1555が出るような状況がシステムとして妥当かどうかをまず判定しなきゃいかんわけで、 たいていの場合はヘボいプログラムが無駄にトランザクションを開いたままにしてるとかそんなレベルの話。 その辺を調べないで単純にキャパを増やすのはただの対処療法。
単純にオラクル観点で見ればORA-1555なんざ さほど大騒ぎするような話ではないはずだけどね。
>ORA-1555が出るような状況がシステムとして妥当かどうかをまず判定しなきゃいかんわけで、 >たいていの場合はヘボいプログラムが無駄にトランザクションを開いたままにしてるとかそんなレベルの話。 >その辺を調べないで単純にキャパを増やすのはただの対処療法。 本番障害とかに実際に携わったことある? 実際にシステム障害が起こった場合は、まず1秒でも早くシステム復旧をさせなければならない訳で、 そういった際にはまずは脳みそなんか使わずにキャパを増やす対処療法が正解だと思うんだけど。 プログラムを解析するなんてその後にじっくり時間をかけてやる話であって。
>>417 >>421 両者正しいと思う。
対処療法がきかん時もあるしそのときは417の対処だな。
対処療法はいつまでわからんのでいわゆる恒久対処をどうするかだ。
417の事象の時は、rbs(もしくはundo)領域の追加はいくら追加しても
きりがないからな。
>>421 俺もそう思う。
>>415 や417は
そういうシビアな用件のシステムに触ったことがないことが推測される。
システムの用途にもよるのでケースバイケース
とりあえずは対処法で逃げて、じっくり解析して本対策実施だよね。 プロファイルとかダンプしとかないと対策も建てられないけど。
426 :
NAME IS NULL :2006/08/07(月) 12:55:32 ID:SXDaAl8D
教えてください。 スキーマAとスキーマB、スキーマCがあり、各スキーマにはTBL_1という名前の表があります。 また、TBL_1を参照/更新するプロシージャXをスキーマAに作成しました。 このスキーマA上のプロシージャXをスキーマBから呼び出した場合はスキーマBのTBL_1、 スキーマCから呼び出した場合はスキーマCのTBL_1という風に、呼び出し元のスキーマ内 の情報を参照/更新するようにする方法はないでしょうか。 なお、OSとDBは以下です。 OS : HP-UX 11i DB : Oracle 10gR2 Enterprise Edition よろしくお願いいたします。
オラクルマスターGOLDの問題より難しいかも?
質問です。 Linuxで10gをインスートルしたのですが、EMのボタンの文字が化けてしまいます。 (ブラウザを英語モードで動かすとボタンの文字は正常に英語で出ます) Xの日本語フォントが無くてLANG=Cでインストールしたのが悪いのかな?
>>426 どっちかって言うと、Oracle9i PL/SQLプログラミングの黒本
「第4章サブプログラムに関する権限」あたりを読めば出来そうな気がする
431 :
430 :2006/08/07(月) 21:12:28 ID:???
> Xの日本語フォントが無くてLANG=Cでインストールしたのが悪いのかな? フォントがないだけか。なんだ。
>>428 たぶん、OUIの途中のProduct LanguageでJapaneseを加えなかったから。
11gの話をもうすぐ始めるとか言われてるけど何が変わるんだろ
名前11gになったの?
>>428 俺も同じ問題を抱えていたのだけど、結局わからなかった。
仕方ないから、LANG=日本語で、文字が読めない状態でインストール。
EMのボタンが日本語で表示できるようになった。
11gじゃくて、12 Fusionだったかと・・・。
すみませんXEの話はこちらでよござんしょか…… Windows版XE Univ(リリース10.2.0.1.0)をインスコしたのですが ウリ? のWebブラウザからの操作ができませんorz インスコしてスタートメニューに入るショートカットから起動しようとしてもサーバが見つからんと言われるだけ。 netstat -aしてみると確かに8080でlistenしてるものがないのですが、これはそういうものなのでしょうか? 1521の待ちはちゃんとあって、sqlplusでは確かに繋げるのですが…… 折角なのでWebブラウザからいじってみたいのですが、どなたかアドバイスいただけませんでしょうか?
>>438 XEでDatabase Consoleインストールされたっけ??
1度しかインスコしたことないから知らん。調べてくれ。
>>438 dbconsoleが起動してないんちゃう?
linux版しか使ったこと無いけど
↓こんな感じで起動できたはず
emctl start dbconsole
あとポートが8080でしたっけ?デフォルトは5500くらいだったような
使いたいならチョットは調べた方が...
何となく EM じゃなくて iSQL*Plus の方じゃないかという気がするけど
XEにはEM付いてないよ APEXっていう超シンプルなWeb版管理ツール付いてるだけ
なんか日本語が変だな。最近話題の在日ですか? 特に理由がない限り、英語環境でインスコして運用するのが基本。 下手に日本語環境でインスコすると日本人しか嵌らないような罠に遭遇して困るだけ。 亜米利加に居るエンジニアが再現出来るような環境で使うのって結構重要。
↑↑↑ なんか変なこと言ってますが
在日が釣れました。チョン氏ね!
446 :
438 :2006/08/10(木) 00:46:49 ID:???
>439-440 いやDatabase Consoleなんて高級品? のことではございませんで、 >442 そのapexの話なのです。 「あんなん動かして何が面白いの? 」と言われると返す言葉もないですが みんな動いてるみたいなのに動かないってしゃくですし(ぉぃ) それはともかく、JDBCで繋ごうとしても「XE? んなSIDねーぞ」と怒られるし sqlplusでも SYSTEMでなくSYSTEM@XE とやると同様に怒られるので(ORA-12514) apexが動かない体たらくとい、ひょっとして何かインスコでミスったとか そういうアフォなレベルのことをやってるんじゃないかと思いまして。
>>446 それ以前に接続確認もできないレベルなのか・・・
HP-UX 11i(Itanium),10gR2,ストレージはSAN ServiceGuard(SGeRAC)無し,ASM無しで2node RACを組むことができますか? Oracle Clusterwareだけではディスク共有ができない気がしているのですが、正しいですか?
>>448 MC/Service Guardをインスコして無かったら、RAWデバイスをvgchange -a sで
共有化モードでアクティベート出来ない訳だから、無理だろうね。
出来るのはVeritas Cluster File Systemsで組む事だろうな。
451 :
255 :2006/08/11(金) 02:33:53 ID:???
HPからパッチが出ましたキタ━━━━(゚∀゚)━━━━ッ!! (死語) ARPA patch PHNE_34135をインスコだってさ。
やっぱHP-UXかよw
質問です。 ソフト開発の関連でOracleを初めて使っています。 Oracle9iのトライアル版を使用していますが、ODBCを Updateする必要が出てきて、ドライバ自体は入手したのですが、 InstallerのVerが古いため、インストール不可となって しまいます。 UniversalInstallerのVer2.3以降は入手可能なんでしょうか?
HP-UXってゴミだからなあ。 DB2 for AIXもゴミだった。
>>455 そういう御前は何を使っているの?
まさかSolarisマンセーとか言わないでくれよ。
Winしか使ったことないんだろ
というかUnix版OracleとWin版Oracleってそこまで違うの?? 何が違うか教えてよ。
>>458 Oracle云々というより、鯖として窓を選んでいる時点で終わっている
という事なんだよ。
Windows版の特徴はバックグランドプロセスがスレッドを使って単一のアドレス空間にマップされてること。 これの長所としてはSGAなどの共有メモリ(実際は同じアドレス空間に存在する)へのアクセスが高速なこと。 短所としては同じ32bitのメモリ空間を持つCPUの場合、windows版の方が先にボトルネックに到達してしまうこと。
製品カタログに載ってるようなことじゃなくて、ノウハウみたいなことだよ。 あまりないなら、 Windows版Oracleしか触ったことないOracle使いはUnix版Oracle使いと あまりOracleに関して技術的な差はないってことでいいかな??
悪・即・斬
462は、WinのOracleは実はCygwinで動いているとかいうと信用してしまうタイプだね
465 :
NAME IS NULL :2006/08/13(日) 20:07:46 ID:c2+SjH7i
>>464 それは、GBAの中にパソコンが入っていてエミュレータが動いてるということですか?
SQL Server の経験はあるのですが、Oracle に初めて挑戦しています。 SQL*Plus から UPDATE 文を発行すると、そこで処理がかたまってしまいます。 UPDATE TABLE_NAME SET FILED = 'VALUE' WHERE WH_FIELD = 'VALUE' とこんな感じの単純な SQL です。 既存レコードへの UPDATE だと固まりますが、存在しないレコードへの UPDATE の場合 「0行が更新されました。」と即座に応答があります。 UPDATE を発行して固まってしまう原因がわからないのですが、 何か必要な手順、調べるポイントがあればアドバイスを頂けないでしょうか? よろしくお願いします。
>>466 とりあえず alert ログを見るといいのではないかな。
>>466 他のセッションでUPDATEしたままコミットしてないとか。
UNDOTBS1、TEMPって何で溜まる一方なの? 必要なくなったら、消えていいデータなのでは? 教えて天才たち!
どれくらい待ってみた? 何を見て消えてないといってる?
>>470 Oracle Enterprize Manager Consoleの表領域使用量を見て。
UNDOTBS1、TEMPが増える一方で、減ってるように見えないんです(半年ぐらい使ってる)
何か特別な設定とかいるんですかね?
素人で馬鹿みたいな質問ですが、お相手してください。
>>471 HWM が上がってるだけじゃないのかなー
473 :
471 :2006/08/14(月) 23:36:22 ID:???
>>472 HWMって何ですか〜?
dbfファイルを見ると、物理サイズも増えていってます。
クリーンするとかできないんですかね・・・
半年減らないってのはなんだろう... Oracleの動作をちょっと再確認。 ファイルサイズ自体は一旦拡大したら減らない。 TEMP表領域の中の使用量は、SORTとかCREATE INDEXとかTEMP表領域を使う処理が終われば解放されるはず。 UNDO表領域の中身は、UNDO_RETENTIONがやたら大きく設定されてないか確認してみる。 Flashback Database系の機能を使うつもりなら大きく設定されているかも。 実はずーっとCOMMITしてない処理がいるとか。
475 :
471 :2006/08/15(火) 00:24:49 ID:???
>>474 Oracle再起動しても、変わらないから不思議なんですよね・・・
>ファイルサイズ自体は一旦拡大したら減らない。
なるほど。中身空っぽでファイルサイズが大きいままなのかもしれないですね。
enterprise manager consoleは9.0.1のを使っているから、使用量がおかしく表示されているのかも・・・
>>472 HWMってUNDOセグメントや一時セグメント関係あったっけ??
ウィンドウズ版でOracle RAC構成は無い。 ソラリス版でOracle RAC構成はあちこちで実績あり。 64ビット環境もsparc64のほうが進んでるしねえ。ノウハウも多い。
知ったかは止めた方がいい。 某新○銀行では窓鯖によるRACで動いている。
>>473 一時表領域は再利用に備えて、基本的にDBの再起動まで増え
続ける事になる。
それとガイシュツの様に、Auto extendがonに設定されている事に
よって、一度太っってしまった物理ファイルはResizeするまでは
解放される事はない。
UNDOの場合は、RESIZE出来ないので、小さくしたかったら、再作成を
余儀なくされる。
>>462 ユーザーから見たら大差は無いように思えるかも知れないが、RAC構成に
した場合、クラスターウェアによるHAの差はどうしても否めない。
またOCFSの登場によって、窓鯖におけるRACの敷居がかなり低くなったとは
言え、もし窓鯖でRAW DevicesでRACを組もうものなら構築及び管理が洒落に
ならないぐらい面倒。
それとスピンしてCPU食っているプロセスをKillするのも窓ではオラクルのツールに
頼らないとならなかったり、何かと面倒だな。
オラクルスーパーユーザの皆さんに質問があります。 CREATE DBした後で、CATALOG.SQLとCATPROC.SQLを実行すると、 けっこうエラーが出ます。これって何が原因なんでしょ? 今のところ、普通に動いてるんですが、ちょっと不安です。 すみません、つまらない質問で。
ムシムシ
>>481 通常はオブジェクトをDropしてからCreateしているから、最初から
存在しないオブジェクトをDropしているそのエラーじゃないの?
エラー番号ぐらい書いてみたら?
484 :
481です :2006/08/16(水) 15:29:37 ID:???
>>483 その通りでございます。無いオブジェクトをDROPしてるからですね。
エラーは全部これが原因でした。
ありがとうございました!
某新○銀行ぐらいしか採用実績無いのが現実か。 某新○銀行の面倒見てるSIは苦労してそうだな。
Windows版じゃなくても苦労するから関係ない。
つ〜か、ミッションクリティカルのアプリの鯖に、窓を選ぶところが どれだけあるかに関係しているんじゃん? 同じH/W使うなら、普通なら客にLinux勧めるだろうし?
488 :
NAME IS NULL :2006/08/17(木) 03:24:17 ID:C4fA0EX2
SQL Loaderについて質問です。 CVSの取り込みにて、あるカラムがNULL(空文字)だったら取り込まないように するためにはctlファイルのwhen句にどのような記述をすれば良いのでしょうか? 逆(NULLじゃなかったら)はできました。 NULL以外を取り込む → when col1 != BLANKS ○ NULLを取り込む → when col1 = BLANKS × → when col1 = '' ×
>>488 良く分からんが、取り込む値がNullだったらNullをいれるじゃ駄目なのか?
hoge char(6) nullif hoge = "(null)" みたいに?
490 :
488 :2006/08/17(木) 05:21:52 ID:C4fA0EX2
>>488 レスありがとうございます。
えーと、あるカラムがNULL(空文字)の場合は、
そのレコードを破棄したいのです。
nullifを使ってうまくできるのですか?
>>487 バカの一つ覚えみたいにLinuxとかいうなw
現状、パフォーマンス・安定性において、Windows2003>>>Redhat Linux
なのは自明。
OCFSがもうちょっと実績積めば、Windowsに追いつけるかもしれんが。
492 :
NAME IS NULL :2006/08/17(木) 09:20:00 ID:Y6zrVhWt
Solaris >>> 窓 >>> Linux だよ。 Linux薦めるってことは、結局そのディストリビューションの面倒を見ることになるからね。 トータルコストで割りが合うか、またはコスト無視しても全て見えてないと拙いか。
Oracle Express Edition のベータ版って charset変更できなかったり制限が色々あったけど 最近リリースされた正式版も同じような制限があるのですか?
制限は同じだよ。1CPU、メモリ1G、ユーザ領域4G 勉強だけじゃなく、実際の業務でも使えるんじゃねえの?
>>494 ありがd!
ちょっとどんなモンか使ってみようと思ってw
その制限だけなら業務でも使えそうですね。。
>>492 でのトータルコストで見たときって、レアなSolarisユーザーの人件費が
かさみかえって、Windowsの方が安くなったりとかはしないのかな??
1CPU、525万円のライセンス料なんとかなんねえのぉ? 真剣にEXPRESS EDITIONの検討しよっと。
PL/SQLの組込みファンクション TO_TIMESTAMP_LTZ って何ですか? 10gではなくなっているようですが。。。 意味をご存知のかた、教えてください。
>>497 SE One を知らない? 65万くらいだよ。
Oracle9iを使っています。 DELETE FROM tbl_hoge WHERE col = 定数 というDELETE文を、以下の条件で高速化する方法を探しています。 ・全テーブル削除ではないので、TRUNCATEは使えません。 ・col列にはインデックスをつけています。アナライズもかけています。 ・定数はランダムなので、col列でパーティション化することはできません。 ・必要なら初期化パラメータを変えることも許されています。 よろしくお願いします。
>>502 そんなに不満な速度なの?それ以上どうやって速くすればいいだか。
テーブルのデータ件数が何件あって、1回の削除でだいたい何件ぐらいが
削除される予定なの?
>>502 col列のガーディナリティが高いか低いかによって、使うインデックスの種類を変えるくらいしかないな。
>>502 それと。定数はランダムだから、COL列でパーティション化できないって
あるけど、それはなぜ??
>>502 そんなに遅いの?
定期的に索引は再作成とかしてんだよね?
それともB*TreeのLevelが4とか5とかになっていたりするのかい?
どうしても早くしたいというのなら、SGA大きくして索引をBUFFER_POOL_KEEPに
キャッシュしておけば?
CREATE INDEX 索引名 ON 表名(列名) STORAGE (BUFFER_POOL KEEP);
って感じにさ?
純粋にSolarisとRACの組み合わせってどんな感じなの? Clusterwareの出来とかどうなの? 俺はHP-UX、Linux、AIX、窓でRAC組んでベンチ取ったりして たんだけど、Solarisって使った事ないんだよね。 ちなみにAIXのClusterware、ありゃ、ウンコだね。
Clusterwareなんて使わん。 Sun ClusterかVCS。
>>508 俺はSun Slusterに関しては全くの素人なんだけど、スプリット
ブレインとかはどうやって対処しているの?
他のクラスタソフトと同じくクォーラムを使う。
RACとの連携ってどうなっているの? ハートビートとかはネットワーク経由で行っているの? RACのInterconnect LANとClusterwareのハートビートLANとを 分けた場合はどうやってスプリットブレインを処理してる?
512 :
502 :2006/08/18(金) 20:41:45 ID:???
情報不足でした。 索引の再作成は定期的にしています。 削除行数は、1000万〜3000万行ほどになります。現在平均で1時間ぐらいかかってますが、できれば半分以下にできると嬉しい、というところです。 col列は200ぐらいのカーディナリティなので、その数だけパーティション作るわけにもいかず。 INSERTを高速化するオプションは APPEND や PARALLEL など色々あるのなら、DELETE にもそういうものがないものか、と思って質問いたしました。
>>512 どれくらいはやくなるかしらんけど、レンジパーティションとかじゃ
だめなの??その数だけパーティションを作るわけにはいかずと
思ってるところみると、リストパーティションしか頭にないでしょ。
>>512 レンジパーティションじゃだめなの??
リストパーティションじゃなくて。
515 :
502 :2006/08/18(金) 21:19:32 ID:???
レンジパーティションですか。早速実験してみます。 ありがとうございます。
続き、というか、1000万とかそのレベルになるとディスクIOがネックになってると思うから、 Oracleのパラメータどうこうというよりそこらへん攻めないと駄目なような気がする。
col列でパーティション切るんじゃなくて別項目で切ってディスクIO分散したらいいんじゃね?
ボトルネックも知らずにチューニングやってるのか。モグラ叩き状態で大変だな。 ベンチマークぐらいしてパフォーマンスぐらい把握したら? 規模にもよるでしょ。 アクセスODBCでも十分なレベルなら、窓でもリナでも大差はない。好みでどうぞ。 RAC組まないと捌けないレベルならソラリスしか怖くて勧められないよ。実績と長年の蓄積ノウハウがあるのは大きいし。 RACまで大きくする予定が見えてるなら、最初からソラリスも十分あり。 窓やリナでRAC組んだら氏ねるよ(w
アクセスODBCでも十分って意味わからねぇ。 アクセスODBCって何?
ALTER SESSION FORCE PARALLEL DML PARALLEL <degree>; DELETE or UPDATE; COMMIT;
Windowsでも大丈夫だよ。
>519 知らなくておk
教えてくれよ。 Access使ったODBC経由の接続ってことか?? 仮にそうだとして、それで十分なレベルってこれまた意味わからねぇ。 どんなレベルなのか・・・・・・・・・
524 :
NAME IS NULL :2006/08/19(土) 07:49:38 ID:fY0Rg6wo
お願いします。 8環境から9i環境へSNAPSHOTを移行しようとしています。 手段としては8環境からCREATE SNAPSHOT文をリバースして 9i環境で実行しました。 その際、CREATE SNAPSHOT文の中で指定していない 表領域(ユーザデフォルト表領域)が使用されるのですが 何故でしょうか? SNAPSHOT自体はCREATE文で指定した表領域に作成されています。
このスレで質問してる人たちって、どうして日本オラクルのサポート受けないの?
>>511 そういや、interconnectとClusterハートビートを分けたのみたことないな。
それってCLUSTER_INTERCONNECTSを設定するって事か?
分けるメリットが全く無いからだろ。
>>526 HP-UXのMC/Service Guardのクラスを受けると、クラスターウェアの
ハートビートLANにはハートビート以外をとおさない様にしてください
って言われるんよ。
それで言われたとおりにクラスターウェアのハートビートLANとRACの
インターコネクトを分けてしまうと、インターコネクトが多重障害とかで
完璧に死んでしまった場合に、クラスター事態は生きていると判断されて
MC/Service Guardによるスプリットブレインの解決が行われなかったり
する。
まあ、ORACLEのIMR機能によって、17分待てば解決されるんだけど・・・。
Sunclusterでは分けたらどういった動きになるのか知りたかった。
>>518 HPUXばっかり使ってます
すみません
530 :
NAME IS NULL :2006/08/19(土) 17:58:02 ID:G5BN8bq6
お願いします。 SQLツールというサードベンダーの製品を使ったことがある人にお聞きしたいのです。 Oracle社純正のチューニングツール(StatsPack,Tkprof)と比べて、これを使うメリット はなんでしょうか? m(..)m
531 :
526 :2006/08/19(土) 19:33:49 ID:???
>>528 実はSuncluster使ったことがないのだが。
へー、分けるよう言われるのか。
そういや、HPの資料にそんなこと書いてあったような気がするなぁ。
何で分けるのだろうか。耐障害性の観点だと意味がない気がするが。
理由知ってる?
俺の周りで良くあるのは、
インターコネクト、ハートビート同じLANで2重化パターンだけ。
532 :
530 :2006/08/19(土) 22:48:51 ID:G5BN8bq6
>>530 すみません、SQLツールではなくSQLチューニングです。
>>531 M/C ServiceGuardのハートビートLANに余計なパケットを流す
事によって、ハートビートパケットが遅延してしまい、クラスターの
リコンフィグが走ってしまうかも知れないというのが理由。
実際HPはクラスターハートビートを専用線でやる場合には、速度は
10BASEでも構わないと言っているのはこのため。
M/C SGは「ノードの」死活しか興味がないってこった。
>>534 AIXのHACMPはもっと酷い。
特にRAC構成で、スプリットブレインをまともに解決できた試が無い。
両ノードダウンばっかりだよ。
? スプリットブレインすれば、両ノードダウンはある意味正常な動きだろ。 スプリットブレインして、両ノード共動かれる方が不味いわけだからw
はぁ? 両ノードダウンなんて、最悪のシナリオだろうが? 何のためのクォーラムなんだよ? スプリットブレインを避けるために2ノードだったら、先にクォーラム取った 方が生き残ればいいし、3ノードで1対2に分かれたら、マジョリティを 残すのが正しいクラスターリコンフィグだろうが? IMRでさえ、ちゃんとそうやってリコンフィグするよ。 両ノードダウンなんたウンコクラスターの動きだよ。
RAC10gのCRSはスイッチ全障害でも1ノードだけが残る。
HACMPって、インターコネクトが全部切れても、ディスク経由で相手が生きている ことを確認したら生きてることにしてノード停止しないって聞いたけど、ほんと? だとしたら余計なお世話なんだけど。
5ノードで2対3に分かれたら、3ノードの方が残るはず。 全ノードダウンなんてものはスプリットブレインの解決では有り 得ない選択だよ。
>>539 生き残る。
HACMPの糞みたいな動きのために、隠しパラメーターの_imr_splitbrain_res_waitが
追加された。
>>540 そうやって一所懸命、基盤整備をやっても
アプリが再接続しない(っていうか考えてもいない)というのを
テストで発覚して真っ青になって直すという話もよくある。
FOしたら業務停止だ。
Oracle 8 のPL/SQLの暗黙のカーソルについて質問です。 暗黙のカーソルはいつクローズされるのでしょうか? Object Browser で確認すると、現在オープン中のカーソルとして ずっと表示されていて、気になっています。
>>545 具体的に使えない理由を書いてみてくれ?
更新系はまだしも、Select系だったらちゃんとカーソル引き継げるぞ?
アプリもちゃんと作れば、更新系でも「フェイルオーバーが発生している」
ぐらいのメッセージも出せるし?
設定したエンジニアの腕がよっぽどヘボかったんじゃねぇの?
TAFが使えないって判断するってことは、通常のエラーハンドリングの コードもぼろぼろだったってことだな。かわいそうに。
TAF使ったことないからしらないけど、 アプリケーションでファイルオーバーのエラーハンドリングしなきゃいけないわけ?? それじゃ、透過的といえないような。
>>549 >>547 を良く見れ。
selectは透過的に行える。
更新系はRollbackされるから、処理の再投入用のコードを書くなり、
エラーハンドリングするなりすればいいというだけ。
551 :
548 :2006/08/21(月) 09:37:32 ID:???
>>549 TAF用のエラー番号があるけど、これを特別扱いするんじゃなくて、
エラーを拾ったらrollbackする
だけ。つまり、アプリケーションの通常のエラーハンドリングとかわらんのよ。
>>547 RACで障害が復旧した後、ものとノードに戻せないのがデメリットだと思う。
>>552 はあ? なんじゃそりゃ?
なんでフェイルバックなんて必要なのよ?
インスタンス障害ならまだしも、数分で復旧する障害って珍しくね?
暫くは縮退運営で乗り切るのを余儀なくされる訳だし、フェイルバックが
必要な情況って今までほとんど計画的にやるものだったぞ?
555 :
549 :2006/08/22(火) 01:18:32 ID:???
>>551 そうか。ちょっと、中途半端な「Transparent」だな。
>>554 RACとRDBMSの特性からすると、更新系の処理がRoll Backされるのは
仕方無い選択だと思うよ。
アプリ側でハンドルしてやれば、更新系の再投入処理も自動化できる
訳だし、ユーザー側から見たらそれなりに透過的には出来るんじゃない
かねぇ?
>>554 完全に対称的なノードのクラスタなら、フェイルバックの必要はないかもしれんが、
ハードウェア能力に差があったり、本番機側でしか動かないサービスがあったり、
N+1型である場合には、本番機側が復旧すれば即戻すようにするのが普通じゃね?
>>557 RACの推奨構成は基本的には対称的なノードのクラスター
なんだけどな。
負荷までは考えてくれないからね。 同負荷というのが設計の前提。 アプリもちゃんと作れ無い所って検証機すらなくて組んでるだけでしょ。
560 :
NAME IS NULL :2006/08/24(木) 01:04:18 ID:yfLdrYbN
java_pool_sizeってJavaストアド以外なにに使われているのでしょうか? デフォルトインストールした際は20M確保されているのですが、 Javaストアド使っていなければ0にしてもOKでしょうか?
>>560 使わないのなら0にしろ。
20MBだけどけちれ。
562 :
NAME IS NULL :2006/08/24(木) 22:03:37 ID:6nzT4Ppx
>>561 ありがとうございます。20MB大事に使います。
今oracle8ベースの業務用アプリをPen3-600鯖でそこそこ不満なく使っています。 とはいえいろいろ手直しするところが出てきたのでこの際oracle10で作り直すことにしました。 ついでに鯖も作り直すことにしましたが現行CPUだとどの程度のものがいいでしょうか? せいぜい数万のレコードを検索したり集計したりする程度です。
564 :
NAME IS NULL :2006/08/25(金) 21:58:47 ID:xBAhX/Hj
今問題なければOKじゃない?
予算で買えるだけ。 どうせオマイがいろいろ悩んでも、決裁者の一声で安いのに汁って言われるから。
今サーバー用機種として売ってる最低の機種で充分だな。
>>566 いや、俺が決裁者だからww
DBのことはわからないから知り合いのプログラマーのいいなりだけどね。
ハードのほうは中途半端に詳しいから無駄な金使いたくないのw
今のCPUってやたら電気食って熱撒き散らすしね。
ま、明日論の安いのにしときます。
コスト感覚が無い香具師か。 おまいの趣味の鯖なのか?
DELLだと認証不要のインストールCDが付属するというメリットが有るよ。
572 :
NAME IS NULL :2006/08/26(土) 18:30:44 ID:HS6jjPi5
>せいぜい数万のレコードを検索したり集計したりする程度です。 そんなのに、1CPUで500万もするオラクル使ってどうするの? エクセルで十分じゃん。 ハードは、DELLのSC430でいいよ。
>>572 500万?
そういう用途なら XE でいいでしょ。
ちゃんとライセンス料を払っているようには思えないよな。
STATSPACKって、使ってる人いる?
ああ無料の開発版で動かしてるクズか。 ハード買う前にちゃんとライセンス払え! たしかにodbc-excelで十分だろうなあ。楽しくないけど。
excel代がもったいないので、 MSDEでやることにしました。
本人じゃないだろ?
MSDEって無料だっけ?
それは教えられない
10gR2-RACなんですが、ロードバランシングって皆さん どうしてますか? フロント側はAS(forms service)が5台です。
大体のところでH/Wロードバランサーかましていると思うけど? リスナーサイドロードバランシングはいまいち使い勝手が良くないし?
584 :
582 :2006/08/28(月) 04:57:45 ID:???
>>583 レスありがとうございます。
ASのフロント側はH/Wロードバランサーです。
お聞きしたいのはRAC側のロードバランシングなんですが、
RAC側もH/Wロードバランサーで物理を振り分けるのが
主流なんでしょうか。
本来はリスナーロードバランシングが良いのですが、
あまり実績が無いのか探しても事例が見当たらないもので・・・。
10gR2ならセッション数均等がデフォルトになってるからH/Wロードバランサーはいらんよ。
586 :
585 :2006/08/28(月) 07:56:50 ID:???
補足 9iでも10gR1でもセッション数均等にできる方法があるからからH/Wロードバランサーはいらんよ。
587 :
NAME IS NULL :2006/08/28(月) 12:57:20 ID:cG3IyFJ4
ド素人です、どこに書き込んでいいかわからないのでここに書き込みました 鯖の反応が遅いことを解消したいです perfmon.mscでいろいろ表示させたところ ディスクの読込中で反応が遅くなっているらしいところまでわかりました ただスワップについて特に増えたりアクセスがあるような感じがありません よく使い方がわからないままPerformance Managerを開いて気になる項目で db file scattered read db file sequential read がよく表示されてます oracle9i 鯖機が セレ2.4G メモリ512MB OS XpHome DBサイズ3G?くらい 自分でやれそうなことで考えられるのはメモリ増設くらいで 発注先とはちょっと険悪気味、導入を薦めたコンサルは逃亡 途方に暮れてまス…
>>587 それって、俺のパソコン以下じゃん。
とりあえず、秋葉原に行ってメモリ買えば。
9i捨てて、Linux+XEにするべし!
メモリ少なすぎ。とりあえず増やそう。 あとは索引が付いてないか使われてないとか。 動き出して1〜2ヶ月はなんとか動いてたとかなら、 アプリがテーブル全件嘗め回すようなヘボいことをやってる可能性もあり。
XpHomeでリスナー起動したりしたらライセンス違反にならないの?
592 :
587 :2006/08/28(月) 14:09:07 ID:???
>>588 様
現実として自分の知識の無さと発注先との関係悪化でソフト変更は難しそうです
>>589 様
動き出して約1年ほどになります
当初から動作が鈍く何度も改修を行っています
アプリについては画面開くたびにODER BYで…ス
>>590 様
oracle自体の設定は頼むしかないですね、私の知識じゃ無理そうです
とりあえず積めるだけメモリ積む提案します
593 :
NAME IS NULL :2006/08/28(月) 14:14:45 ID:rgF7+lSo
>>591 ORACLEに聞け。
ここで無責任に答えることじゃないし。2者間の問題(あんたとおら)だろ?
594 :
591 :2006/08/28(月) 14:41:30 ID:???
>>593 いや、MSの方だ。
アンカー付け忘れたけどそれをやってるのは
>>587 だ。
本当に金を払って入れてるのか疑わしい。
>>585 どうもです。
いわゆるリスナーロードバランシングって奴で良いですか?
>>587 メモリも全然足りないけど、HDDをストライプ化
OSが XP-Home & 512 MB でデータベースって
ACCESSじゃなんだから・・・・SI ヒドス
HOMEはたしか同時接続数 5 だけど大丈夫なの?
597 :
587 :2006/08/28(月) 14:54:01 ID:???
スペック間違えてました、、、 型番FMVC630でXpPro入ってるのを確認しました お騒がせしてしまい申し訳ありません 今風?の薄型らしく空ベイ0なのでHDD増設そのものが不可のようです
598 :
NAME IS NULL :2006/08/28(月) 15:03:01 ID:3t0Z8F9Q
MSからしたら、別にリスナー起動なんてライセンス違反になんかならんだろうが。 IPメッセージ起動してライセンス違反になるんかい? 少しは脳みそ使えよ。
IDEのHDDでデータベースか。同時アクセス数がどのくらいか知らないけど…
>>597 去年のスペックとしても、通常のクライアントPCにも劣っているのに
部分的に強化しても焼け石に水、安物買いの銭失いになるがオチ
コンサルレベルじゃなく、決済権限者に問題があった臭いがする
このスペックだと仕事相手は逃げるし、逃げれないメンテ要員なら嫌悪されて然り
素人がDEV版を動かしてるだけだろ。 もうやめとけよ。
602 :
587 :2006/08/28(月) 16:15:20 ID:???
>>600 様
この鯖用PCを薦めたのはシステム発注先なんですよ…
実は会社内にRAID5付のW2kServerあるんです
システム導入検討が始まる前からね……
イザ入れる段になってMSSQLだかとぶつかって動作が保証できないとか云々で
鯖代用としていれた経緯
>>601 様
信じられないと思いますがれっきとした株式会社への発注によるシステムです
製品情報のHPもあるくらいの(笑
相当開発費をケチったと言うか、ハードの費用が見積もりに入ってなかったとか? で、安物ですませようとしたのかな。それでパフォーマンスだすのは大変だな。
604 :
NAME IS NULL :2006/08/28(月) 16:36:02 ID:/Y8HygXj
よっぽど金が無いのかねー。 今時、EUC部門だってDELLのサーバにプリインスコで 15マン位であるだろうに。
単純にリプレースの時期が来たということで進めればよい。 そのお年玉で買えるようなPCは誰かが使えばよい。 安価なサーバ1台ごときで失うモチベーションがもったいなさすぎ。 もう発注先やコンサルとの仲は修復できないだろうけど。
>>602 お客様に薦められたとは言え、開発会社が受けた以上
サイジングしたのと同じ扱いだと思うけど。
607 :
587 :2006/08/28(月) 17:29:26 ID:???
いろいろレス頂きありがとうございました。 当面が凌げればいいのでメモリ最大にしてみようと思います。
割れがいっぱい。 結局ライセンス違反なのは間違いないし。
609 :
NAME IS NULL :2006/08/28(月) 21:12:34 ID:KERLz+yY
こんにちは、Oracleのバックアップについて、質問です。 データベースのバックアップを考えているのですが、とある理由から 2ヶ月間はバックアップミドルウェアを使用できない状況です。 そこで質問なのですが、Windows2003に標準で付いてるバックアップで 問題無くバックアップ/リストアが行えますでしょうか。 ※因みにバックアップを取得する際、データベースのサービスは 全て落とします。 どうぞ、宜しくお願いします。
611 :
NAME IS NULL :2006/08/28(月) 22:09:49 ID:KERLz+yY
>>610 そうですか、どうもありがとうございます。
>>607 メモリ増やしたらdb_cache_sizeとかも増やせよ。
ってか、メモリ増やす前にdb_cache_sizeを調べてみる!
DOS窓で
set ORACLE_SID=xx
sqlplus " / as sysdba"
SQL> show parameters
バッファキャッシュ増やしたらとりあえずdb file sequential readは減ると思う。
>>587 STATSPACK取ってみれ。
で、scattered readがどうなってるか調べれ。
そいつがTop 1に入ってきてるのなら、アプリが投げているSQLがウンコだ。
直せ。
SGAのチューニングで改善されるパフォーマンスは全体の30%もいけば
いい方だ。
SQLのチューニングがきちんと行われない限り、改善はそんなに得られ
ないぞ。
>>615 レス見てればそんな事言ったって、奴に解るわけないだろ。
相手のスキルを理解しないで、自分のスキルに合わせて
物言っても感謝されんぞ。
別に感謝されなくもいいんだよ。 それなりに頑張ろうとするエンジニアなら出てきたキーワードで ググるなり、自身で調べるなりして次に繋がるだろ? それすらもやらない・出来ないようじゃ、見放すけどさ。
まぁ、確かにそうだけど、いきなりの初心者がStatspackは ハードル高いような。
でもオラクルで飯喰ってるなら知らないとダメだろ。 初心者なので給料無しで働いてくれって言われてるなら、知らないで許されるかも知れないが。
>>619 担当者に指示だしすることはできるだろうけど
オラクルで飯くってるようには見えんわな
管理部門、たぶん情報室とか運用管理部門でしょ
621 :
587 :2006/08/29(火) 11:59:02 ID:???
>>613 様
なんか色々ズラーっと出てきました
関連しそうなのはこの辺かな
sga_max_size big integer 135339940
shared_pool_reserved_size big integer 2516582
shared_pool_size big integer 50331648
昨日は入れなかったOracleEnterpriseManagerに入れるようになった
構成-メモリーの値
SGA
共有プール48MB
バッファ・キャッシュ24MB
ラージ・プール8MB
Javaプール32MB
SGA合計112.934MB
SGA最大サイズ129.070MB
PGA
集計PGAターゲット24MB
現行のPGA割り当て11402KB
最大PGA割り当て13100KB
キャッシュヒット率57.15%
>>615 様
えっと製造業やってます、社内にoralce扱える人間はいません
いままでなんとなく動いてるからいいやだったけど
中身みて簡単な仕組みくらい理解できればいいかなと
622 :
NAME IS NULL :2006/08/29(火) 20:29:51 ID:NQoqzJU8
キャッシュヒット率悪すぎない? SQLがうんこかな。
>>622 DBが3GBならメモリを2Gにすれば十分幸せになれるだろうて
>ラージ・プール8MB >Javaプール32MB SGAに取れる領域が少ないから、この辺もゼロに汁。 それらの領域をバッファに回せば、多少は読込みが改善されるだろう。 メモリが512MBであることからすると、Javaなんか使ってないとおもうし。
>>621 ソート処理ばっか走っているだろ、そのアプリ?
PGAのキャッシュヒット率が低すぎる。
お前、そのアプリ作った奴絶対に捕まえて、コード修正させろ。
1GBや2GBのメモリーを増設したって、SQLがウンコだったら
ほとんど効果ないぞ。
あとSQL実行させる時に実行計画とらせてみ。ものすごいのが出てきそう。
SGA 129MB PGA 24MB でメモリ512MB積んでるから、もうちょっとバッファキャッシュ増やしても大丈夫と思う。 sga_max_sizeはSGAの合計上限値を決めるだけで、バッファキャッシュのサイズとは直接は関係ない。 もちろん、sga_max_sizeの上限を上げておかないと、それ以上にはバッファキャッシュとかは増やせない。 db_cache_size とかどうなってる? これが > バッファキャッシュ24MB なら、+50MB くらいしてもいいかも。 実稼動状態でスワップアウトしない程度に増やしてみる。 > 集計PGAターゲット24MB > 現行のPGA割り当て11402KB > 最大PGA割り当て13100KB PGAの最大割り当てが13MB << 24MBだから、PGA_AGGREGATE_TARGET を増やすのは効果あるかどうかあやしいかも?
「この検索パタンだとパフォーマンスの確保は難しいですよ?」 「いや、大丈夫。たまにしか使わないけど必要だから」 「はぁ。。」 ・・後日 「チョッ!コレ、何とかな(略)」
「たまに使うのでもこんなに時間がかかりますよ」ぐらいは言うべき。 客に対するコンサル能力が低いです。 512MBの時点でオラクル使ってる意味無いな。毎回ディスクアクセスしててちっとも速くない悪寒。 アクセスでも使ってくれ。odbcから弄れるよ。
630 :
NAME IS NULL :2006/08/30(水) 04:47:14 ID:G8gTpR4X
Oracle クライアントってどこからダウンロードできますか?どんな使い方があるんですか?
>>630 >>454 あたりに答えがある。
使い方はそうだなぁ、CDに焼いてフリスピー代わりに飛ばしたりとかかな?
632 :
587 :2006/08/30(水) 11:56:17 ID:???
>>624 様
JavaプールについてはクライアントアプリがJavaでできているのは関係なし?
>>625 様
AUTOTRACEのことかな…TopSQLで代用できるかな?
一番上にきたの貼り付け
共有可能メモリー 136887
永続メモリー 1244
ランタイム・メモリー 18352
ソート 5
実行 1
ディスク読込み 3124
バッファ読込み 3671
処理された行 3738
コマンド・タイプ 3
オプティマイザ・モード CHOOSE
バッファ・キャッシュ・ヒット率 0.15
1実行ごとのバッファ読込み 3671.00
1行ごとのバッファ読込み 0.98
1実行ごとのディスク読込み 3124.00
>>627 様
db_cache_size big integer 50331648
>>629 様
毎回ディスク読込で待たされている感じです
CPU、ネットワーク共にフルにならない、、、
昨日のお昼にバッファ48MB、PGA48MBに変更してます
今日のお昼でバッファ48から96MBへ変更してみます
>>632 御前、DB_CACHE_SIZEが50MBってなめてんのか?
200MBぐらい一気に増やせ。
>JavaプールについてはクライアントアプリがJavaでできているのは関係なし? 関係なし。勢いよく0にしませふ。 あとTEMPORARYはどうなってる?
635 :
587 :2006/08/30(水) 14:43:33 ID:???
>>634 様
temporary…それっぽいのはこれかな
sort_area_size integer 524288
SELECT name, value FROM v$sysstat WHERE name IN ( 'sorts (memory)', 'sorts (disk)' );
sorts (memory) 5419
sorts (disk) 0
Javaプール0に、その分をバッファへ入れて128MBへ変更しました
636 :
587 :2006/08/30(水) 16:59:16 ID:???
TEMPORARY見つかった 40MBのうち29MB使用です その中のSYSTEMとXDBが使用率99%+で自動で領域拡張してる 任意にサイズ広げて上げて表領域のデフラグ?でスッキリかな
systemが99%って・・・system表領域にテーブルとか作ってないよね?
>>635 PGA_AGGREGATE_TARGET使ってるんだよな?
だったらsort_area_sizeはいらん。
外せ。
>>636 >>637 が言っているように、SYSTEMにセグメント作っていないよな?
ちょと以下のSQL流して何にも表示されないか確認しろ。
select
segment_name,
owner,
segment_type,
tablespace_name
from dba_segments
where owner not in ('SYS','SYSTEM','MDSYS','OUTLN','ORDSYS')
and tablespace_name ='SYSTEM';
お前らってホントはいいやつらだったんだな。
そのいいやつら様たちに質問があるので教えて下さい。 自宅にあるPC2台を使ってRAC実験環境を作ってみたいのですけど、 インターコネクトスイッチというのは、普通のLAN用スイッチングハブ でもいいのですか?やっぱり専用のスイッチじゃないとダメなんですか? 共有ディスクは、SANとかNASは使わないで、NFSで済まそうと思ってます。 馬鹿な質問でスマソ。。。
スイッチなんてイラン。 クロスケーブルでいいだろw
643 :
641 :2006/08/31(木) 09:48:22 ID:???
>>642 おお、その回答を期待してたのです!
やっぱり、そうだったんですねw
644 :
587 :2006/08/31(木) 11:57:56 ID:???
>>638 様
workarea_size_policy AUTO
shared_servers integer 1
でセッションは全てSERVER=DEDICATED
sort_area_sizeは外します
>>639 様
つらつらと大量にでてきました
主なSEGMENT_TYPEはTableとindex
最後のメッセージが
59行が選択されました。
でした。
645 :
NAME IS NULL :2006/08/31(木) 12:33:48 ID:DrjDZmTM
じゃあ、ただRACにするだけなら、特別なハードは不要ってことなんだ。 パソコン二台にそれぞれLANカード二枚だけか。金かかんないじゃん。 共有ディスクはNASタイプの外付けHDDでいいや。
究極のRACは1ノードRACだけどな。 一台のPCにインスタンス二つで、共有ディスクもいらない。 もしきちんと2台で組む場合は、FireWireで外付けディスク 繋げるとパフォーマンス的にもベター。
>>644 SYSTEM表領域にあるセグメントは全部他の表領域にうつせ。
TABLEだったら「alter table 表名 move tablespace 表領域名;」で。
INDEXは「alter index <索引名 rebuild tablespace 表領域名;」で。
これをやるとエクステントのデフラグにもなる。
ただし表と索引を格納する表領域は別々にしろよ。
FIREWIREのPCIカードは、アキバなら2,000円以下で買えるから NAS対応のHDDよりFIREWIRE(IEEE1394)対応HDDの方が安くつくんでない?
10gでリンクテーブルに自律型トランザクションを 使いたいんだけど、エラーが出てしまいます。 使うことは出来ないのでしょうか?
Oracle Database 10gは、Express Edition以外に、 同時接続数やデータサイズの制限がありますでしょうか? サイトを見回してもそういう記述が見当たりません。
651 :
NAME IS NULL :2006/08/31(木) 18:46:51 ID:DrjDZmTM
ちょっと質問! そのFireWireの外付けディスクってのは、ケーブルで繋ぐだけで 共有ディスクになるわけ?
652 :
650 :2006/08/31(木) 18:59:33 ID:???
機能はEE Edition以外不足しているけど、 SEで通常機能には制限は無いみたいですね。
>>650 何を言いたいのかわからない。特に1行目。
DB1とDB2に更新(または挿入)処理があって、 まずDB1にBEGINして処理を行う。正常に終了(エラーが発生しなかった)。 次にDB2にBEGINして処理を行う。 正常に終了。@へ エラーが発生。Aへ @DB1とDB2をCOMMIT ADB1とDB2をROLLBACK 2フェーズコミットというのは、これで合っているのでしょうか?
SEとEEってCPU数とRAC関係じゃなかったっけ? 関係ないならSEで十分だよ。 1394なんて貧乏だなあ。400Mbpsしかでないよ。 ファイバーチャンネルかギガビットイーサにしとけ。 FireWireなんてマカですか?
RACのインターコネクトは、本番環境ならクロスケーブルはサポートされないはず。 クロスケーブルでおかしな挙動をするNICとかあるからとか...
>>651 最近の外付けディスクはFireWireのポートが二つついている
ものも多い。
二つのPCからそいつに繋げたら、両方のO/SからH/Wレベル
では認識されることになる。
当然そいつの上でRACを組むにはRAW Deviceで使うなり、
OCFSにするなり、ASMにするなりしないと駄目だけどね。
658 :
NAME IS NULL :2006/09/01(金) 07:02:32 ID:EpIjZsV4
RACの実験なら、VMwareでいいんじゃねえの? それが一番安いだろ。
VMwareはただじゃないので、却下。
無料でダウンロードできるよ
VMware Serverはしょぼいので却下。
WinでRAC環境作る場合、 共有ディスクは、Win標準の「共有ディスク機能」でも良いのかな?
作れるかもしれないが、多分サポート外。 RACの勉強をかねるのなら、ちゃんとRAWかASMかOCFSで作れ。
WindowsでRAWなんて怪しくないか?
怪しいよ。 ORACLEのツール使わないと、パーティション作るのにも とてつもなく面倒だし。 でもOCFSが出るまで、窓でもRACはRaw Deviceしか選択肢が なかったんだよw
gqlplus使ってる人はNLS_LANGはどうしてるの?
Express EditionのFAQにある制限の Oracle Database XE is free for runtime usage with the following limitations: ・Supports up to 4GB of user data (in addition to Oracle system data) ・Single instance only of Oracle Database XE on any server ・Only uses and executes on one processor in any server ・Can use up to 1GB RAM のSingle instanceってどういう制限でしょうか?
668 :
NAME IS NULL :2006/09/01(金) 22:23:00 ID:RhlfQ6Ee
1サーバ1インスタンス
>>644 どうなったか報告キボンヌ。
少し勉強をかねてSTATSPACKを取ってみて、TOP5に何が
上がってきているかぐらいさらしてみてくれ。
クロスケーブルでおかしな挙動って素人ですか? クロスケーブルの結線ぐらい確認汁!
671 :
NAME IS NULL :2006/09/02(土) 15:30:54 ID:EqxTUAlM
ヤフオクで安いPCを2台落札して、RAMとLANカード増設して クロスケーブルで繋げて、ただで落としたLinuxとOracle入れて 共有ディスクはNFSで済ませて、RAC環境できあがりかよ。 計3万円かな?
今年の3月くらいにSilver Fellowを取ったのですが、 申請ってどうすればいいんでしょうか?
なんに申請するのよ?
674 :
NAME IS NULL :2006/09/02(土) 17:30:53 ID:EqxTUAlM
>>672 フェローは資格じゃないから認定証もカードも無いよ。
たしか合格証だけ。
>>673 俺が受けたときは、OracleにWebで合格点取りました申請しなきゃいけなかった。
実際、オラクルマスターって、どの程度評価できるもん? 無いよりは、あった方がいいって程度かな?
あまり役には立たない。 ただ持っていないと、何年もOracle触っててなんで持ってないの?と思われるからみんな取る。
何年もORACLE使ってるのに、オラクルマスターの試験に落ちる奴多くね?
Oracle7から使ってるけど 車とアマチュア無線の免許以外持ってない
680 :
NAME IS NULL :2006/09/03(日) 12:00:58 ID:Ns3hxS4q
じゃ俺も取ろうかな
ちゃんと使えるかどうか。
同じくOracle 7の時代から使っているけど、車の免許しか持ってない(・A・) アメリカでOracleのエンジニアとして食っているとけど、マネージャーも アメリカ人で仕事も英語でこなしているけど、TOEICすらも受けたこと ない。 まあ、アメリカの場合は日本と違って、あくまで要求されるのは実戦 スキルだから、特に問題はないが。
683 :
679 :2006/09/03(日) 13:01:40 ID:???
英語はしゃべれない アメリカにいったことない てか、30ウン歳なのに飛行機にすら乗ったことない
俺は女の肌に触れたことが無いよ。
685 :
NAME IS NULL :2006/09/03(日) 13:45:57 ID:V+y/NXLn
先日、オラクルの研修(管理クイックスタート)を受けたんだけど、 最初の方で、講師がこんなこと言ってたよ。 EEは、大企業。 SEは、中小企業。 SE Oneは、個人オフィス 実際、そうなの? 俺の会社は、いちよーは、一部上場なんだけど、SE Oneだよ。 しかも保守契約は最初の1年だけ。
Liteって、どうよ? 何に使う?
エディションの違いがまったくわからないぽ・・・
>>685 大筋で的を得ているのではないかな。
本来は必要機能やCPU数で対象製品が決まるのが筋だが、
企業規模がシステム規模とニアイコールになるのは良くあること。
>>686 うちはEUC用のスレーブサイト(読み取り専用)で使ってる。
マスタサイトはEE+RACだけど。
×的を得る
>>689 ご指摘ありがとう。
「的を射る」なんだね。
「まとをえる」って覚えてた。お恥ずかしい・・・。
言葉をうる覚えのまま使うやつって痛いな。 人格を疑っちゃうよな。
「当を得る」とは言うけどな。
694 :
587 :2006/09/04(月) 09:42:27 ID:???
報告遅くなってすみません
システムのリプレースを前提に当面のレスポンス確保はできたようです
レス頂いた方々ありがとうございました。
>>669 様
STATSPACK取ってみます
PDFは見つかったので概略は把握しました
後ろのBOSSの視線が痛いので
少し報告遅れるかもしれませんがご勘弁を
とくにスピードも必要ないところでMySQLを使用しているのですが、OracleXEに乗り換えるとどんないいことがありますか?
なにもない。
>>695 ない。
悪い事言わないから
MySQLのままにしとけ。
今、目の前にちゃんと動いてるものがあるなら絶対に弄らない。
・・・と、俺なら考えるwww
それが新規構築とか旧システムのリプレースとかで、
プラットフォームも置き換え、
アプリケーションも完全にリライトしなきゃ、
って事ならOracleも視野に入れて検討するけどな。
698 :
NAME IS NULL :2006/09/04(月) 22:13:28 ID:jlbquc06
「データとインデックスの表領域のファイルは分ける」というのはパフォーマンス向上の一般的な手段と聞いていますが、 その二つのファイルが同じディスク内でもメリットは期待できるのでしょうか。 それとも、ディスクも分けないとダメなのでしょうか。
699 :
NAME IS NULL :2006/09/04(月) 23:30:05 ID:MgOlVQaj
ほぼ意味ないお
700 :
NAME IS NULL :2006/09/04(月) 23:31:57 ID:+Ng5GnA/
ご教授願います。 キャッシュ固定の下記プロシージャはSQL*Plus上で実行した場合、 正常に終了します。 EXECUTE SYS.DBMS_SHARED_POOL.KEEP('TEST'); 上記キャッシュ固定プロシージャをPL/SQLのパッケージに 組み込みたいのですがなかなかうまくいきません。 (EXECUTE IMMEDIATEでやってもSQL文が無効ですになります) いい方法はありませんでしょうか?
>>698 普通はディスクを分ける。
同一ディスク内だとほんとど効果は期待できないが、更新処理時などに
おけるセグメントヘッダー内のコンテンションは避けられる。
テーブルスペースもドライブも細かく計算して分けてあるのに、 それが巨大RAID5の単一ボリュームをパーティションにきったものだと気が付いたときは 愕然とした(泣)というより、感動した(笑)
まあ、普通のストレージはそうだな。 ストレージのなかで、ArrayとLUをうまく配置してあげる必要がある。
705 :
698 :2006/09/05(火) 20:49:02 ID:???
>>701 ありがとうございました。ディスクも分けるよう注意します。
706 :
NAME IS NULL :2006/09/05(火) 21:20:42 ID:zbbvKrmR
Javaでデーベースエンジンつくるか
デーベース
デーベーソ
709 :
NAME IS NULL :2006/09/05(火) 22:20:20 ID:rTv+WEAW
Oracle Pro *C を PL/SQLに書き換える仕事があるのですが その前に Oracle Pro *Cを触っておこうと思いまして Oracle Japanで体験版を探したのですが、見つかりません。 Oracle Pro*C の体験版は存在していないのでしょうか。
Oracleごといれろや。
Pro*CはOracle Clientの一部。
ご教示根絶おじさんは 掲示板から消えたのか
714 :
709 :2006/09/06(水) 06:48:33 ID:???
Oracle10gR2のバックアップについて質問があります。 アーカイブログモードでジョブを作ってバックアップしたところ、 EMの「現行バックアップの管理」をみると同一時間に以下のファイルが作られたようです。 1.TAG20060906T020718 2:07:20 SPFILE, CONTROLFILE 2.BACKUP_ORCL... 2:07:16 ARCHIVED LOG 3.BACKUP_ORCL... 2:06:46 CONTROLFILE 4.BACKUP_ORCL... 2:06:41 DATAFILE バックアップが始まると、DATAFILEに書き込みできなくしてからバックアップを開始するようなので、 その時点までのDATAFILEの状態にはリストアできますよね? で、2)のARCHIVED LOGがバックアップ開始時点に存在するアーカイブログであれば、 その中身はDATAFILEに書き込み済みだとおもうので、必要ないと思うのですが、 このアーカイブログはなんなのでしょうか?
716 :
709 :2006/09/06(水) 19:43:50 ID:EL2U/qqw
すいません… Oracle 10g にはPro*Cは付いていないのでしょうか。 10gのClientをインストールしたのですが、スタートメニューに Pro*Cがないので…
>>715 不完全回復なら可能だな。
でも、バックアップ完了時点までリカバリするには、
バックアップ終了時点までの
アーカイブログがないとダメ。
718 :
715 :2006/09/06(水) 20:18:35 ID:???
>>717 バックアップ開始時点まで復旧→アーカイブログ不要
バックアップ終了時点まで復旧→アーカイブログ必要
っていう違いで、EMのバックアップ設定から行うと、バックアップ終了時点まで復旧できる
バックアップセットが作成される、ということですか?
おまいはPro*Cをなんだとおもってるのだ? Oracle_HOME/bin/proc だったけかな?これはある?
>>718 なんか激しく勘違いしている気がするな。
いいか、Oracle DBの目指すリカバリというのは完全回復なんだよ。
つまり、現行のRedo Logが吹っ飛ばない限り、現時点まで完全に回復する
事が出来るようにデザインされている。
例をあげよう。
ある表領域でブロックコラプションが起きて、その表領域が死んでしまいました。
どうしても現時点までリカバリしたいです。
という事で以下のリカバリシナリオとなる。
1. 表領域で使用されているデータファイルをRMANのバックアップピースから
リストア。当然この時のSCNはバックアップ時のもの。
2. Archivelogを充てて、Roll Fowardを開始。SCNが現行のものに大分近づく。
3. 最後にOnline Redoを充てて、現行のSCNと同期が完了する。
これでArchivelogの意味が分かったか?
721 :
718 :2006/09/07(木) 01:30:40 ID:???
>>720 わかりやすい例、ありがとう。
挙げてくれた例で言うと、2)のアーカイブログは、バックアップ以降のモノかと思いますが、
1)のRMANのバックアップピースにもアーカイブログがあるようなので、
これはナニかなぁ、と思ったのです。
>>721 RMANでBackupを開始すると、暗黙的に「alter system archive log current;」が
発行されて、現行のredoがArchiveとして吐かれる。
でもって、Backupの取得コマンドに「backup database PLUS ARCHIVELOG」
なんてなっていたりなんかしていた日には、当然含まれていてもおかしく
ないんだけどね?
723 :
NAME IS NULL :2006/09/07(木) 16:25:57 ID:wiQqJ5gL
Net Configration Assistant と Net Managerと、似たようなツールがあるけどどっち使えばいいんでしょうか。 そもそもどうして2つあるの?
>>723 TNS_ADMIN環境変数を設定している場合の動作が違う。
Net CA=>影響を受けない
Net Manager=>影響を受ける
つーか、インストール時にデフォルトで設定してファイルだけ吐かせて、
自分でlistner.oraやtnsnames.oraを編集するのが面倒なくていいん
じゃない?
NCAだけでいいだろ。
EBSという腐れアプリを使っていると、TNS_ADMINとかの設定が 必須だったりして、それでNet Managerなんてどうでもいいのが 出てきたんだと思う。
727 :
587 :2006/09/08(金) 12:39:16 ID:???
報告遅くなりました 結果というか経過としてsql3つ手動で動かしてインストールは成功して perfstatユーザーでのログインもできた ただexecute statspack.snap打っても動きませんでしたorz EnterpriseManagerのデータベース状態レポートで似たよう項目がでたので システム待機の統計 LGWR wait for redo copy 0 16 SQL*Net break/reset to client 12 20 SQL*Net more data from client 0 5 buffer busy waits 9 19 control file heartbeat 411 1 control file parallel write 1393 9625 control file sequential read 1865 1114 db file parallel read 7 3 db file parallel write 207 554 db file scattered read 286467 497255 db file sequential read 20584 58606 direct path read 466 697 direct path write 38 351 instance state change 0 2 latch free 4 20 library cache load lock 1 1 log file parallel write 760 7266 log file sequential read 0 4 log file single write 1 4 log file sync 52 552 rdbms ipc reply 83 10 refresh controlfile command 2 1 reliable message 1 1 wakeup time manager 2842133 951 Top SQL select kikaku."_name" as 部品, kikaku."_cd" as 名, nvl(kotei."_name", kikaku."__name") as 払, kikaku."ban" as 箱, nvl(zai."_suryo", 0) as 数量, (nvl(zai."_suryo", 0) - nvl(hiki."_suryo", 0)) as 在庫, nvl(hiki."_suryo", 0) as 予定払出数量, nvl(zai."_suryo", 0)+nvl(hat."suryo",0)-lot."_suryo" as 予定在庫数, kikaku."kikaku" as 規格, kikaku."sunpou" a INSERT INTO GENKA.HARAIDASHI ( "bango","_bango","_date","souko_cd","_cd","_cd","_name","_name","_bango", "_kbn","_suryo","tanni","_tanka","_kingaku","seq_number") VALUES ( 200600042026,'2006000910','20060908','1','','0004','部品','E00',200600039169,'',3,NULL,3592.00,10776,'98') 残りは全部2番目と同じINSRT 期待に添えなかったらすみませんでした。
RACってどうよ?っていうかXEでもRAC組ませてほしいな(はぁと)
RACなしでも、フェイルオーバクラスタくらいは可能だし。
>>727 STATSPACKをどうやってインストールして、どのコマンド打ってSTATSPACKを
取ろうとしたか聞きたい。
とりあえずこのページの「Oracle9i STATSPACK取説」を読め。
ttp://hp.oracle.co.jp/mc3/tech.html それとOEMから取った数値が何を表しているのか、いまいち分からんが、全件
検索が走りすぎだ。
そのSQL群は糞だ、蛆虫以下だ。
ハードを変えたところで、SQLが糞のまんまじゃ、またいつか同じ問題に直面するよ。
>>728 10gだとSEから2ノードRAC組めるから、組んでみたら?
勉強だけだったら、デベロッパーライセンスだけでも(ry
>>729 まじっすか、どんな方法があるの?教えて教えて!!
>>731 SEのRAC試してみます。
でも、RAC使おうとするとライセンスとかで馬鹿高くなっちゃうんすよね。。。
SE RACは追加オプション費用は不要。
>>729 フェルオーバーだけがRACの特性じゃないから。
ファイルオーバくらいなら、RACなしでもできるって意味だろ。
空文字列がOracleではNULLと同じ扱いってのが 非常に気にくわなくてたまらん
Oracle様の仕様にたてつくとはふてぇ野郎だ。
>>737 汎用機だとNullとしないために、ワザと空文字入れたりするからねぇ。
まあ、仕様ですよ、仕様。
汎用機の仕様の方が変なんだけどね。 何か入れてないと何も無いと判定できないなんて(w nullで返ると致命的なエラーが発生する処理系を使ってる時点で負け。 スタートメニューにprocがある訳ないな。 VCとかVBみたいなアプリを想定してるのだろうけど(w
真空はあるよ派 ── 空の文字列は NULL とは違うよ 真空なんてないよ派 ── 空の文字列と NULL は同じ意味だよ
RACについてだけど、 REDOログとUNDO表領域は、各ノード用に必要なわけだけど、 これらって、必ず共有ディスクに置かないとダメなの?
そう。 どれかのインスタンスがこけたとき、別の正常インスタンスがこけたやつの REDOとUNDOを読んでりかばりするから。
トンクス。
Oracle8 R8.0.6 まだ使っている人いる? IE7RC入れたらDB接続できなくなりましたよ。orz
746 :
NAME IS NULL :2006/09/15(金) 13:10:41 ID:7YJM47XT
クラスタ構成のバックアップ方法について質問です。 OSはWindows2003*2でMSCS構成、ミドルウェアはOracle10gで、fale safeでクラスタ組んでます。 夜間にデータベースを停止してNTbackupによるフルバックアップの取得を考えておりますが、 この場合どのようなサービスを落とせば問題なくフルバックアップが取れますでしょうか。 若しくは注意点など、なんでも結構なので情報お願いします。 今のところOracleのサービス停止対象はTNSListenerとOracleServiceORCLを考えてます。
>>740 > 何か入れてないと何も無いと判定できないなんて(w
空文字が入っていると判断するのと、何も入っていないと判断するのでは、
処理に必要な時間が異なる。
空文字をNullとする仕様であれば、空文字を入れといた方が処理時間が短く
なるはず。Oracleがどういう実装か知らんが。
> nullで返ると致命的なエラーが発生する処理系を使ってる時点で負け。
うーん、話しについて来れてないと見たが、どう?
>>742 あれ?
RACって各インタンス用にUNDO表領域必要だっけか???
他のデータベースと違ってOracleのクラスタはshared everythingで
共有してると思ったが。REDOも。
>>747 >うーん、話しについて来れてないと見たが、どう?
確か以前AS/400用のDB2 for AS400ってデータベースで
処理系でnull処理できない??かなんか言われてNOT NULL制約つけるの
俺の提案が却下された。
>>748 必要。
各スレッド(インスタンス)毎にUndoおよびRedoがいる。
ちなみにArhivelogモードで動かしている場合には、各スレッド毎に
Archiveを吐く。
ディスク障害+ノード障害などの多重障害が発生してDBをリカバラ
なければならない様な場合には、リカバリをかけるノード上で全ての
スレッドが吐いたArchivelogを読める状態にしていないとならない。
このため、理想を言うならば、log_archive_destのひとつをローカル
ノードに、そして二つ目を共有ディスク上におくなどのデザインを
しておくと、あわてなくていい。
>>746 DBのコールドバックアップという意味ならば、それでオゲ。
752 :
NAME IS NULL :2006/09/17(日) 21:25:53 ID:XG6vE0iZ
PLSQLのプロシージャやファンクションと、パッケージの使い分けってどうしてます? パッケージ化する基準(とうか単位?)があったら教えてください。
753 :
NAME IS NULL :2006/09/17(日) 23:30:49 ID:PLdjaj+w
JDBCでOracle8.1.6に接続する必要があって OrackeのページからJDBCドライバ8.1.7を使ってたら フィールドを文字化けするんですが・・・。 「また−り」→「また?り」 格納されてるデータのエントリが元から間違っている にしても("ー"が"−"になっている)おかしい動作だと思うのですが。 OracleがS-JISでデータ格納していて、受け取りホストが EBCorUTF-8なので文字コード変換を兼ねてJavaで プログラム組んでいるのですけど、なんとなく OracleのJDBCドライバがおかしいと思うのです。 なにかナイスな対策案おもちの方がいましたら ご教授ねがいたいです。
多分その推測は正しい。 816→817って文字コード関係の仕様変更(Oracle曰く817が仕様通りということらしい)が結構あるから。 だから、816に対しては816に対応したバージョンのドライバで繋ぎに行くしかないと思う。 817に対しては、10.xなどの最近のものでもOKっぽいけど。
755 :
753 :2006/09/18(月) 02:14:23 ID:UWJif3k4
>>754 回答ありがとうございます。
相手チーム(Oracle管理チーム)に、「JDBCドライバ(Type4)ください」と
言ったら「OTNからダウン汁」とか言われたので、
OTNのサイトを見たら817が一番低いバージョンだったので・・・。
JDBCドライバの互換性が怪しいなら816のJDBCドライバも
ちゃんとダウソできるようにして欲しかったり。
JDBCは内部でUnicode使うから、8.1.6でもたぶん同じ結果になる。 話の根源は MSの SJIS, EUC <-> UTF8 のマッピングがおかしいところまでさかのぼる。 それ対策用のコードがある。 JA16SJISTILDE, JA16EUCTILDE 8.1.6じゃだめだろうけど。
757 :
753 :2006/09/18(月) 08:14:58 ID:???
話の根源はわからなくもないですけど、にしてもDB2のJDBCドライバは EBC→S-JIS,UTF-8と普通に取り出せるのに…。 そういうコード問題を解決してこそのJDBCドライバじゃないのか?と小一時間…。 相手チームが快くS-JISのCSVファイルをOracle側で作成してくれれば、 こんな苦労しなくて済むのに…。OTZ
>>757 そういう作りになっちゃってるモノは仕方ないので、
化けるデータをI/O時に別な文字列で置換するとかしないと
8.1.x系では解決できないと思われ。
と言う事はreplace()関数とか使って、文字化けするデータを置換し、 それらを受信して後処理で対応って事になるのかな? とは言え投げるクエリで文字化け対象の文字列を渡せるか不安ですが…。 DB2だとREPLACEの戻り値がVARCHAR(4000)と言う力強い仕様ですけど、 Oracle816だとどれくらい結果を返すのか怖いなぁ。
”−”(Full Width Minus)も文字化けの代表格。
ora816からリプレイスするのが良いよ。 駄目ならミドルウェアで置き換えをがんばるしかない。
762 :
753 :2006/09/20(水) 19:15:39 ID:ePHGVLTv
ora816の文字化け問題チャレンジしてきました。 とりあえず、 SELECT replace(SJISNAME,"−","ー") FROM TABLE みたいなクエリを投げて−の文字化けは解決しましたけど、 他にも文字化け発見しますた。orz なにから文字化けしてるかサッパリ不明なのが・・・。 クライアントにora816は鬼門です。と事情を説明して 泣きつこうかと思いました。 しかし、相手チーム(Oracle管理チーム)は必死に CSV作成を嫌がるのですけど、HP-UX+Oracle816(S-JIS)だと そんなにCSVファイルの作成って困難なのですか? DB2だとコマンド一発で出来るのに、あっちのSEが ワケ解らん屁理屈いいだすんですけど・・・。 こっちがnfsサーバーあげとくから、HP-UXでマウントして その領域にCSVおいてくれれば、あとはこっちでコード変換 すれば一番楽だなー、と言ったのに・・・。
>762 >CSV作成を嫌がるのですけど、HP-UX+Oracle816(S-JIS)だと >そんなにCSVファイルの作成って困難なのですか? ちーとも困難じゃないのだが、めんどくさい方法しか思いついていない可能性あり。 SQL*PlusといくつかのSQL*Plus用コマンドとSELECT文1つで簡単に作れるよ。 OTNからOra8i用のSQL*PlusのまぬあるDL(要:ユーザ登録)してきて set とか spool とか読んでみて、 管理チームにこんなこともできんのかヴォケ!って言ったらいいよ。
764 :
753 :2006/09/20(水) 21:24:13 ID:ePHGVLTv
>>763 アドバイスありがとうございました。
まぬあるをダウソして目を通しました。
個人の感覚によりますが、確かにコマンド一発ではないので楽ではないのですね。
私も最初はselect カラム1 , ',' ,カラム2 , ',' ,カラム3 from
みたいなタルいsql打たないと実現できんのだろうか?と思いました。(w
このテーブル200個あるから死ねるしなぁ、とか。
ただ相手側が嫌がる理由はなんとなく解ったのですけど、
テーブルの中から○月分と抽出をしないといけないので、
#where 対象年月 between 月初日 and 月末日
と言う仕組みを組むのがマンドクセってあたりなのかなぁ。
管理チームは別会社らしく、ちょっと抽出条件や金利レート変更を依頼するだけで
0.3人月を貪る暴利集団らしいので・・・。なんでクソ高い金だしてOracle使ってんだよ?と小一時間(ry
これがDB2(OS/400)だと[CPYTOIMPF テーブル 保存先]の一行でCSVができるので
単純なストアドとマテリアライズ照会と組み合わせれば2,3行で事足りるのですけど、
どーも、OracleなチームはCOBOLerばかりで頭固いんだよなぁ。
>>764 ORACLEをコボラーが管理してるって?
結合や集計をSQLでやらずにプログラムでやってる悪寒・・・
もちろん金利レートなんて(ry
そもそもリレーショナルDBとして扱われているのだろうか・・・
767 :
753 :2006/09/20(水) 23:57:33 ID:???
漏れはOracleやCOBOLでメシ食ってる人じゃないので詳しい事は解らんけど、
テーブル設計書にPIC 9(n)やら、X(n)とかかいてあったり構造体っぽい別名が
書いてあったりした。
WDScと言うIBMのツールでOra816にコネクトしてみたらテーブルのカラム全てが
NULL許可になっていて新鮮な気分だった。
普通キーのあるカラムくらいはNOT NULL制約つけないか?とか思ったり。
一応キーはついていた、しかし抽出対象となる処理年月日なカラムにキーが
ついていなかったので漏れがクエリ投げると数分戻ってこない。
Oracleにはなんか特殊なビューでもあるのだろうか?
素人目に非効率だと思いました。
カラムは全てNUMBER(整数のみ)とCHARだけで
カラム数が200以上あったり、「カラム数が大きいので分割しました」とか
話を聞くと思考がCOBOL主体なんだろうなぁ、と思いました。
まあ受け取り先がMS Accessなので素人向け(?)にそういう仕様に
したのかもしれんけど…。
OS/400でRPG,CLが主体ってのは珍しくはないけど、Oracleで
COBOLが主体ってのは、どーなんだろ?
OracleはSQLよりもCOBOLの方が速いのか?って思ってしまうけど。
>>765 サンクス。
モラクル儲かってるみたいだな。
>>767 主キー無しかよ・・・すごいな
もし、そのチームの下で育つ新人がいるとしたら
まったく可哀想&転職したら迷惑な事になるな
でも9(n)とかX(n)は便利だから定義書でたまに使うよ
Oracleが起動してなかったり、DBマウントしてなかったりしたらSyslog通知 したいのですが可能でしょうか? 同様にSQLで失敗したときにSyslogに書いてある場所にエラーを吐き出したい のですがこちらも可能でしょうか?
>>767 まったくコボラーってのは迷惑きわまりないな・・・
お前らにふさわしい場所があるだろうて。
コボラーも生きるのに必死なんです><
>>770 O/Sぐらい書いたら?
それに本来rootでownされているsyslogに、一般ユーザーのOracle Holderが
書き込むというのは如何なものかと思うけど?
>773 ごもっともなご意見で。 OSはSolaris10です。 如何なものかといわれれば如何なものなんですが お客様のご意見なのですよ・・・。
>>774 何でSyslogに書かせたいの?
alert.logに吐き出させれるんだから、スクリプト書くなりすれば
メールなり、なんなりでも幾らでも通知出来そうな気がするよ?
syslogに一般ユーザーが書き込むなんて、セキュリティ上如何に
危険かぐらい客に提案するのもコンサルの仕事じゃないの?
>775 SQLってシステムコマンド呼び出せるのですか。 その方法を自分は知りません。 よければ教えていただけませんか。 >776 孫請けだからコンサルちっくなことなんて やれないんですよ。既存(Oracle化前)がこうだから としかいわれなかった。
>>777 >SQLってシステムコマンド呼び出せるのですか。
いや、シェルスクリプトで書くの。
>Oracleが起動してなかったり、DBマウントしてなかったりしたら
ってあったから。Oracle起動してなきゃSQL動かないんだし…
sqlplusの結果をspoolなりリダイレクトなり使ってファイルに落としておいて、
その中に ORA- があれば何かしらのエラーがあるから、logger使ってsyslog
へ出すと。
/var/adm/messagesは直に書き込んじゃだめだよ。syslogd経由じゃないと。
Solaris上でOracle10gを動かしています。 httpdがいてCGIがいて、CGIがSQLを発行してっていう、極々普通のWebアプリの 開発を行っているのですが、現在試験工程中です。 で、質問なのですが、CGIが発行したSQLを全部ログに吐き出すことは出来ない のでしょうか?CGIが発行した〜てのが難しければ、「Oracleで処理されたSQLを 全て〜」でも構いません。期待通りの動作を行わなかった場合に、どんなSQLが 発行されたのか知りたいのです。 # SQLServerで言うところの、SQLプロファイラみたいな SQLロギングが該当するのでしょうか?
>>779 ( ´ー`)ノファイングレイン監査
ただしDBのオーバーヘッドもかなりあるぞ。
客の意見だろうが、変なのを指摘できないシステムインテグレータもどうかと思うが。 sqlログ取ると激しく遅い。当然だが。
ファイルが更新されていた場合のみ読み込みを行いたいんですが ファイルのタイムスタンプを取得する方法ってありますか?
783 :
NAME IS NULL :2006/09/22(金) 13:50:03 ID:L2YZkHWv
Oracle Enterprise Manager からセッションを見ると、Logical Reads というカラムがあります。 これは何を意味するものでしょうか。
どうでもいいけど、OracleのWebのトップに出てる、髭親父は何者だ。
>>783 文字通りDisk I/Oを必要としたPhysical Read(物理読み込み)に対して、
Buffer CacheからBlockを読み込んだことをLogical Read(論理読み込み)
という。
>>782 もうちょっと質問を明確にした方がいいと思うぞ。
どのプログラムからファイルのタイムスタンプを取得したいのか。
読み込みというのは、SQL*Loaderを使ってDBにデータロード
しているのか、それとも9iの外部表のことなのか。
O/Sは何なのかとか。
じゃないと、何を質問しているのかさっばり意味が分からんよ。
誰かI/Oフェンシングに関して分かりやすく教えてくれ〜い。 俺の認識としては、ネットワーク傷害時などによりスプリットブレインが 発生した際に、クラスターファイルシステムの整合性を保つために、 ディスクロックを獲得するメカニズムみたいな感じなんかいなぐらい なんだが合っているか?
>>787 非ORACLEのアプリがファイルに対して非定期に更新を行っています。
それとは別にPL/SQLのバッチが定期実行されます。
やりたいのは、
PL/SQLのバッチが起動された時点でファイルのタイムスタンプを取得し、
前回バッチ実行時からタイムスタンプが変わっていれば
ファイルをUTL_FILEで読み込む、という処理を行いたいです。
PL/SQLで該当ファイルのタイムスタンプが取得できればベストなのですが
可能でしょうか。
OSはWINDOWS XP SP2でORACLEは9iです。
>>791 必要な事が出来る外部プロシージャ呼び出す。
あるいは全部Javaストアドで書く。
バッチの中でやればいいじゃん。
>>791 PL/SQLからTimestamp取らなくても、O/Sレベルで別にチェックプログラム
走らせば良さそうな気がするんだが・・・。
1. ファイルのタイムスタンプが変わっていれば、ある表をアップデートする
2 PL/SQLはその表を見に行って、アップデートされていれば実行。
そうでなければ休止
これでいいんじゃねぇの?
796 :
NAME IS NULL :2006/09/23(土) 13:58:01 ID:7xX61U9j
XEで、JDBCで接続してJavaからアクセスしたのですが XE+JDBCでの接続方法について、詳しく載っているサイトとか 本とかって出ていないでしょうか? 探したけど、見つからない・・
>>796 本を書きたいのなら企画をまとめて出版社に持ち込めばいいのでは。
>>797 オマエ日本語を正しく理解できないのか?
はぁ? アクセスはできたんでしょ? 他にも接続方法を書いてる人がいるかどうかを探してるんじゃないの? もし日本人じゃなかったらごめん。俺は日本語しかわからないから。
XEだってListenerとかそのへんの仕組みは普通のOracle10gR2と一緒でしょ? 普通にJDBC+Oracleのサンプル見ればいいと思うけど。。。
801 :
NAME IS NULL :2006/09/23(土) 21:57:24 ID:4IFzWDQj
と言うかJDBCなんだから、Oracleだけの特別な手法とか あったら迷惑この上ないとおもうんだが。
802 :
796 :2006/09/23(土) 23:35:38 ID:???
>>797 スミマセン、私の日本語がオカシカッタようです。
まだアクセスが成功していないため、参考になる
サイト等があったら教えて貰いたいと思い書きました。
>>800 rpmで配布されている物を使用したのですが
インストールのディレクトリも選べないし
製品版の物と違うような感じがして・・
JDBCも配布されてるようなのですが、巧く接続できかったので
参考になる書籍などがあればと思い書きました。
ありがとうございました。
>>801 そう思うのだけど。。。
もうちょっと、考えて見ます。
ありがとうございました。
オラクル特有の操作ってのはある。jdbcドライバは他と違うから。 XEはまだ実績無いと思うよ。10gの確実なところでがんばったら? ファイルのタイムスタンプなんてモラクルと全然関係ない。
804 :
753 :2006/09/24(日) 11:30:23 ID:???
>オラクル特有の操作ってのはある。jdbcドライバは他と違うから。 ドライバが各ベンダ提供だから違うのはわかるけど、 特有の操作って具体的にナニ?
ドライバの実装の違い。 コマンドのマッピングだとか、言語のマッピングだとか。 同じjdbcコマンドでも、DBによってSQLコマンドは違ってたりするし、挙動も違う。
806 :
753 :2006/09/25(月) 07:18:54 ID:???
>>805 すみません。
具体的になんなのでしょう?
そりゃ、Oracleに整数データ型がないのは知ってますが、
どのDBでも.getIntは結論として整数を返しますし、
.getStringは文字列返しますよ。
そこでぬるぽが返ってきたら、ドライバの性じゃなくて
DBの設計もしくはプログラマの設計ミスと思っていますけど。
それにSQLクエリ構文はもともとDBにあわせて投げるモノだから、
DB2で通るクエリがOracleで通らないのは当然ですけど、
それはjdbcコマンドではなくてSQLコマンドが違うとしか言い様がないですけど。
まあDB2の日付型に'20060925'ってinsertすると落ちる仕様は
モニョるモノがあるけどサ。(w
807 :
NAME IS NULL :2006/09/25(月) 09:34:12 ID:BmKyQGdJ
>>806 どのDBでもってのが何を指してるかしらんが、ORACLEは違うって教えてもらってるのに、何言ってるの?
質問したいのかなんなのか。
Stringの部分は詭弁ですね。
ORACLEの数値型がNUMBERでその精度で表現されるから、プログラム言語のマップが大まかになっているだけ。
SQLの構文はDBに合わせて投げるものでもありませんし。
パフォーマンス考えたら、DB固有SQL直流しが最強。
OracleにJava用のネイティブアクセスってあったっけ.NETみたく。?
810 :
753 :2006/09/25(月) 18:52:32 ID:9ichlmTG
>>807 どのDBってJDBCドライバのある全てのDBですけど・・・。
あとよく解らないのですが。
>プログラム言語のマップが大まか
jdbcなんだから言語はJavaに決まっているのですが・・・。
>SQLの構文はDBに合わせて投げるものでもありませんし。
いや、Java+jdbcの世界はDBに合わせて投げるものなんですけど・・・。
ためしに聞いてみたいんですがテーブル作成する時にJDBCな
プログラムでOracleとDB2と両方動くソースをキボンヌ。
そりゃ、WebアプリでJSF+SDOなんかは完璧にSDO任せですけど。
809氏の言われている様にOracleのJDBCは.NETみたく、
DataSetやDataTableみたいなクラスが用意されているとかあるのでしょうか?
NETからならODP.NETとか。 素のNETはSQLServer前提だし、NET自体がSQLServerに特化したSQLを吐く実装に成ってる。
.NETにはMSがつくったOracle専用クラスが初めから用意されているもんな。
OracleのデータファイルのあるRAWデバイスをLVMやVxVMで拡張した場合、 データファイルのサイズも拡張することってできるん?
できる。ただlvextendしたと同時にデータファイルは拡張しない。 後、Oracleが動いている時にやってはだめだよ。
>>813 他の方法としては、新たにLVを作って、それをalter tablespace add datafile文で
既存の表領域にくっつけてやったりすると、オンラインでも安心して拡張できる。
テキストに hoge=xx と書いてあるのをUTL_FILEリードを使ってこの一行を 読み込むことはできたのですがここからxxだけを取り出すのに 悩んでおります。なんとかできないものでしょうか?
( ・∀・)つ substr
オラクルSQLで、オブジェクトブラウザを使用し、 INSERT文を実行するストアドを作りました。 それで、このストアドをデバッグしていくには どうしたらいいでしょうか。 SELECT文のストアドだったら、普通に「実行」ボタンから 「デバッグ」ボタンを押していけばいいですが、INSERTの場合だと それだけではエラーになるので。 凄い低レベルな質問とは思いますが、教えていただけないでしょうか。
SIのOOBのこと? Insertだろうがステップ実行してけば委員ジャマイカ。
820 :
818 :2006/10/01(日) 02:10:48 ID:???
>>819 「データの型が正しくありません」というエラーが出てしまいます。
引数をたくさん使ってますが、それはSELECT文のストアドの方で
使ってるのと同じものなので、原因が分かりません。
具体例を晒せ。 単なる勘違いの悪寒。
テーブル構成が name VARCHAR2(128), F_date DATE, NUM1 NUMBER, ・・・以下NUM60まで存在するテーブルで select name,F_date,avg(NUM1),max(NUM1),min(NUM1),sum(NUM1), ・・・avg(NUM60),max(NUM60),min(NUM60),sum(NUM60) from hoge group by name,F_date 対象レコードが600万くらいまで増えてくると ソートのせいで処理が厳しくなってくるのですがなんとかならないものですか?
マテリアライズドでname.DATE毎の集計を日々積み上げてけば?
集合関数使ってるせいか高速リフレッシュ使ったマテリアライズドだと まれにおかしいのが発生する。 あと書き忘れたのですがhogeの後に F_date between A and B で一時間で600万レコード だということを忘れていた・・。
前回処理日時以降に登録、更新されたレコードが存在するname,F_dateだけを 集計してマージするようにするとか。
似たようなテーブル(KEYが8個くらいで、数値が40くらい)ので 800万テーブルだけど、5-10分くらいだけどなぁ。 がんがってチューニングしてみるとか。
>826 更新されたレコードの場合更新してはまずいので ちと厳しそうです。 >827 すごいな。ちなみになんかポイントっていうか アドバイスっぽいのあります? 今のやり方だと30分くらいかかってしまう。
>>823 init.oraいじくってみるか?
pga_aggregate_targetのhit率って今はどれくらいになっている?
>>823 name,F_dateかせめてnameで索引はないの?
831 :
827 :2006/10/03(火) 06:49:52 ID:R9OcVqsx
>>828 スマソ、その速いDB(?)はOracleではなくてDB2(AS/400)だ。
Diskが6発でミラー+クラスタリングでチューニングはOS任せ。(w
SQLとかは普通。まあDB2は統計情報から学習し
使うとどんどんSQLに対して実行プランが最適化されてくので、
変にプログラマが小手先の技は使わない様にしてる。
普通にKEYには索引つくってます。
時間をかなり意識するときはテーブルに対してジャーナルを切るくらい(w
#まあ、ログが膨らむのが防ぐ意味が大きいが
Oracleでも設定詰めればそれくらい出ると思う。
>>823 つーかさー、なんでそんなアホみたいな表作ってるの?
正規化したりとか、パーティショニングしたりとかしようとは
思わんかったの?
お忙しいところ、すみません。 今、Linux版Oracle10g(10.2)を使いオラクルを勉強してる者です。 CREATE DATABASEして作ったDBをEMで管理するようにする にはemcaを使えば良いことがわかったのですが、その使い方が さっぱりわかりません。OTNにもマニュアルが無いのです。 色々と検索もしてみましたが、いまいちわかりません。 もし、これに関する情報がありましたら、URL等を教えていただけ ないでしょうか? よろしくお願いします。 町田市 高校2年 R
>829 ヒット率は99.5. SGAに5G、PGAに5G振ってあります。 >830 NAME,F_DATEは主キーです >831 今日いろいろ詰めて20分くらいまでにはなりました。 まだ、詰めれそうか・・。 >832 パーティションは時間毎に区切ってるけど 一時間で云百万件入ってくる予定なんだもの・・。
835 :
827 :2006/10/03(火) 22:19:12 ID:???
>>834 パーティションを時間毎ってよーわからんけど、それだど素人考えで
返って効率おちるんじゃないの?
Oracleだとコンポジットパーティション(だったか?)をdata→nameって上手く
ハッシュが効く様に分割するようにチューンするとか?
DB2で言う多次元クラスタリングと同等の機能だと思うけど。
#どっちが先かは知らん(w
836 :
753 :2006/10/03(火) 22:22:49 ID:???
dataではなくdateです。 スマソ
>>834 すまんがSort処理が発生している時のSTATSPACK取って、PGA関連を
見てみてくれ。
Multi-Passがどれだけ走っている?
それとTemp領域はどのディスクにおいている?
贅沢に使えるんだったら、Temp領域を専用にストライプしたディスク上に
置かせて貰え。
そしてselect文はparallel処理で行え。
ヒント文として/*+ parallel(hoge,6)*/ ぐらいで、一回実行計画を取れ。
db鯖なんてパフォーマンス稼ぐ為にcliが普通だしなあ。
840 :
833 :2006/10/04(水) 06:21:34 ID:???
>>838 ありがとうございます!
そうですね、コマンドラインでの管理が基本ですよね。
頑張ります。
町田市 R
俺、どうもEMは好きになれない。 てか、使い慣れたスクリプトを必要に応じて直して実行する方が楽。 俺って時代遅れのDBAかも。もうダメポ。
>>841 データセンタに乗り込めば別だけど
非常にセキュアな環境だとEMは使わせてもらえないな
コマンドで覚えるのが一番。
EM入れているとこなんて、滅多にないんでないかな。
そもそも、Oracle使っててEM知ってる人少ないかも。
でも、便利といえば便利なんですよね。
http://localhost:1158 (若しくは5500)/em
だっけ???
isqlplusは、何気に使いやすくて好きだけど。
EMのカバーする範囲内のことしかできないDBAでは困ります。
845 :
NAME IS NULL :2006/10/04(水) 22:37:21 ID:cI5Pks+/
importの性能をあげるのに手っ取り早い良い方法有ります?
data pump
ufsdump
849 :
NAME IS NULL :2006/10/05(木) 09:29:53 ID:pI4hCX9/
IMPORTに性能求める量を、IMPORTで切羽詰って入れたくないな。w それだけの量を時間削って復元するならば、そもそものEXP/IMPの流れを再考すべきじゃないのか?
850 :
NAME IS NULL :2006/10/05(木) 23:53:55 ID:EiIyJtSR
初心者ですいません。 DBFファイルの要領を超える エクステント拡張って可能でしょうか。 ちなみにOracle8iです。
>>850 DBFのAutoextendがOnになっていたりなんかすると可能だろうね。
PL/SQLって可変個引数のファンクション作れないの? DECODEやCOALESCEはできてるのに、自前は無理?
省略は可能。いくつでもってのは無理っぽい。
Fedora Core4で、10gのR2を動かしてるんだけどさ なーんか、emcaとかemctlがちゃんと動かないんだ。 ログ見るとJavaのエラーが多発してるし。 やっぱり、正式にサポートされてるエンタープライズ系Linuxじゃないと駄目? x86版Solaris10にしようかな?
x86じゃ意味ないよ。 windows2003serverかsolarisが吉。
>>856 なんでx86じゃ意味ないの?
おせぇーて、お願い
Oracle XE でEnterpriseManagerって使えるの? バックアップを取りたいんだけど、自力でRMAN使うか、 Oracle Database Easy Control Manager 使うか、 標準で付いてるBackup.bat使うかのどれかしかないのでしょうか? 出来ればバックアップをスケジューリングしたいのです。
XEってRMAN使えるんだ。
>>859 Oracle Secure Backup Express を使うというのもあるよ。
RMAN使いたくないってことは、オフラインバックアップってことか。 なら、データベース停止・起動スクリプトとNTBackupで簡単に自動バックアップできるんジャマイカン?
RMAN使った方が楽で簡単なんだけど、 なーんか、いまいち不安なんだよなあ。 まあ、俺のスキルが低いからなんだろうけど。
どのへんが不安なの? 他のバックアップ方法を取るほうが 自分で面倒をみなければいけないだけに不安だけど。
何度も実行して試してないからじゃないの? 検証不十分だから今一自信が持てないと。 ntbackupでたくさんデータ失った経験からは、まともなバックアップソフトぐらい買った方が良いよ。
RMAN、使いこなせれば便利だぜ? BlockのPysical・Logical Corruptionのチェック機能もあるから、 単純にBlockのVeryfyかけたい時とかにも使えるし、うまく使えば テストDBへのクローニングとかもソースのインスタンスが動いた ままでも作れたりする。
868 :
859 :2006/10/12(木) 20:44:44 ID:???
>>862 >Oracle Secure Backup Express を使うというのもあるよ。
ありがとうございます。
自力でRMAN使うか、どうしようかちょっと考えてたので。
>>863 >RMAN使いたくないってことは
いえ、まぁ、バッチファイル作るのがメンドクサイといえばメンドクサイ
ですが、まぁぶっちゃけWSHもしくは普通のBATファイルでもかけばいいので。
そのあたりは臨機応変に対応したいなぁと。
>>867 >RMAN、使いこなせれば便利だぜ?
あーうー。使いこなせるようにガンガリます。
Oracleのバックアップ関係って触ったことないので、
全く知らないも同然でして。この機会に勉強してみようかなぁと。
現在はOracle XEをアーカイブ・ログモードで動かしてるのですが、
バックアップはどーしたものかと小一時間悩みまして。
Oracle Database Easy Control ManagerとかNTBackupだと使い勝手悪いしー、
みたいな。
# NTBackupの頭の悪さには辟易してます。
すんません、皆さんありがとうございます。
市販バックアップソフト使うんだったら、OracleもSEないしSEOne買えよw
>>868 Online Backupをマニュアルで取る場合は窓だとocopyしかサポートされて
ないんじゃなかったけ?
XEだとocopyがあるのかどうかも良く分からんが・・・。
2003はVSSがあるから、ntbackupだけでも安全にバックアップできるかな? もっともntbackupはスケジュールやメディアの管理がまったくおもちゃだから、使い勝手が良くないけど。
古いバージョンで申し訳無いですが、Oracle7.3.4での表領域作成ですが、 GUIでは出来ないのでしょうか? いかんせん古いバージョンですので、本も無く悪戦苦闘してます・・・
873 :
872 :2006/10/13(金) 10:34:41 ID:???
すみません、自己解決しました
7.3.4とはまた懐かしいねぇ。 当時はCUIが基本だったけどねぇ。
CUIに慣れてる俺にとって、逆にGUIの方が時間かかる。 それにEMの画面を見ると、頭が痛くなってくるし。
GUIっていちいちiDCに出かけて操作してるの? cuiならsshでログインして全部できるのに。
>>876 GUIだって、sshでXやVNCをトンネリングさせればリモートでできるだろ。
おまいら、WEBで動くエンタープライズマネージャ(EM)を知らないのかよ?
インターネット越しにXやvncって馬鹿ですね。 漏れが遠隔操作してやるからIP晒せ。
>>879 すげー
sshをクラックできるスーパーハカー発見
>>880 馬鹿。そこは127.0.0.1って言ってみるところだろ。
sshを多段でログインしないといけないデータセンタでもトンネルできるの?
sshは多段トンネルできる。
ところで、Fedora Core5に10gをインスコできた香具師いるかい? sedのエラーを、どうやって回避したか教えれ。
てかさ、FC4でもインストールできないぞ!
oracleインストールするなら、せめてCentOSくらいにしとけば?
インスコのポイント 1)REDHAT−RELEASEを書き換えてインストーラを騙す 2)カーネルパラメータの変更 3)必要なCのライブラリのシンボリックリンクを作る(CENTは不要) 4)FEDORAは必要な日本語フォントが無いからLANG=Cにする ※言語に「JAPANESE」を加えること 5)必要なパッケージを事前にYUMしておく
自分のパソコンにLinuxとOracle入れて楽しい? ストレスたまんないの? なんで家でまで、そんなことするのか理解できません。
>>889 自宅では、一切、そういうことしないって奴は、この仕事に向かないと思うなあ。
ストレス感じるようなら、別の仕事した方がいいのでは?
俺は、休日でも、朝にインストールから始めて、オラクルの環境設定したりして
気がついたら夕方になってたってこともあるよ。
まあ、他に趣味の無いつまらん男だってのもある。彼女もいないし。
アル時期になると苦痛になってくる。。。
俺にもそんな風に考えていた時期があ(ny
893 :
NAME IS NULL :2006/10/17(火) 21:29:57 ID:4jGpe2/2
>>887 ありがとう!
トラブルなくスムーズにCentOS4.4にOracle10gを入れたヨ。
EMも+ASMも快適に動いてるし、クライアントPCからもバッチリ繋がる。
職場に似た環境が部屋にあるって、なーんか嬉しい、楽しい。
>>893 Xen などの仮想PCを使えば RAC とか Grid Control とかも試せるよ。
XenとかでRACとかGrid試して 「で?」 とかぬかすバカは(ry おまえら空気嫁でも孕ませてろと(rya
RACを試すのにデベロップ版ってあるの?
オラクルとか長期で動かすソフトをフェドラで動かすなんてアフォ。 気がついたら一ヶ月泊まり込みなんてならないように、事前に十分に検証して作業計画を立てておく物だ。 家で動かしても、業務じゃ役に立たないでしょ。 規模が違いすぎるし。業務としてウィンドウズ鯖のオラクルやリナックス鯖のオラクルで十分なら問題無いかもしれないが。 その程度ならSQL鯖でも十分だよな。
>>897 必要なソフトは全部ダウンロードできるよ。
VMwareを使って1台だけで実験する方法とか、安いNASやFireWireで安価に
環境を作る方法とかの手順書なんかも公開されてる。
時間があればやってみたい。
個人でも買えるいうな安いSANないかな?
900 :
753 :2006/10/18(水) 06:53:46 ID:???
>>898 mixiはFedora4,5なワケだが、まあアレはアレで意味があるからおいとくとして、
Fedora+Oracleだと社内のテスト環境とかそんなんじゃねーの。
FedoraやUbuntuだとOSをインスコするのが楽なLinuxだしな。
新人クラスが簡単な流れをつかむにはいいんじゃね?
大体そんな事いいだすとソラリス以外にOracle入れるヤツはアフォじゃねーか?的
な意見と大差ないと思うし。
>>899 VMwareを使ってみたくてノートPCにLinux入れてみたけど、
当たり前ですけど、トロかったです。
HDDとかが早くないと辛いですね。
すげえバカな質問なんだけどさ、NASにrawデバイス作ってASMで使えないの? 高いSANなんて買えない。
>>902 NFSでも動くよ、保証されてないだけで。
データ跳ぶかもしれないし、めっちゃ遅いけど。
ヤフオクなら セレロン500MHz程度のパソコンが1,000円以下で落札できる。 余ってるHDDを増設してLinuxでNASにしようぜ!
LINUXで10g使ってるんだが ASMのディスクグループに加えることができるディスクってのは RAWデバイスでかつオーナーがoracleという条件で良いのかい?
>>905 それでいいと思うよー
dd で作ったイメージファイルでも加えられるけど、普通は使わないしね。
ASMというのは、ORACLE 10gの新機能ですね。 そのASMというのは、ストライピング&ミラーリングを自動でしてくれるとのことですが ストレージがRAID(ストライピング&ミラーリング)で動作してる場合は、どうなっちゃうんですか?
ストレージの1論理ユニットがASMの1物理領域にみえる。 ストレージを使用する場合は、基本的にはASM側でミラーリングやストライピングは行わない方がいい。 >ストレージがRAID(ストライピング&ミラーリング)で動作してる場合は、どうなっちゃうんですか? アレイの組み方、LUNの切り方によってかえって性能低下を招くこともありうる。
二重に動くからねえ。 下手なRAIDコントローラだとRAID有効にする方が遅くなったりもする。 PC用の糞安いCARD, Adaptec, HighPoint, IOI, PROMISEのRAIDコントローラとか。 そもそも個人向けのSAN自体が無謀。 まだNASさえ一般家庭向きじゃないし。
iSCSIがコンシューマー向けに普及すりゃなあ。あれは超便利。 そろそろギガビットイーサは標準といってもいいくらいだから帯域が足りんと いうこともないし、インタフェースボード売ってるだけじゃ商売上がったりって ことぐらい理解してそうなもんだが。
ASM使うの怖いな。要員募集で要経験者というのをみかけるけど すでに人柱としての経験があるということで。。。。
IEEE1394(FireWire)のHDDを共有ディスクにしてる人いますか? LinuxでHDDが認識できるだけでいいのかな? それとも共有させるための何かが要るの? アフォな質問でスマソ。
Oracleと全く関係ないしw
クラスタにしたいんだろ。
>>912 俺も良く知らないけど、多分、クラスタファイルシステムにすればOKだと思う。
もしくはASMかな?RAWデバイスじゃない普通のファイルで共有ならNGかも。
質問です。 Oracle10g さわったこともないのに、DBトリガーつくれといわれて困っています。 TABLEA・・・性(SEI),名(MEI),年齢・・・・等々 TABLEB・・・性(SEI),名(MEI) したいこと TABLEAにレコードがinsertされたらトリガー起動 TABLEBを検索し、insertされたSEIとMEIがない場合はTABELBにレコードをinsert、ある場合はなにもしない create or replace trigger TRIGGERNAME after insert on TABLEA for each now declare strSEI char(30); strMEI charv2(30); begin select SEI, MEI into strSEI, strMEI from TABLEB where SEI = :new.SEI and MEI = :new.MEI; ---ここで該当データがないとエラー発生 if strSEI is not null and strMEI is not null then insert into TABLEB values (new.SEI, new.MEI); end if; end; 会社からではないためコードはうろ覚えなので間違いがあるかもしれません。 よろしくお願いします。
普通はSANでマウントするよね。 貧乏人はミラーリングでガンガレ。
>>916 うろ覚え返しで、SELECTでINTOしないでカーソル定義してその結果みてからINTOすれば?
>>912 Oracleのインストール(RAC)はしたの?うまくいった?
なんかFIREWIREパッチってのがあるみたいだけど、これ当てないとだめなのかい? これってたんにFIREWIREのHDDを認識してマウントできるようにするためのものか? 最近のカーネルならIEEEのHDDを自動認識してくれるぞ。 マウントできたら、ボリューム管理をASMに任せて、クラスタにできる? そんな単純じゃない?
921 :
916 :2006/10/20(金) 23:30:16 ID:???
>>918 ありがとうございます。
ためしてみます!
922 :
NAME IS NULL :2006/10/21(土) 21:20:32 ID:A2PIaKG5
>>845 >importの性能をあげるのに手っ取り早い良い方法有ります?
・BUFFERを大きく指定する。
・INDEXES=nを指定してインポートして、後からCREATE INDEXする。
・NOARCHIVELOGモードにしてインポートする。
とかは、どうでしょう?
ほう、noarchivelogとはめでたいことだ。 importでアーカイブを抑止できたらそりゃあ幸せだよな。
noarchiveで性能上がるって、どういう根拠だよ。。。 おまえの使ってるOracleはREDOログ生成も一緒に止まるのかと。
まあ、おまいら、待て。
もしかしたら
>>845 の環境が、RedoとArchivelogとを同じディスクに
配置しているのかも知れないじゃないか?w
それだったら確かにディスクのオーバーヘッドを軽減でき分、早く
なるかも知れん。
きっと
>>922 は凄く読みが深い奴だったんだよw
別々のディスクでも「log file switch (checkpoint incomplete)」が発生する可能性もあるからな。 それ以外のチューニングとしては、 インポート用に大きなロールバックセグメントを用意しておくことだろうな。
SQL Server 使いなんで、Oracle のことはほとんどわかりません。 会社に Oracle 8.0.4 を利用したシステムがあるんですが、最近、システムの 速度が目に見えて遅くなってきました。 自分でいろいろ調べて、インデックスの再構築(ALTER INDEX ... REBUILD)って のをやってみたんですが、あまり変わらないようです。 何をすれば、以前のパフォーマンスを取り戻せるでしょうか?
>>927 「以前のパフォーマンス」の頃から比べると、該当するテーブルの
データ件数はどの程度増えてますか?
804だと相当古いので、H/W・初期化パラメータの問題が今更出る
割合は低いかと。良くありがちなのは、データ件数増加によるSQL
アクセスパスの不具合が露呈してきたことです。
まずはセッショントレースを採ってみて、access fullが無いか、
適切なindexが適用されているか、確認されては如何でしょうか。
まずはシステムの何が遅くなったのかはっきりさせろ。話はそれからだ。 FAQ ・調査の仕方がわかりません! →システム作ったところに聞くかOracleのコンサル雇え ・もうとにかく全部遅いんです! →もういっぺんシステム再構築して出直してこい
ちゃんと必要な列にインデックスが張られてないとか。
ストレージののタマが1発壊れてたりしないかい?
マタマタごジョーダンを
よく知らないけど、、、 もしミラーで運用してて、どっちか壊れた場合、すぐ正常にインスタンスが起動するのか? 経験ないから不安。
マタマタごジョーダンを
@test と一回目に実行するのはぜんぜん問題なく終わるんだが 二回目をそのまま実行すると一時表領域に書き込みまくって 拡張してくれるんだが何が考えられる? 二回目やる前にalter system flush shared_pool; alter system flush buffer_cache; をやると一時表領域に書き込まずにいけるんだが・・・原因って何?
>>933 なんのためにミラーリングしてるんだ?
ミラーリングの片側が壊れたところで、運用に問題がないように
するためだろうが?
普通はミラーの片側が壊れたら、戻した時にストレージレベルで
再鏡化が走るだろうが?
>>935 お前はtestの中身を載せずに答えを求めているが、
それでいいと思っているのか?
あとVersionぐらい書け。
マタマタごジョーダンを
10gのSilverを受けようと思っているのですが Bronzeを持っていなくても受けられるのでしょうか。
マタマタごジョーダンを
ORACLE 10g EXPRESS EDITIONは、なかなか使えますよー。 一般のクライアント(sqlplus, SQLDeveloper, ODBC, JDBC等)から接続できるし RMANまで付いてるし、新入社員の練習用にピッタリかなと。 古いIAサーバがいっぱい余ってるんで、Linux入れて新人用のDBサーバにします。 あっ、オレ入社二年目、まだ新人扱いですが。
>>939 何回同じことを言わせるんだ。
ちゃんと受けられるよ。Bronze を持ってないと資格は認定されないけど。
944 :
939 :2006/10/23(月) 23:59:47 ID:???
>>943 ありがとうございます。
そしてごめんなさい。
>ORACLE 10g EXPRESS EDITIONは、なかなか使えますよー。 ユーザー領域4GBの制限あるけど リカバリ領域サイズのデフォルトは10GBだった。 それより、なんで10gEEのリカバリ領域サイズのデフォルトが2GBなんだろ? すくなすぎね?
外部プロシージャで困っている初心者です。失礼します。 ------------------------------------------------------------------ #include <windows.h> extern "C" { int WINAPI _declspec(dllexport) doit(char* cmdstr); }; int WINAPI _declspec(dllexport) doit(char* cmdstr) { return system(cmdstr); } ------------------------------------------------------------------- このCのDLLをライブラリ登録して呼んでいます。 --ライブラリの作成 create or replace library execstr as 'C:\oracle\ora92\bin\execstr.dll'; / --dllの関数を実行するストアドファンクション作成 create or replace function xf_remoteshell( cmdstr varchar2 ) return binary_integer as external library execstr name "doit" language C; / --dllの関数を実行するストアドファンクションを実行 declare ret binary_integer; begin ret := xf_remoteshell('dir c:\*.txt > c:\xfremote.txt'); end; / Windows 2000 Server + Oracle8iでは動くんですが Windows 2003 Server + Oracle9iでは「ORA-28576: 外部プロシージャ・エージェントへのRPC接続が失われました」と出て落ちます。 送ったコマンド「dir〜」はちゃんと実行されていて、ストアドの戻り値retに値を戻さずに落ちているようです。 8iにはなかった設定などが必要なのでしょうか? どなたかお教えください。
>>946 結論から言うと仕様だ。
WINAPIによるDLLを使用するためには外部プロシージャから別の
DLL を呼び出し、そこから更にWINAPI を使用するDLL を呼び
出さないと動かないようになってしまった。
948 :
NAME IS NULL :2006/10/25(水) 11:27:59 ID:jpbPVTVR
UNIX(Solaris9)の初心者です。 ページサイズが8kを示してるOSに、DB_BLOCK_SIZEを8K未満にしてしまうと意味ないということでしょうか? UNIXのIOはページサイズ単位に行われてるという話なので、気になっています。
意味が無いというか、無駄が出るってことだな。
950 :
NAME IS NULL :2006/10/25(水) 13:58:34 ID:jpbPVTVR
ということは、ファイルIOの観点から観るとDB_BLOCK_SIZEが 2k、4kはメリットが皆無なんですね? よっほど、小粒なトランザクションが多く、DBバッファキャッシュ容量が小さく、そのキャッシュを余すことなく有効活用したい場合でなければ、 8k以上を使うことがUNIX界では常識になってるのでしょうか? デフォルトが8kですしね。
ブロックサイズが小さければ、 キャッシュヒット率が高くなったり、競合が減ったり、 別のメリットもあるから。 UFSは8k固定だし、あまりFSのブロックサイズは気にする必要がないんじゃないか? 検索系の場合、 DB_BLOCK_SIZE × DB_FILE_MULTIBLOCK_READ_COUNT がIOサイズと一致する(あるいは倍数)になるようにするとか。
このスレいいわぁ。
>>946 947の書いてある通り、dllexport関数から他の関数を呼び出してやれば可能だよん。
dllexport関数だけextern "C" が必要。
漏れもかなり悩んだ。
いつも、ここ読んでますが、レベルの高い人多いですね! 高いサポート料金取る○○○のサポートより全然マシです。
955 :
946 :2006/10/25(水) 23:47:39 ID:???
>>947 ,953様
試してみます、どうもありがとうございました。
957 :
950 :2006/10/26(木) 00:35:37 ID:???
>>951 参考になります。
ありがとうございました。
このスレで質問してる人が多いってことは、日本オラクルのサポートが イマイチってことなのか? ライセンス料の22%のサポート料払ってるのに、2ちゃんでサポート受けるって どういうことよ?
Oracleのサポートを直に受けてるところなんて少ないんじゃない? 大概パートナー経由なんかで。
2ちゃんで問題が解決できるので サポート契約を切ることにします。 それと、10g EXPRESS EDITIONをまじで 業務で使うことも提案中です。
別に報告しなくていいよ
Unbreakable Linux か。 Oracle独自のディストロを作るっていう噂は半分本当だったんだなぁ。
そーなのか。ってか、自前のディストロ作るぐらいならFreeBSD版を作ってほしいよ。 GPLに塗れて氏ねと言いたくなる。
964 :
NAME IS NULL :2006/10/26(木) 21:51:19 ID:ypx5qrqz
勉強用にOracle10g XEをインストールしました。 ブラウザからデータベース操作できるのですが、テーブルのデータが見難いです。 SI Object Browserのような使いやすいおすすめのDB操作ツールありますでしょうか? SI Object Browserは有償なもので・・フリーソフトでおねがいします。
>>964 Oracle SQL Developer は?
PL/SQL もデバッグできるよ。
>>960 はパッチをとってきたことないのかな...
普通にミラクルで十分。フリビもソラリスには負ける。
フリーの管理ツールないですか? EM(Web)は使いにくくて、いらいらします。(余計な文字多すぎ!)
質問です。 1行分のロールバックセグメント使用量は「行のデータ長+ヘッダ部」なのでしょうか? 環境:Win版 Oracle9i(9.2.0.1.0) よろしくお願いします。
>>965 966
情報ありがとうございます。
早速CSEとOracle SQL Developerをインストールして少し使ってみました。
CSEは動作が軽く直感的に操作できて使い易かったです。
Oracle SQL Developerは、GUI画面を見る限り色々できそうだなぁと感じ、無償なんだぁと驚きました(初心者なもので、何々できるのか把握しきれてません^^;)
せっかくなのでOracle SQL Developerを使い続けていこうと思います。
>>970 そんな単純なものでもないだろ?
undoなんだから、当然更新前の情報と、更新後の情報を持つ訳だし、
undo独自のルールもある。
>>970 うんにゃ。
INSERT/DELETE/UPDATEのうち
どれを行ったかによっても、
例え同一行であったとしても
使用されるサイズは違う。
974 :
970 :
2006/10/27(金) 15:33:08 ID:??? >>972 ,973
ご回答ありがとうございます。
やはり簡単にはいきませんか。
v$rollstat周りを調査してみます。