1read 100read
2011年11月2期データベース13: Oracle 質問総合スレ6 (752) TOP カテ一覧 スレ一覧 2ch元 削除依頼

Oracle 質問総合スレ6


1 :11/09/02 〜 最終レス :11/11/24
◆前スレ
Oracle 質問総合スレ5
http://hibari.2ch.net/test/read.cgi/db/1279635842/
◆過去スレ
Oracle 質問総合スレ4
http://pc11.2ch.net/test/read.cgi/db/1250995281/
Oracle 質問総合スレ3
http://pc11.2ch.net/test/read.cgi/db/1223384283
Oracle 質問総合スレ2
http://pc11.2ch.net/test/read.cgi/db/1194742799
Oracle 質問総合スレ
http://pc11.2ch.net/test/read.cgi/db/1163907455
◆公式サイト
OTN-J
ttp://www.oracle.com/technology/global/jp/index.html
OTN
ttp://www.oracle.com/technology/index.html
Install Center
ttp://www.oracle.com/technology/global/jp/tech/install/index.html
1. 質問する時はDBのバージョンとプラットフォームぐらいは書きましょう。
2. OTNからダウソ出来るものは、30日過ぎても別に機能的に制限が
かかるという訳ではありません。あくまで紳士協定に基づいて、
 削除してくださいという事です。

2 :
>>1


3 :
ttp://cloud.watch.impress.co.jp/docs/news/20110831_473964.html
これ使えば、OracleライセンスケチりつつEE使えて幸せになれますか?
評価版を使ってデータ圧縮を試したら、容量半分になりつつ、応答速度も明らかに改善したから
EEを使ってみたいが、最近流行りの多コアサーバだとライセンスが高杉で決裁が降りない...

4 :
ALTER SYSTEM ARCHIVE LOG {START|STOP};--旧式
ALTER SYSTEM ARCHIVE LOG {ALL|CURRENT|MANUAL};
この文と、
ALTER DATABASE {ARCHIVELOG|NOARCHIVELOG};
この文のやってることの違いがよくわからないので
上手い具合に解説きぼんぬ

5 :
廃止されたかどうかの違い

6 :
>>4
Alter database~の方はアーカイブログモードの有効・無効を切り替える。
Alter system~の方は、ログスイッチを発生させて、カレントのREDOログをアーカイブする。

7 :
理解できますた。ありがとうございます

8 :
少なくとも ALTER SYSTEM ARCHIVE LOG ALL はログスイッチしないと思うんだが

9 :
SqlServer出身ですが、
OracleではSQLにバインド変数を使用すると、バインドピーク機能により
早いもの勝ちで決まってしまった実行計画がキャッシュされ再利用され続ける
かと思いますが、
WHERE以下の変動が大きいSQLのみ個別にキャッシュを使用しないように
する方法はありませんか?
SQLSERVERで言うところの、OPTION(RECOMPILE)みたいなやつです。

10 :
>>9
ヒント句にCURSOR_SHARING_EXACTを付けてCURSOR_SHARINGを効かなくする
というのが該当しそうだけど

11 :
>>9
バインド変数使わなければよくね?

12 :
強制的に実行計画再作成させることはできないかも。
でも11g以降ならそもそも杞憂。adaptive cursor sharingでggrよろし

13 :
SQLの一部いじったり何かオプティマイザ・ヒント等つけると、
それらが完全一致するものの間でしか実行計画は共有されないよ。
個別に実行するSQLを切り替えられる場合はこのほうが手っ取り早い。

14 :
>7さん
調べて見ましたがCURSOR_SHARING_EXACTはリテラルを強制的にバインド変数に置き換える設定(CURSOR_SHARING)を適用しないだけのヒントに見えるんですが…
>8
SQLインジェクション対策のため入力値をバインド変数化する規約があるんですよ
なのでバインド変数を使いつつも、都度変数の値を考慮した実行計画を生み出す方法が無いものかと…
キャッシュにヒットしないようにSQL文に無意味な検索条件とか、コメントとかをランダムに埋め込むとかも考えたんですが、何か間違った方向に進んでいる気分しかしません。
ORACLEはまだコストベースの取り扱いが十分成熟していないんですかね?

15 :
間違えました
7→10
8→11
>12
そうなんですか
10gなんですよ〜

16 :
>>14
ttp://www.csus4.net/d/2010/12/29/batch_sq/

17 :
where句の値の変動が大きいSQLとそうでないSQLでオプティマイザの動き方を制御したいということなら
変動の大きいSQLで共有カーソル使わないようにするのはダメなの?
同じSQLでバインド変数の値によって実行計画が変わるからっていうことなら使えないけど

18 :
>17
もちろんバインド変数の値によって実行計画が変わる可能性がある(というか変わるべき)という前提の話しです。
>16
まさにそういう話です。
やはりバインド変数を使用しないということで結論づけられていますが、プロジェクトでバインド変数を使うことがセキュリティ的に義務付けられており
守らないと納品ソースチェックでたたき返されることになります。
Oracle10gではセキュリティとパフォーマンスは両立できないと言っても、アプリ側で対応(変数値により実行計画のパターン毎にロジックでSQL文を振り分ける)しろと言われるかもしれません。
正直ハズレクジを引かされたような気分です。

19 :
バインド変数SQLをリテラルSQLに変換して実行とかできないのかなあ

20 :
そのSQL、遅いほうのバインド変数の値とプランの場合、実際のところ気になるほど時間がかかるの?

21 :
なぜ 11g に upgrade しないのか。
>>12 が言っているように 11g からの新機能を使わないと無理だろう。
何年も前のに対して「成熟していない」と言うのは無茶苦茶だな。
すでに 10g は古すぎるよ。

22 :
表領域AAAAに作ったテーブルとデータを
表領域BBBBにまるごともっていきたいのですが
SQL一本で行けるでしょうか@11g

23 :
>21
新機能…正直、考慮不足のバグ修正では?という印象です。
とりあえず皆さんのおかげで、よくわかったのでありがとうございました。

24 :
OTNからダウンロードできるOracle10gって、メディアキットの10gと同じだってことは、
PSR4当てようと思えば普通にあたるし、逆にPSR4当てればEMの証明書の
有効期限切れバグなんかの問題もちゃんと出るってことなのかな

25 :
もちろん他のバグもちゃんと再現される

26 :
>>18
わざわざ振り分けロジック作らなくとも、ヒント句にリテラル値つっこんどけば、期待してる効果になるんじゃない?

27 :
諸先輩方に質問です。
PL/SQLにて作成した、FunctionやProcedureが起動される際、
テーブルトリガーの様に決まったロジックを起動・実行する事は
可能なのでしょうか?
また、可能であれば、どの様に記述すれば良いのでしょうか?
目的としては、PL/SQL自体には手を入れず
PL/SQLの動作ログを取得したいと考えています。
宜しくお願いします。
環境:Oracle11gR2EE 11.2.0.1.0 (for Linux)

28 :
DML/DDL/DATABASE トリガーはあるけどそういうのはないんじゃないかい。
具体的にどこまでのログを取りたいのかにもよるけれど、
audit execute on ... で代用できるかもしれないし
hookするみたいに同名の PLSQL object を別スキーマに作ってその中で
ログを取得してからオリジナルをkickするように細工をできるかもしれないし、
alter system set sql_trace=true でも条件に合うのかもしれない。

29 :
>>32
もちろん製品版と全く同じだ。
だから面倒な時とか、メディア持っていない時とかはOTNからダウソして
普通にインスコする。

30 :
>26
とりあえずSQLの末尾に、乱数をコメントとして追加することで対応してみます。

31 :
>>21
> 何年も前のに対して「成熟していない」と言うのは無茶苦茶だな。
10g、古い割に、成熟してねえべぶっちゃけ

32 :
10gの成熟度なんかどうでもいいが
SQL Serverは成熟してるとでも言いたいのかね?

33 :
つ〜か、Oracleの製品で成熟は期待してはいかんよ。
機能80%動けば出荷して、でもって客にバグ出しさせればいいって
ラリー自身がそう言っていたんだから。

34 :
正直どっちもどっちかな
ベンチャー企業かよ!って
つっこみいれたくなるような
少し試せばわかるようなレベルの低い
バグ残したベータ版を製品として出荷しちゃうし

35 :
なんか方向ずれてね?
SQL Serverの固有機能をOracleに求めるなよっつう話だろ
あとプログラマなら製品に合わせてプログラム組めやってことだし
同じようなプログラムしか組めないから、へぼいものばっかできる

36 :
PSRでのバグ修正数を数えていくと
バグが収束する前に次のメジャーバージョン出してる。
アコギな商売やで

37 :
それでもお客さんはオラクルを指定してくるんだよ

38 :
どんなにバグがあっても顧客との契約上、稼働させなきゃいけないSE体験(ダブルバインドエクスペリエンス)をもれなく体感

39 :
バージョン上がるといろいろ互換性が無くなるとか
この高コスト体質はどうにかならないのかマジでね

40 :
結論としては共有カーソルはもうちょっと賢くなれよってことで
Oracleの名が泣くぞと

41 :
基本的にオラクル推進派の大半は、パフォーマンスが不安定なコストベースではなく、安定的な動作を望めるルールベースがまだ使えると信じてる気がする。

42 :
そんなアホはいない

43 :
だがCBO関連で、まともな実行計画作らないとかってバグが未だに残っているってのは
さすがに勘弁してほしいと思う
てか実行計画を作るところがブラックボックスであり、想定通りの実行計画となるかどうか、
上記のバグはおいといて実際にEXPLAIN PLANしてみんと結局は分からん、というのもなぁ

44 :
何かパフォーマンス出ねえってことで、テスト機と本番系とでプラン取り比べることになったとき、
HASH JOIN使う使わないみたいな差が出ちまうと、面倒でたまらん
色々あってヒント句付けまくることになったが、それってCBOらしくねえよな実際
TABLE ACCESS FULLとかじゃねえんだしコストも大して変わってねえんだから別に問題ねえよってのが
常識になってほしいもんだぜ
コーディング屋の小僧どもが、本番系通りの実行計画が出ていればテストで抽出できたとか、
平然と言ってるのを聞くと張り倒したくなるぜ
直すのはアプリのロジックのくせによ

45 :
ヒントっていうと、CBOにはわからないけれど設計した人間にはわかる最適プランが
ある場合にCBOに強制させるのに使うのが本来の用途なのかな。
むやみにヒントをつけまくると CBO がヒント絶対視した結果ひどいプランを選択
したりする結果にもなりかねないので、怖いっちゃあ怖い。
厳密に言うと、コストを算出する元の情報が実際と乖離している場合には
コストが同じでもパフォーマンスに差があったりするので、table full scan とか
平然と使ってるようなプランだったら気をつけないといけないですよね。
・・・まあ正確な情報を使っていても、変なプランを選んでこのコストが一番
低いぜ、とCBOが言ってきたりすることもないわけではないので油断できない。

46 :
統計情報に関しては機能的にお粗末な部分と運用が面倒なのと
運が悪けりゃDB再構築が要なバグに当たったりするから
そういう意味でも油断できない

47 :
TYPO
「要な」→「必要な」

48 :
TIMPOとな

49 :
OCRについて質問なんですが
OCRと投票ディスクがすべてつぶれた場合は、再構築で元に戻せるんでしょうか?。
OCRのバックアップも壊れています。
再構築後、RMANでDBのデータだけ戻した場合、整合性は保たれるのでしょうか?。
11gR2です。宜しくお願いします。

50 :
>>49
OCRは、4時間ごとに自動バックアップされるはずだけどそれも壊れてるの?
後、ASMメタデータバックアップは取得せてるの? 11gR2からOCRもASM管理になっているから、ASMを先に復旧しなきゃだめだった気がする。
整合性とは何を差しているのかわからんけど、クラスタ構成の整合性がとれていなければ、RMANからのリストアもできない。

51 :
11gR2 でも OCR を ASM に置くのは必須じゃないよ
OCR は cluster 構成のレジストリであって、データベースとは独立しているもので、
普通に clusterware を再構築すれば clusterware をインストール後の状態に戻せるはず
データベースの整合性については心配する必要はない、そもそも RMAN で
リストアする先が RAC である必要もないし。
もしも全部ASMに置いてあった場合は、ASM disk上書きしたりしないように
注意してねー

52 :
>>51
クラスタウェア再インストールした後に、インスタンスとかのクラスタリソース手動登録する必要ない?

53 :
完全に壊れた時の話をしているんだから、手動登録すりゃいいじゃん、ってことになるだろ。

54 :
RACは壊れると面倒臭いんだね。
そうするとスーパーコンピュータでoracle動かす方うが運用は楽なのかな。

55 :
いまどきのスパコンはGPU積んでるから
まずOracleをGPUに移植するところからだな

56 :
仕事でOracle使うことになったのですがさっぱりわかりません
Oracleから逃げだす方法はないでしょうか

57 :
仕事から逃げ出す

58 :
>>49
1. 普通にCRSをインスコ
2. netca使ってリスナーの再構築
3. srvctl add database -d [DB名] -o [Oracleホームへのパス] -p [spfileへのパス] でDBを登録
4. srvctl add instance -d [DB名] -i [インスタンス名] -n [ノード名] でインスタンスを登録
5. RMAN使ってspfileをリストア
6. RMAN使ってcontrolファイルのリストア
7. RMAN使ってDBのリストアおよびリカバリ

59 :
>>58
すまん、5の前にASM上にディスクグループ再構築が入るのを忘れていた。

60 :
sqlplusで全パッケージをコンパイルしてからsqldeveloperでパッケージ見たら緑の虫アイコンが付いてる。
sqldeveloperでコンパイルしていけばアイコンは消えるんだか一気にコンパイルできない。
緑虫アイコンは無視していいのか?

61 :
>>60
dba_objectsのstatusで確認してみたら?
それがvalidだったら無問題なんだろうし。

62 :
sqldeveloperに何を期待してるんだ

63 :
>>49
49の者です。みなさん回答ありがとうございます。
自動バックアップはされているみたいなんですが、戻し方がいまいちわからなくて
ASMもつぶれていたら、そこも戻すと言われて、なんのことかわからずで
戻し方が確立されていないのだったら、一から戻せと言われまして
構築の手順書はあるからそれで構築し直せてと言われまして
構築終わればRMAからデータ戻せと言われまして
それで動くのか聞いたら、わからんと言われまして
先輩はなんとなく手順はわかるが自信ないから、お前やれと言われまして
構築し直して、データを戻したら、それで動くのか疑問を持ちまして質問しました。
clusterの部分とDBのデータの部分が直接関係していたら、構築し直してもだめなような気がしまして
切り離して考えることができるんですね。おお。
GRIDインストールだけでもOKですか?。
やはりGRIDインストール→DBインストール→インスタンス作成→バックアップから戻すとしないといけないのでしょうか?。

64 :
>>63
58をなぜに無視する?
その感じだと高確率でうまくいかないから、サポートに問い合わせたら?

65 :
>>63
DBインストールって言っているということは、マシンのディスクが
吹き飛んで ORACLE_HOME が消滅しているとかそういうことなのかい?
とりあえず、今何があって,、何が壊れているのか判断できていないような感じ
なので、サポートに問い合わせるのをお勧め。
サポート契約がなければ、がんばれ。

66 :
>>64
すいません。手順書にはGUIでのインストール手順しか載っていないので、
58で教えてもらった作り方がGRIDインストール→DBインストール→インスタンス作成
という流れのコマンドか判断できなくて…。コマンドはオプションがいっぱいあるので難易度が高いです><。
サポートには問い合わせ中みたいで返信が返ってこない状態みたいです。
>>65
ORACLE_HOMEにはアクセスできます。ただGRIDアンインストールしてそれをもう一度入れなおすだけならいいのですが、
全部初めからやらないといけないとなると、インストールの順番があると手順書に書いてありまして、
そこにDBインストールも含まれているので、DBもインストールし直さないといけないのかと思いまして
DB保守3か月になりますが、意味不明な事態でお腹痛いです。

67 :
>>66
58の手順では、インスタンス(データベース)の作成はしていない。その代わりにクラスタリソースの登録だけしている。
データベースを作成しない理由は、新規に作成したデータベースに対して、過去のデータベースのRMANバックアップからリストアすることはできないから。
(だから先に制御ファイルだけをリストアする必要がある。)
要は、特殊なリストア手順を行う必要があって、それが理解できないのであれば、サポートの回答を待ったほうがいいよ。
ちなみにわたしは、58ではありません。

68 :
>>63
Grid homeにアクセス出来るのだったら自動バックアップから戻してみたら?
あとバージョンとプラットフォームは?
11.2.0.1と11.2.0.2とでは微妙に戻し方も違う。

69 :
Windows7(64) で使える 10g のクライアントって無いですか?
10g のDB管理画面が使いやすくて、よろしくお願いします。

70 :
DB管理画面てEnterprise Managerのこと?
Enterprise Managerなら64bit版のIE9やFirefoxで動くよ

71 :
EMだと「使いやすい」という条件がクリアできない

72 :
10gだと、まだ旧EM(DB consoleっていうんだっけ?)もあったような気がするから、どっちのことを言っているのかわからんね。

73 :
>>69が日本語としておかしいので、何を求めてるのか分からん
Enterprise Managerでいいんじゃねえの?
逆に、例えばWindowsXP(32)で動作するクライアントの、何が使いやすいとか思ってんの?

74 :
何を求めてるのか分からんのに答えれる不思議

75 :
>>66
CRSのりストアはこんな手順だ。
基本はコマンドでしか戻せないぞ。
1. ls -altr $GRID_HOME/cdata/<クラスター名>/* で、OCRの自動バックアップを確認
2. crsを排他モードで起動
 - 11.2.0.1の場合は $GRID_HOME/bin/crsctl start crs -excl
- 11.2.0.2の場合は $GRID_HOME/bin/crsctl start crs -excl -nocrs
3. ASM上のディスクグループの再作成
sqlplus / as sysasm
  SQL> create diskgroup <DG名> external redundancy disk 'ORCL:ASMD40' attribute 'COMPATIBLE.ASM' = '11.2'; 
4.rootユーザーでocrのりストア
# $GRID_HOME/bin/ocrconfig -restore $GRID_HOME/cdata/<クラスター名>/backup00.ocr
5.11.2.0.1の場合は下記のコマンドでcrsデーモンの起動 (11.2.0.2の場合にはスキップ)
# $GRID_HOME/bin/crsctl start res ora.crsd -init
6. 下記のコマンドでvotingデバイスの再作成
# $GRID_HOME/bin/crsctl replace votedisk +CRS
7.ASMのspfileの再作成
8.CRSを再起動
 $GRID_HOME/bin/crsctl stop crs -f
$GRID_HOME/bin/crsctl start crs

76 :
基幹システムをホスティングに移行しようと計画しております。
とあるデータセンターからの提案で、ライセンスを気にせず9iから11gまでのエンタープライズ版を
自由に使え、正規保守もその会社経由で受けられるサービスがあると言うのですが、
ご存知でしょうか?
VMwareでの提供らしいのですが、OracleがサポートしているOSなら何でも構わないらしいのです。

77 :
>>76
というかVMWareってそんなに全部のO/Sに対応しているものなのか?

78 :
>>77
あらかじめセットアップ済みのVMwareのイメージが用意してあって、そいつを使うとか言ってました。
VMwareがどんなOSに対応しているかは不明です。
サービスは、Oracleとそこのデータセンターが包括契約みたいなのを結んでいるらしいです。
だからそのデータセンターが客にいくらで売ろうがOracleは関係ない、だから安く提供できるって言う話です。
Oracleのサイトにはそんなサービスは載っていないし、データセンターのサイトでも詳細は乗っていません。
もし似たようなサービスを受けてらっしゃるかたがいらっしゃれば、物理サーバとの比較など教えていただけたらと思いまして質問させていただきました。

79 :
あるんだとは思うけど、
仮想環境だとハード寄りのチューニングがし辛いから性能出なくてハマることもある。

80 :
先週末にオラクルマスターの試験受けいったら、サーバトラブルで試験受けられなかった。
来週にはなるかも?って言ってたけど、オラクル公式・ピアソンVUEのHPになんも告知がない。
都合の悪いことは告知しないんだろうか。高い受験料とってくるのに。
復旧状況どなたか聞いてませんか?

81 :
オラクルマスターって製品バクに関する知識とかも出題されるの?

82 :
>>78
良くも悪くもいろんなハードリソースを共有するってことじゃないかな。
SLAとかがちゃんとあればいいんだろうけど、ベストエフォートだと、基幹システムには向かないと思う。
ゲストが増えるに従って競合が増えていく。ハードのキャパを超えた時点で一気に性能が落ちる。

83 :
>>81
> オラクルマスターって製品バクに関する知識とかも出題されるの?
シルバーあたりだと、Opatchの使い方とかは出た気が
そういえば、何かのアドバイザが桁違いのメチャクチャな結果を出すとかいうバグがあるんだが、
そのバグにより出ている桁違いのメチャクチャな結果を見て良否を判断せよという問題を見て、
思わず失笑してしまいそうになったっけな

84 :
>>69
で質問したものです。
書き込んで下さった皆さん、ありがとうございました。
そして、説明不足で申し訳有りませんでした。
>>72 さんの指摘された、Javaで作られた感じの、管理画面です。
12gから、ブラウザを使った、WEB画面での操作が使い難く、質問しました。
管理者用でクライアントをインストールできれば良いので、
「10g のクライアント」などという表現で、混乱させてしまいました。
懲りずに、再度アドバイスを、よろしくお願いします。

85 :
9iのiや10gのgって何の略ですか

86 :
>>85
i => いい感じ
g => グングン来ている
というのは嘘だ。
i => Internet
g => Grid


87 :
面白くて腹が捩れそうだ

88 :
あぁ、まったくだな。

89 :
加齢臭がひどいギャグ

90 :
12g って。まだもうちょい先だろう。

91 :
11.3あたりからGridをやめてCloudにするんじゃね?

92 :
そういや10gが出た時に「Oracle10グラムって何?」って聞いてきたオヤジがいたな。

93 :
改行(笑)

94 :
長文失礼します。
トラブルシュートの方針を教えてください。
(環境)
開発サーバ1台と個人PC1台の環境。
サーバはWindows Server2003 StdにOracle10.0.2.0。
個人PCはWinXP Proとクライアント10.0.2.0。
(症状)
開発サーバのsqlpluswにて、あるSQLを発行するとsqlpluswが応答なしになります。
個人PCのsqlpluswから同じSQLを発行しても、sqlpluswが応答なしになります。
JDBC接続してプログラムから同じSQLを発行すると正常に終了します。
いずれの場合もOracleのインスタンス、リスナーは正常に動作しており、エラーなどは記録されていません。
OSのタスクマネージャではCPU使用率、メモリ使用率ともに高負荷にはなっていません。
また、個人でお勉強中のためサポート契約はありません。
(聞きたいこと)
まず応答なしになった状態でOracle本体の処理は終わったのか、処理中なのか調べたい。
応答なしのクライアントをそのままにして、別途sqlpluswにてv$session, v$session_wait, v$lockをみれば良いのでしょうか。
その他、ここを確認すべしという点を教えてください。

95 :
>>94
状況の確認は今考えてるところからでいいと思う
全く同じSQLをsqlplusw.exeで実行したら応答なしでsqlplus.exeなら普通に実行できるという事例があるし
sqlplusw.exeは昔からsqlplus.exeとは違うバグの多いモジュールなのでsqlplus.exeの方を使うほうがいいよ

96 :
>>94
処理中かそうでないかは、v$sessionのstatus列を見ればわかる。
(ACTIVEが処理中)
詳しくは、
ttp://www.oracle.com/technetwork/jp/articles/chapter1-2-084070-ja.html#p02a

97 :
94です。
お二方ともレスありがとうございます。
更に情報を集めた結果、まずはv$sessionとv$transactionを確認すれば良さそうだとわかりました。
sqlpluswがバグ多いという件についても調べてみたのですが、11gで廃止されているのですね。
EnterpriseManagerConsole(Java)もなくなってしまったようで残念です。

98 :
あれこれ作っちゃ放り出すのはまぁいいが、SQL*Plusを残すんであれば、
そのSQL*Plusをもっと機能拡張したり、変な制限を撤廃してほしいもんだよ

99 :
メンテできる人間がもう会社にいないのだろう

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼