Oracle 質問総合スレ10

このエントリーをはてなブックマークに追加
1NAME IS NULL
2NAME IS NULL:2014/06/27(金) 23:06:14.04 ID:???
いちおつ
3NAME IS NULL:2014/07/08(火) 06:45:33.24 ID:/yC5UX4g
dynamic resource masteringってどんな機能なんでしゅか
4NAME IS NULL:2014/07/08(火) 22:40:43.23 ID:???
>>3
Cache Fusion におけるマスターノードが、処理によって動的に
変化する機能。のはず。
http://www.oracle.com/technetwork/jp/articles/yagi-cache-fusion-098964-ja.html#c01
5NAME IS NULL:2014/07/09(水) 01:54:10.52 ID:JPui3ZGp
CentOS 6.5 (64bit) に Oracle 12c をインストールできたのは良いのですが、
proc で 32bit モードのコンパイルをするにはどうしたら良いのでしょうか?
6NAME IS NULL:2014/07/09(水) 07:10:47.95 ID:T3s015Q5
>>4
つまりアプリ側でアクセスするブロックを決めちゃってる場合は止めっちゃった方がいいんですかね?
例えばパーティション分けして1ノードはここ2ノードはここってアプリが制御してる場合
7NAME IS NULL:2014/07/09(水) 23:34:10.50 ID:???
>>6
逆にアクセスブロックがノード固定するような場合に有効な機能だと思う。

ただ、DRMはクリティカルなバグが多いイメージ。
8NAME IS NULL:2014/07/10(木) 23:36:58.02 ID:???
SQL Loaderの質問はこのスレでいいんでしょうか。。。

    INFILEの件数と、ロード時間って比例するものでしょうか?
    件数を急に増加したら、ロード時間がすごいかかるようになってしもうた。
    制御が返ってこないから遅いだけなのか
    それともエラー担ってるのかもわからん
    
LOGに指定したファイルは空ファイルしか作成されない。。。
    BADFILEも空だし。、
    エラーになってるのか件数多いから遅いのか
    切り分けつかないですし。。。
9NAME IS NULL:2014/07/11(金) 05:19:34.85 ID:JTqJ9l1+
SQLLoaderをわざわざ使う意味ってなんですか?
10NAME IS NULL:2014/07/12(土) 01:54:20.35 ID:???
>>8
アラートログとか V$ とかで動きは見た?

状況から思いつく対処としては
・ROWSとかBINDSIZEとか大きくする。
 必要なら REDO ログも大きくする。
・他トランザクションとかで許可できるなら DIRECT=TRUE にする。
のどちらか。

>>9
外部表で十分?
広義の解釈だと TYPE ORACLE_LOADER なら SQL*Loader とも。
索引も更新も不要ならそれでいいかも。
11NAME IS NULL:2014/07/12(土) 03:10:20.07 ID:+BQsWZDS
>>8

LOGに指定したファイルは、処理が完了したタイミングで出力されるから
空ファイルのままってことは、処理が遅いかとまってるかのどっちかかも。
後は可能性低いかもしれんが、そのSQL*Loaderの
コントロールファイルのバグとか、Oracle自体のバグとかね。
オラッパチ時代はいろんな不具合があったから
125:2014/07/12(土) 13:06:44.04 ID:kAC+71g4
自己解決した。

Oracle 12c は 64bit 版しかないが、Clientは32bit版があって、そこに入ってる
proc は 32bit モードでコンパイルできる。但し LD_LIBRARY_PATH の指す
ディレクトリは全て32bitのライブラリの在処になってなければならず、当然
gcc のためにも32bitライブラリを入れておかねばならない。
13NAME IS NULL:2014/07/13(日) 12:28:24.33 ID:???
今後も12cは32ビット版を出すつもりはないんでしょうかねぇ・・・
14NAME IS NULL:2014/07/13(日) 12:55:11.02 ID:???
>>13 いまさらDBに32bitは必要ないだろ...
15NAME IS NULL:2014/07/13(日) 21:53:33.21 ID:???
オーラオラオラオラオラ
16NAME IS NULL:2014/07/13(日) 22:34:30.48 ID:???
クールクルクルクルクル
17NAME IS NULL:2014/07/14(月) 19:07:22.67 ID:???
エレブン爺♪
18NAME IS NULL:2014/07/15(火) 07:55:26.56 ID:???
ベネッセはオラクルだったのね。
19NAME IS NULL:2014/07/15(火) 09:35:44.60 ID:???
金持ちはみんなオラクルさ
20NAME IS NULL:2014/07/15(火) 22:16:12.78 ID:???
21NAME IS NULL:2014/07/15(火) 23:07:01.30 ID:???
sys権限持っていたら、監査表に対してもゴニョゴニョ出来そうな気もするけどな。
22NAME IS NULL:2014/07/16(水) 11:07:40.07 ID:???
破壊はできても、改竄するのはできんだろ(かつ辻褄が合うように)。
23NAME IS NULL:2014/07/16(水) 22:17:47.81 ID:???
sys.aud$のデータは一応マニュアルで消そうと思えば消せる。
ただマニュアルで消すと、public synonymが幾つかinvalidになるから、
そいつらを後からrecompileする必要がある。
こうなると後はログマイナーでSQLを追わないとならないから、
発覚する確率はかなり低くなるだろうなw

結局今回もダイレクトメールが顧客に届いて、そこから発覚した訳で、
それが無かったらいちいち監査ログを解析なんてしてないというのが
実情なんだろうけど。
24NAME IS NULL:2014/07/16(水) 23:05:13.39 ID:???
それは辻褄が合っていると言えるのだろうか。。。
25NAME IS NULL:2014/07/16(水) 23:22:49.92 ID:???
sys.aud$からselectしたという記録は消えるよ。
26NAME IS NULL:2014/07/16(水) 23:57:13.11 ID:???
だから、それはただの破壊でしょ。
矛盾を残したままだと、OSとかNW(認証、流量など)とかそっち方面から追跡されたときに確実に追い詰められる。
27NAME IS NULL:2014/07/17(木) 01:02:55.35 ID:???
ドメインの共通サービスアカウント
共有PC
データベースサーバのOracleユーザー

これ揃えば完全犯罪だよね
28NAME IS NULL:2014/07/17(木) 01:47:16.81 ID:???
>>27
一番肝心なDBサーバのrootが抜けてる。
29NAME IS NULL:2014/07/17(木) 02:39:03.50 ID:???
>>26
まあ、OracleはDatabase Vaultでそういった事細かなセキュリテイを
実現させようとしてるんだろけどな。
DBAと監査権限を持ったユーザーとを分けて初めて、監査が機能
するんだろうけど、どう見ても今回はDBAも監査ユーザーも同じ
会社の人間っぽいよなぁ。
30NAME IS NULL:2014/07/17(木) 18:12:14.20 ID:???
そもそも本番機のrootとgridユーザのパスは申請の都度払い出し
監査はDBサーバーとは別個の完全に独立した機能で厳しくチェックされる。
USBメモリも検知出来ないシンフォームの作ったシステムがおバカなだけ。

この人顧客との信頼関係や仕事の喜びとかをどう捉えてるんだろ?
31NAME IS NULL:2014/07/17(木) 22:36:53.37 ID:???
みんなベネッセの件で余計な仕事増えてるんだな...

業務委託先にSYSやOSのrootパスワード垂れ流し&監査無し&DMP取り放題

機密保持契約結んでるから大丈夫って事でこんな事になってたのに
いまさら見直せときたもんだ...
32NAME IS NULL:2014/07/17(木) 22:50:45.48 ID:???
DBのパスワード自体、システムで1つしかないし、
システム開発者なら誰でもその内容も知っている
監査ログももちろんOFF(´・ω・`)
33NAME IS NULL:2014/07/18(金) 00:22:18.00 ID:???
うちは監査ログはデフォルトでNONEだわ。
だって余計な領域を食うじゃん?
34NAME IS NULL:2014/07/18(金) 01:46:33.53 ID:???
監査をオンにしていてもチェックする奴がいなけりゃ、意味無いわな。

ベネッセ、把握に半年…経産相「国民が不安」
http://headlines.yahoo.co.jp/hl?a=20140717-00050063-yom-soci
35NAME IS NULL:2014/07/19(土) 10:06:52.23 ID:???
質問。
マテリアライズドビューって、Standard Edition One でも使えるの?
11.2.0.1です。
36NAME IS NULL:2014/07/19(土) 12:14:10.30 ID:???
EE
37NAME IS NULL:2014/07/19(土) 17:04:53.08 ID:???
マテリアライズドビューって「基本レプリケーション」のことよね?
以下を見ると、
http://docs.oracle.com/cd/E16338_01/license.112/b56284/editions.htm#CJACGHEB
基本レプリケーションが Y Y Y となっているので、SE One でも使えるように思うのだが、
どうなのだろう??
38NAME IS NULL:2014/07/19(土) 17:14:21.31 ID:???
読み取り専用って書いてあるじゃん。

更新できないマテビューに何の意味があるのかと。実質的には使えないってことだ。
39NAME IS NULL:2014/07/21(月) 16:09:06.49 ID:???
11gでimpdpの質問なんですが、今データ移行をやっています。

ある数十GBのテーブルがあって、それをimpdp後、一部のカラムだけ固定文字を付加したいのですが、
何億行もあってupdateに何時間かかるかわかりません。
40NAME IS NULL:2014/07/21(月) 16:14:28.14 ID:???
(すみません、途中で投稿してしまいました。)

回避策として、ワークテーブルにimpdp後、
対象のテーブルに固定文字を付加してダイレクトインサートしようと思っています。

ワークテーブルにimpdpするときはCONTENT=DATA_ONLYにして、
対象のテーブルにダイレクトインサート後、インデックスをenableにしてrebuildすれば、
直接impdpしていることと同じになるでしょうか?
41NAME IS NULL:2014/07/21(月) 20:00:22.75 ID:???
>>39
11.2.0 ベースでかつ、NOT NULL 可能な前提であれば。
impdp 後に alter table add ... default ....; でいいと思うけど。
alter table によるカラム追加+default 指定はメタデータ変更のみ
なので、実データは操作しないので一瞬で終わるはず。

詳しい挙動はオプションとかでも変わるので、マニュアルをよく読んでみてください。
http://docs.oracle.com/cd/E16338_01/server.112/b56299/statements_3001.htm#i2198241
42NAME IS NULL:2014/07/21(月) 23:42:44.58 ID:???
ベネッセ様のおかげでDB監査特需なのはうちだけ?
監査やセキュリティチェックの仕事がアホみたいに来てるんだが。。。

自分が担当した仕事の売上の一部を関わった人間で山分けできるから
特需が収まるまでは給与が素敵なことになりそうだ。派遣社員のテロに感謝しないとね。
43NAME IS NULL:2014/07/22(火) 07:15:56.43 ID:???
>>42
シンフォームも特需じゃないの?
なんてったって、発生元だから。

シンフォームについて語ろう【PART8】
http://hello.2ch.net/test/read.cgi/infosys/1320405862/l50
44NAME IS NULL:2014/07/23(水) 00:50:45.73 ID:???
>>41
レスありがとうございます。

固定文字を付加して、とは、カラムの追加ではなく、
純粋なUPDATE文のことです。
update hogetable set field1 = 'hoge' || field1
みたいな。

このupdateが重いので、古典的なワークテーブルをかませるので、
直接対象テーブルにimpdpする場合と同様な状態にするには、
ワークテーブルからダイレクトインサートした後に何が必要なのか調べています。
45NAME IS NULL:2014/07/23(水) 22:05:17.28 ID:???
>>44
純粋なUPDATEだったんだ。
完全固定で、その後に追加更新されるレコードはどうするの?

追加更新するデータも固定文字列をつけていいなら、VIEWで
終わらせてしまうのが簡単だと思うけど。
それとも絶対テーブルを更新したいのかな。
46NAME IS NULL:2014/07/24(木) 22:34:08.86 ID:???
10GBくらいの小さいDBを扱っているのですが、
インデックスとメモリの使用率って関係ありますか?

効率的にインデックスが貼られていると、メモリの使用率が低くなる気がするんですが
47NAME IS NULL:2014/07/24(木) 22:39:35.64 ID:???
当たり前だ。

テーブルスキャンが減る→使用するバッファも減る。
ってだけだ。
48NAME IS NULL:2014/07/24(木) 22:51:36.80 ID:???
インデックスも目的自体がそういうことだろ
49NAME IS NULL:2014/07/24(木) 23:06:52.78 ID:???
>>46
そりゃあ、あるだろうよ。
効率的にインデックスが張られていれば、それだけ読み込むブロックが
少なくて済むんだから。
ファイルシステム使っているのなら、特にO/Sレベルでのファイルキャッシュが
少なくて済む。
50NAME IS NULL:2014/07/25(金) 00:58:56.87 ID:???
>>45

追加されるレコードは付加文字が付いてて、
旧システムには付いていないので、
移管時にUPDATEするしかないんです。

expdp/impdpのqueryにはwhereしかないし、
一旦は取り込んでUPDATEするしかないんですよね。。
51NAME IS NULL:2014/07/25(金) 01:26:45.31 ID:???
>>50
数十GBのテーブルにUPDATEだとUNDOの心配とか出てくる。

impdp 時に remap_table して、ワークテーブルとしてインポート。
どうせフルスキャンさせるんだから、テーブルだけでいいと思う。

CREATE TABLE ( ... );
INSERT /*+ APPEND */ INTO NEW_TAB SELECT .. ,'HOGE'||COL "COL",.. from WK_TBL;
CREATE INDEX idxXX on NEW_TAB( ... );

みたいな感じでいいんじゃないかな。
多分 >>40 の時点で想定してる操作だとは思うけど。
52NAME IS NULL:2014/07/26(土) 08:10:41.68 ID:???
12cのマルチテナント使ったことある人いましゅか
53NAME IS NULL:2014/07/27(日) 12:11:43.04 ID:???
今検証中。本番可動はまだ。
テナントに乗せると次からサーバーリプレースが楽になるから出来れば使いたい。
54NAME IS NULL:2014/07/27(日) 13:21:10.08 ID:???
検証はしてるけど、EEオプションがネックで導入するところは無い予感。
ビッグユーザはExadataに行ってるし。
55NAME IS NULL:2014/07/27(日) 15:22:02.98 ID:???
12cを非PDBで使うメリットってなんかあるんじゃろうか?
他の新機能もそんなに目を引く魅力的なものはないし、
バグが恐いから大人しく11gR2使ったほうが無難なような気がするが、
みんなどう思う?
56NAME IS NULL:2014/07/27(日) 20:23:30.83 ID:???
>>54 1個だけならSEONE SEでも使えるで。
サーバ引っ越すときに、共有ストレージにDBがあればUnplug/Plugで簡単に引っ越せるし
引越し先のDBバージョンが上がってても使える技術らしいから使っとき。

>>55 PDB使わないなら11.2.0.4+パッチが無難だろうけど、
11.2はサポート期限のケツが決まってるから、その環境を何年使うかで考えるしかないかと。
11.2もいまだに海外のOracleに問い合わせをして初めて新種のバグだってわかる事例がパラパラあるからな...
57NAME IS NULL:2014/07/28(月) 12:25:19.15 ID:???
CDBにパッチあてたら全PDBがアップグレードされるんでしょ。
一旦別CDBにプラグしなきゃいけないから運用大変そう。
58NAME IS NULL:2014/07/28(月) 23:20:54.24 ID:???
ストレージが共通ならプラグはそんなに時間かからず出来るし
今まで見たいに複数の環境にパッチをチマチマ当ててる手間考えたら相当便利だよ。
EE+オプションだから導入コストが高すぎて導入できないけどな...

SERACでコンテナ機能がフルで使えたら、2003Serverで動いてる10gの産廃サーバ15台を
3ノードSE RACに統合できてただけに残念だわ...
59NAME IS NULL:2014/07/29(火) 01:13:52.55 ID:???
>>51
レスありがとうございます。

想定していた操作でも、経験者と同意がとれるだけでも安心材料になります。

ところで、remap_tableとqueryが同時に使用できないことが分かりました。
(仕様なのか、バグなのか)
このあたりの情報ご存知でしょうか?

また、NEW_TABはあらかじめ作成しておくのですが、
alter INDEX idxXX disable;
INSERT /*+ APPEND */ INTO NEW_TAB SELECT .. ,'HOGE'||COL "COL",.. from WK_TBL;
INSERT /*+ APPEND */ INTO NEW_TAB SELECT .. ,'HOGE'||COL "COL",.. from WK_TBL2;
alter INDEX idxXX enable;
alter INDEX idxXX rebuild;
とするより
DROP INDEX idxXX cascade;
上記INSERT
CREATE INDEX idxXX on NEW_TAB( ... );
とした方がよいでしょうか?もしくは同等でしょうか?
もはやimpdpの話ではないですが。。
60NAME IS NULL:2014/07/29(火) 01:19:46.18 ID:???
>>51
とりあえずUPDATEの方法はペンディングしました。
UNDOの拡張もすぐにはできなさそうだので。

一時表領域はメモリとの兼ね合いで不足のエラーになることはあっても
UNDOは使いまわしだから、1テーブルごとにimpdpすれば、
最大のテーブルのサイズがあれば不足にはならないですよね?
61NAME IS NULL:2014/07/29(火) 04:35:54.75 ID:???
>>59
remap_tableとqueryは併用出来るよ。

impdp \"/ as sysdba\" DIRECTORY=HOGE_DIR DUMPFILE=BOGE.dmp LOGFILE=imp.log \
QUERY='BOEOWNER.HOGEBOGE_TABLE1:"WHERE A = 2"' \
REMAP_TABLE=BOEOWNER.HOGEBOGE_TABLE1:HOGEBOGE_TABLE2
62NAME IS NULL:2014/07/29(火) 21:06:45.18 ID:GbdVCVbp
トランスポータブル表領域使ってる奴いる?
移行とかあれのが早かったりすんの?
63NAME IS NULL:2014/07/29(火) 23:55:57.50 ID:???
>>61
すみません、説明不足でした。

今回、表領域とスキーマもremapしていて、「テーブル名が同じ」だと
QUERY='BOEOWNER.HOGEBOGE_TABLE1:"WHERE A = 2"'
が有効になります。
しかし、remap_tableすると、なぜか全レコードがエラーもなくインポートされてしまいます。

REMAP_TABLE=BOEOWNER.HOGEBOGE_TABLE1:HOGEBOGE_TABLE2
で、移行元のスキーマBOEOWNERで修飾しただけだと、なぜかqueryが効きません。
移行先のスキーマでquery修飾しても効きませんでした。
64NAME IS NULL:2014/07/30(水) 01:45:55.58 ID:???
>>59
索引とかよけないもんは、最初から削除しておいたほうがいい。
rebuild は、create より都合が良くないこともある。

>>63
試したこと無いけど、REMAP_SCHEMA と REMAP_TABLE するのが
正しかったりしない?
REMAP_TABLE だけで SCHEMA まで換えるのは構文的に違和感。
65NAME IS NULL:2014/07/30(水) 01:47:18.71 ID:???
>>62
使った事あるよ。
ダンプファイルがメタデータしか含んでいないから、後はデータファイルの
コピーだけがボトルネックとなる。
66NAME IS NULL:2014/07/30(水) 01:48:41.42 ID:???
>>63
REMAP_TABLEでオーナーは変更出来ないよ。
67NAME IS NULL:2014/07/30(水) 12:21:36.76 ID:???
共有データベースリンクのメリットデメリットってなんですか
68NAME IS NULL:2014/07/30(水) 19:39:36.18 ID:???
サーバ上で上がってる
oracle/Middleware/agent/core/12.1.0.1.0/jdk/bin/sparcv9/java -Xmx128M
とかってなんのプロセス?
69NAME IS NULL:2014/07/30(水) 19:43:06.15 ID:???
>>63
query句これでやってみ
QUERY='sales:"WHERE EXISTS (SELECT A FROM HOGEBOGE_TABLE1 c
WHERE A=2 AND ku$.A = c.A)"'

あと>>64も言ってるがパラメータこっちのが普通かと
お前のでもできるか知らんが
REMAP_TABLE=HOGEBOGE_TABLE1:HOGEBOGE_TABLE2
REMAP_SCHEMA=BOEOWNER:移行先のスキーマ名
70NAME IS NULL:2014/07/30(水) 22:12:30.51 ID:???
>>68
Cloud control 12c用のエージェントのプロセス。
71NAME IS NULL:2014/07/30(水) 22:13:45.14 ID:???
>>67
メリット: 皆が使える。
デメリット: 接続先のユーザーの権限によっては、セキュリテイが甘くなる。
72NAME IS NULL:2014/07/30(水) 23:25:55.30 ID:???
>>71
わかりやすい!ありがとうございます。
73NAME IS NULL:2014/07/30(水) 23:28:35.35 ID:???
db file sequential readのラスボス感は異常
74NAME IS NULL:2014/07/30(水) 23:50:33.63 ID:???
11.2.0.1 を使っています。
全く同じSQL文なのに、違うSQL_IDが発番されることってあるのかな?

現在、同じSQL文にAとBというSQL_IDが発番されており、
Aには1つ、Bには3つのPLAN_HASH_VALUEが存在します。

私の理解では上記ケースの場合、AというSQL_IDに4つのPLAN_HASH_VALUEが存在し、
BというSQL_IDは発生しないものだと思っていたのですが・・・。

ちなみに見ているビューはV$SQLSTATSです。
(KROWN#133109 も確認済み)
75NAME IS NULL:2014/07/30(水) 23:55:25.66 ID:???
>>70
さんくす
76NAME IS NULL:2014/07/31(木) 00:16:04.03 ID:???
>>74
大文字・小文字・スペースまで全部一緒かチェックしてみ?
77NAME IS NULL:2014/07/31(木) 00:17:17.17 ID:???
>>73
db file scatterd readじゃなくて?
7874:2014/07/31(木) 19:53:28.09 ID:???
>>76
ありがとう、解決しました。
くだらん質問でスマソ。
79NAME IS NULL:2014/07/31(木) 20:56:18.74 ID:???
>>77
四天王の参謀どまりだな
80NAME IS NULL:2014/08/01(金) 22:15:33.31 ID:???
TOP5
log file sync
enq: KO - fast object checkpoint
db file sequential read
db file scatterd read
CPU Time

どこかのアホがストレージの選定ミスった結果この有様...

80万ぐらいでPCI-expressに挿すSSDを2枚追加してミラーしたら爆速になったけどな。
81NAME IS NULL:2014/08/02(土) 17:16:10.99 ID:???
oracleのバージョンアップってすごい機能追加されるんだな
他のDBと比べるとoracleって圧倒的に高性能って気がしたよ
82NAME IS NULL:2014/08/02(土) 18:13:52.49 ID:???
そりゃたけーもん(´・ω・`)
83NAME IS NULL:2014/08/02(土) 21:10:50.70 ID:???
RMAN勉強したいけど、12cで勉強は厳しいね
11gのemが前提の資料ばっかりで
84NAME IS NULL:2014/08/02(土) 21:17:46.23 ID:???
>>83
12cはコンテナのバックアップリカバリ概念が入ってくるから
まずは11gでシングルDBのバックアップリカバリ基礎を勉強してからのほうがいいかと。
トラブった時はem使えない事多いから、コマンドで覚えたほうがいいよ。
85NAME IS NULL:2014/08/02(土) 23:39:42.15 ID:???
nullと''が区別できない糞DBだけどなw
86NAME IS NULL:2014/08/03(日) 00:28:33.90 ID:???
そーいえばnullをinsertするときに''って書くヤツとNULLって書くヤツがいて
Oracleのバージョン変わった時におおはまりしたわ...
87NAME IS NULL:2014/08/03(日) 16:27:51.58 ID:???
区分とかコードをVARCHAR2で宣言して、検索するときにTRIM()する奴が許せない
処理速度遅すぎだし、バグ出しまくり
88NAME IS NULL:2014/08/03(日) 21:40:10.12 ID:???
TRIMする状況がわからんのだが... 桁の数字ごとに区分や意味を持たせてるんかな。
89NAME IS NULL:2014/08/03(日) 22:10:29.09 ID:???
>>83
12cのRMANから表レベルで戻せる様になったからな。
さらにプラガブルDBの指定とか細かくなっている。
90NAME IS NULL:2014/08/03(日) 22:27:36.93 ID:???
マジか。
やっとRMANの気持ちがわかってきたのに。
その前に PDB/CDB さんと仲良くなってみよう。
オプティマイザさんの気持ちは、未だに分からないが。
91NAME IS NULL:2014/08/04(月) 01:25:13.68 ID:???
追えば逃げ、逃げれば追う
92NAME IS NULL:2014/08/04(月) 21:55:44.59 ID:???
マスタをバッファキャシュに載せて、なるべく物理ioを発生させないようにしたいと考えています。
キャッシュが乗っていることで、高速化した/しないの判断はどのようにすればよいでしょうか?

ioが遅い状態を作り出せば、キャッシュが使われているかわかりやすくなると思います
テーブルフルスキャンをすればioが遅くなると思いますが、キャッシュがメモリから落ちるような気がます
93NAME IS NULL:2014/08/04(月) 22:19:19.46 ID:???
>>92
buffer_pool にテーブルkeepすればいいのでは?
94NAME IS NULL:2014/08/04(月) 22:45:06.43 ID:???
>>93
レスありがとうございます。
マスタをKEEPにして、フルスキャンするテーブルをRECYCLEに設定すればokということでしょうか?
95NAME IS NULL:2014/08/05(火) 01:06:38.19 ID:???
>>69
ku$表のヒント、参考になりました。ありがとうございます。

ただ、queryにku$表と自己参照の表でexits句付けて、いろいろ試してみましたが、ダメでした。

remap_tablespacesとremap_schemaは大丈夫なのに、
remap_tableを同時に使用することは、どうしてもできませんでした。

ワークの表に全体をimpdpして、insert select時に絞ることにしました。残念。。
96NAME IS NULL:2014/08/05(火) 02:10:00.85 ID:???
>>95
rempa_tableのremap先にもスキーマ名を指定しまっていてエラーに
なっている悪寒。
97NAME IS NULL:2014/08/05(火) 11:25:42.06 ID:???
おまえらの知識量すげえな
どうやって学んだんだ?
やっぱ経験?
98NAME IS NULL:2014/08/05(火) 21:59:52.93 ID:???
7から初めて気が付いたら12cになっていましたよ。
99NAME IS NULL:2014/08/05(火) 23:19:25.44 ID:???
経験か
場数積まないとだめなんだねありがとう
100NAME IS NULL:2014/08/05(火) 23:19:49.05 ID:???
>>97 毎日20個近いインスタンス面倒見たり、週1ぐらいでサーバの仕込みやってるといろいろ鍛えられる。
バックアップリカバリと簡易的なパフォーマンスチューニングは最低のスキルとして持っておいたほうがいいぞ。

あと、会社が資格取得を推奨してて 11g Goldですら全額会社負担+合格祝い金10万出るから
東京の東銀座(築地)で30万ぐらいするOracle講習を3つ受けて、築地で寿司食ってデリヘルで遊んで1ヶ月で鍛えられてきた。
101NAME IS NULL:2014/08/05(火) 23:24:03.54 ID:???
>>99
ボラクル社から提供されているトレーニング受けて、後は実践で
ひたすら経験積んでいくしかないな。
102NAME IS NULL:2014/08/05(火) 23:59:35.41 ID:Qedx+/Vm
高いけど何気に実務で役立つこと多いからな。
東銀座の講師は11g gold 1号のカリスマおばちゃんだった。
103NAME IS NULL:2014/08/06(水) 00:02:56.84 ID:???
>>102
自分の会社が講習やってるけど、評判良いからそのおばちゃんの講習受けに行ったわw
104NAME IS NULL:2014/08/06(水) 06:04:19.40 ID:???
>>102
俺もその人の講習受けた。すごく分かりやすかった。
105NAME IS NULL:2014/08/06(水) 21:23:15.06 ID:???
>>102
俺はそのおばちゃんの横で一緒にPlatinum試験を受けたことがある。
サインもらっておくんだったよ。
106NAME IS NULL:2014/08/06(水) 22:03:12.03 ID:???
おばちゃん人気に嫉妬!
107NAME IS NULL:2014/08/06(水) 22:38:18.37 ID:???
グローバルナレッジで受講するよりも内容がすごく濃いし
徒歩5分で銀座or築地っていう条件で飯に困らんし言うこと無いわ。
108NAME IS NULL:2014/08/06(水) 22:39:17.36 ID:???
まあ、現場の知恵ってものがあるからな。
109NAME IS NULL:2014/08/06(水) 23:12:40.54 ID:???
Oracleといったらシステム・テクノロジー・アイ
110NAME IS NULL:2014/08/06(水) 23:15:22.09 ID:???
oracleのバージョン大きくなりすぎて、じゅうにcって言っちゃう
111NAME IS NULL:2014/08/07(木) 18:14:44.06 ID:???
NESTED LOOPムカつくわー。
やりたくなかったが、ヒントでHASHを書いたら
すんげぇ快適になった。
112NAME IS NULL:2014/08/07(木) 21:40:52.58 ID:???
>>111
統計情報取ってんの?
113111:2014/08/07(木) 21:46:51.27 ID:???
>>112
もちろん。
取り直してもダメだった。
114NAME IS NULL:2014/08/07(木) 22:44:14.66 ID:/B/9rzSR
Oracle Textってテーブルの結合にも使えるの?
115NAME IS NULL:2014/08/07(木) 23:25:40.66 ID:???
>>113
なぜオラクルは自信持ってルールベース捨てたんだろうな
116NAME IS NULL:2014/08/08(金) 22:20:48.54 ID:1MM/FAXQ
そんなつまんない話よりも、こっちこっち↓笑える休憩タイム。


【「指ぱっちん」の天才霊能者八意先生に関するサイト】

天才霊能者の八意先生は埼玉県八潮市生まれ育ちの21歳です。
悩んだ時にはまず八意先生に相談しましょう。
以下のサイトを読み終わったら、
腹を抱えて大笑いしてしまうことをお約束します。

http://blog.goo.ne.jp/nichikon1/e/e6f2fcf0abd101f4cb6e50399421197d
http://blog.goo.ne.jp/nichikon1/c/9bb4322846693ae17f0b6080edca7dd1
http://blog.goo.ne.jp/nichikon1/c/aab06d5a40edbe719a91303f8cd9be11
http://blog.goo.ne.jp/nichikon1/c/ae90214bf06a9430fcfabfde25b2141f
http://blog.goo.ne.jp/nichikon1/c/677e5914e5ebf50fffbd0f963732410b
http://www.reinou.jp/bai.html
http://www.reinou.jp/rei.html
http://www.reinou.jp/warashi.html

http://www.reinou.jp
http://blog.goo.ne.jp/nichikon1

八意先生が口にしたことは絶対に起こりませんw
でも、人生の悩みなんて、八意先生が指ぱっちんで解決してくれます。

一応、コメントも含めてすべて読んでみてください。
☆コメントの書き込みも大歓迎です。☆
117NAME IS NULL:2014/08/08(金) 22:57:57.21 ID:21gP43QD
カス中国人SAPエンジニアが設計したデータ構造

columnA|columnB
-------+---------
CCC DD|EEEE FFFF

CDEFは全て外部キー

SQLloaderでtsvにして渡すから各columnをスペースで区切ってお前のDBで正規化しろだと?
中国ではこんなのが普通なのか?
118NAME IS NULL:2014/08/08(金) 23:05:51.71 ID:???
学生でもやらないな・・・
119NAME IS NULL:2014/08/08(金) 23:19:38.38 ID:???
腐ってやがる!!
120NAME IS NULL:2014/08/09(土) 00:51:26.17 ID:???
>>113
どうやって取ったのか。依存カーソルの破棄はした?
テーブルサイズと、サンプルサイズは?
とか疑問はあるけど、そーいうどーしようも無いことに遭遇する事は確か
にあるので何とも。
カーディナリティ・フィードバックに悩まされたりするし。

>>114
TEXT索引を作成して、contains とかの問合せ演算子を使わなければ、
ただのカラムでしかないのでできるはずだけど、何をしたいの?
TEXT索引付けるようなカラムを結合条件にする状況が、想像できない
んだけど。
121「ガスライティング 集団ストーカー カルト」で検索を!:2014/08/09(土) 08:20:15.76 ID:rPj5oVaE
★マインドコントロールの手法★

・沢山の人が偏った意見を一貫して支持する
 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法

・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法


偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い
.....
122NAME IS NULL:2014/08/09(土) 23:50:45.47 ID:???
impdp時にアーカイブログを出力したくないのですが、
事前にアーカイブログモードをノーアーカイブログモードするしかないでしょうか?

現行の運用はアーカイブログモードで、表領域もLOGGINGで作ってあります。
123NAME IS NULL:2014/08/10(日) 00:06:15.15 ID:???
impdpはデフォルトでダイレクト操作だと思ったけど。
本当にアーカイブログが大量に出たりしてる?
(CREATEとかメタデータ操作によるREDO生成はある)
124NAME IS NULL:2014/08/10(日) 00:25:47.08 ID:???
>>123 impdpはアーカイブログ出るよ。
ttp://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19211-01/dp_import.html#4185

本番環境の別スキーマにデータ移行してて アーカイブログが溢れてDB止まった事件が何度もあるのはうちの会社だけじゃないはず... 
(俺はそんなアホしないよ)
125NAME IS NULL:2014/08/10(日) 10:57:43.48 ID:???
>>122
1. メタデータのみをインポート
2. 表と索引をnologgingモードに変更
3. データのみをインポート
4. 表と索引をloggingモードに変更
126NAME IS NULL:2014/08/12(火) 00:42:11.72 ID:???
>>125
ありがとうございます。
まさに求めていたレスでした。

今日試してみたところ、アーカイブログモードで表領域がloggingでも
表とそのインデックスをnologingにすれば、ログは出力されなくなりました。

ただ、テスト対象が整理されてないかもしれませんが、
loggingになっているテーブルでも、impdpでログが出力されないものがありました。

ログ出力されるかどうかは、
user_tablesとuser_indexesのlogging列がYESになっていること以外に
条件があるのでしょうか?

また、明日試してみようと思いますが、表領域をnologgingにすれば、
それに属する表は、すべてログ出力しなくなるのでしょうか?
127NAME IS NULL:2014/08/12(火) 00:46:21.86 ID:???
いずれにしても、DB移行中に、
わざわざmount状態にして一時的にノーアーカイブにするとか、
RMANでログを追いかけながら削除しようとしていた負担が一気になくなりました。

先週、移行リハでimpdpしていたら、ログがパンクしてローカルからしかつながらなくてあせったり。

移行に慣れている人にとっては、当たり前の話なのかもしれませんが。
128NAME IS NULL:2014/08/12(火) 22:24:55.92 ID:???
以降先のDBを止められるならノーアーカイブに切り替えたほうが楽じゃね?
止められないなら書かれてる手順だけど。
129NAME IS NULL:2014/08/14(木) 20:21:05.19 ID:???
exp/impでindex持ってくときって移行先でindexの断片化って解消されるですか?
内部動作的にはindex=yで移行したらcreate tableしてデータinsertして、
indexをcreateしてると思うので作りなおしてるって考えで良いんでしょうか?

表領域の断片化じゃなくて、ブロックの内でデータがindexの貼り直した時の状態になるのかどうかを気にしています。
130NAME IS NULL:2014/08/14(木) 21:16:23.38 ID:???
いえーす
131NAME IS NULL:2014/08/15(金) 01:32:46.64 ID:???
>>128
いろんなクラスタのミドルが動いていて、mount状態にするのがハードルが高いのです。

ただ、今日、impdpにqueryをつけると、ダイレクトパスにならず、
nologgingが効かなそうなことが発覚。

どなたか詳しい人いますか?

大きいテーブルは、すべてワークテーブル作ってqueryなしで全レコードimpdpし、
そこからinsert /*+ append */selectすればよいかな。。
132NAME IS NULL:2014/08/15(金) 08:26:37.16 ID:???
Oracle ASM(Grid infrastructure)の欠点を
お前らの体験レベルで教えて欲しい
133NAME IS NULL:2014/08/15(金) 17:24:10.00 ID:???
>>132
ASMインスタンス分のリソースが必要。
KROWN#165265でインスタンスダウン。
KROWN#165683でインスタンスダウン。
134NAME IS NULL:2014/08/15(金) 18:30:38.62 ID:???
>>132
ASMメタデータ含むディスク破損した時のリカバリ手順が複雑、難解。

ASMアーキテクチャ理解、コマンド習得のための学習コスト

上記を理解していない人が適当に作ったシステム保守の潜在リスク
135NAME IS NULL:2014/08/15(金) 20:26:45.57 ID:???
>>132

>>134 これ

某ストレージのファームバグでデータが吹き飛ぶ事故を経験してから
異ベンダーのストレージ2筐体+ASMで領域をミラーリングしましょって対策立てた人がいて
十分な経験無いのに初めてASM導入したら、オペミスで領域吹き飛んで火事になったわ。

十分なスキル持った人間を育成して行うか、外部委託してプロに保守やらせないとヤバすぎ。
にわか11g GOLDに仕事させたらあかん。
136NAME IS NULL:2014/08/15(金) 20:49:11.58 ID:???
オペミスって具体的になにやったの?
137NAME IS NULL:2014/08/15(金) 22:30:37.42 ID:???
夜中に呼び出されて緊急出社したら「コマンド間違えて領域飛ばしちゃった♪♪」としか教えてくれず
構築した人間が捕まらなかったから、ディスクグループ再作成とRMANのリカバリをやらされたよ...
計画停止だったからRMANのコールドバックアップセットが残ってて助かった。

キチっとした会社だと原因究明と対策を立てる検討会議をするんだろうけど
そんな事やってる暇ないからととっと復旧させて次の仕事進めろって事でもみ消された。
138NAME IS NULL:2014/08/15(金) 23:13:51.52 ID:???
Goldホルダーでも未経験は怖いからな
ウチの会社はどんなに資格持ってても教育しまくりよ
139NAME IS NULL:2014/08/15(金) 23:22:13.12 ID:???
11g Gold でも ASM はそんなに出題されないからな。
個人的には Grid infrastructure や RMAN の Expert 資格があってもいいんじゃないかと思う。
140NAME IS NULL:2014/08/15(金) 23:24:40.93 ID:???
こうして考えると、Grid infrastructureの上に成り立っているRACって
やっぱムズイわー。
141NAME IS NULL:2014/08/15(金) 23:47:38.71 ID:???
RAC Expertの資格はあるだろ。勉強になったよ。

Platinum11g + RAC Expert でも仕事はないけどなー
142NAME IS NULL:2014/08/16(土) 01:03:02.90 ID:???
RMANはたまに使わないとリカバリ手順ボケるから
毎月1回、二人ペアで相方が無作為にDBぶち壊してもう一方が
リカバリする訓練してるけど、ASMは無理だなー

12cのRMANもそろそろ勉強しないといけないし面倒だわ。
143NAME IS NULL:2014/08/16(土) 11:45:55.72 ID:???
>>141
それで仕事無いってなんで?
144NAME IS NULL:2014/08/16(土) 13:34:18.33 ID:???
営業努力が足りんだけじゃね...

2003Serverからのリプレース案件とかベネッセの影響で監査強化の案件が沢山きてるから手伝ってほしいわ。

SPARC + SSDストレージのSE RACにサーバ統合する提案が大ヒットして保守契約まで取れて忙し杉。
145NAME IS NULL:2014/08/16(土) 19:29:24.38 ID:???
>>143
やっぱりDBA集団の会社に転職しないとだめか。
俺だけ頑張っててもしょうがないということなんだよなぁ。
146NAME IS NULL:2014/08/16(土) 19:33:13.52 ID:???
アプリ開発会社の中でDBAやってても構築案件はこないぞ。
ハードとDBとアプリを一元的に販売して保守まで面倒見る提案しないと。
147NAME IS NULL:2014/08/16(土) 19:49:39.00 ID:???
>>145
資格とか独力で取ったんかよ。
すげーな。
148NAME IS NULL:2014/08/16(土) 21:35:52.13 ID:???
linux版のoracleめちゃくちゃインストール面倒いなー
windowsしか使ったことないから知らなかった

linuxでRACとかやっている人、技術レベル高すぎだろ
149NAME IS NULL:2014/08/16(土) 21:41:16.55 ID:???
Linux/Unixはカーネルパラメータの概念知らないと運用始まってから大ハマりするからな...
Windowsは簡単に構築できて2008R2はかなり安定してきてるから無難な選択かもしれん。
150NAME IS NULL:2014/08/16(土) 22:02:02.87 ID:???
俺なんか逆にLinuxしか触ったことないからWindows触るのが恐い。
151NAME IS NULL:2014/08/17(日) 00:07:37.24 ID:???
インストールだけなら、確かにWindowsの方が楽かな。
でも、わけわからない嵌り方しやすいのは、断然Windows。
やっぱり、OracleはUnix前提で作られている。
152NAME IS NULL:2014/08/17(日) 00:10:58.40 ID:???
ExadataのおかげでOracle LinuxとSolarisに強くなりました
153NAME IS NULL:2014/08/17(日) 00:13:41.16 ID:???
バッチシステムをちょちょいと組むのは断然UNIXの方が楽
154NAME IS NULL:2014/08/17(日) 10:33:10.18 ID:???
WindowsでRACはどう?
155NAME IS NULL:2014/08/17(日) 15:04:43.34 ID:???
Windowsサーバを使うためにはCALがいるからな。
あえてWindowsを選択する目的が限られる気がする。
156NAME IS NULL:2014/08/17(日) 17:20:31.36 ID:???
windowsの場合windows + iis + sql serverが多いので、oracle使っている所すくないよね
うちは本番サーバでrmanすら使ってないよ
157NAME IS NULL:2014/08/17(日) 18:25:15.31 ID:???
アーカイブログモードで運用+RMANバックアップで万が一に備えようって
智識持ってるヤツがいないもん...

EXPとかEXPDPしてるからいいよ!って言ってるわりに
DB壊れると泣きついてくるけど、なんともなりませんって断ってる。
158156:2014/08/17(日) 20:01:30.28 ID:???
>>157
うちの会社は50人だけど、俺しかoracle使ってないよー
expdp使いたくないけど、自分の技術じゃどうにもならん

C・Dドライブの2つしかなくて、oradataがDドライブに置かれている
これじゃ、RMAN取れない気がするんだ
159NAME IS NULL:2014/08/17(日) 20:07:46.47 ID:???
>>158
後任を育てないお前が悪い
160NAME IS NULL:2014/08/17(日) 22:16:16.25 ID:???
>>158 普通に取れるけど..
Dドライブの中にRMANでバックアップセット吐き出したあと、NASかファイルサーバにコピーしれ
アーカイブログも30分に1回バックアップとってコピーしれ

何か事故があっても30分前に戻れば何とかなるもんだ。
161NAME IS NULL:2014/08/18(月) 00:56:14.25 ID:dQVtFxWE
1Z0-144と1Z0-147ってどっち受ければいいのかな。。
162NAME IS NULL:2014/08/18(月) 19:51:55.60 ID:???
素朴な疑問なんだが、ASMメタデータってRMANでバックアップ取れるの?
md_backup&md_restoreじゃないと無理?
163NAME IS NULL:2014/08/18(月) 22:17:19.03 ID:???
>>162 正解。

うちの会社でRACが4セット動いてるけどASMのメタデータなんて
1回もバックアップ取った事が無いといまさら気づいた件...
164NAME IS NULL:2014/08/18(月) 22:19:47.27 ID:???
>>162
RMANじゃとれないよ。

Grid Infrastructureのややこしいところは、OCR、Votingディスクの格納先もASMがほぼ必須になってるとこ。

共有ディスク全損ケースのリストアテストしてみると、中々復旧できなくて楽しいかも。

ASM/OracleのSPファイル復旧が以外とハマります。
165NAME IS NULL:2014/08/18(月) 22:32:43.67 ID:???
共有ディスクはRAIDとコントローラ二重化と経路二重化で壊れない前提のシステムが多いからな...
某E社のストレージファームバグで酷い思いをした人は多いはず。
166156:2014/08/18(月) 22:50:47.10 ID:???
>> 160
ありがとう勉強になりました。
アーカイブログって他のディスクにバックアップできるんですね
167162:2014/08/18(月) 23:22:32.71 ID:???
>>163
>>164
レスありがとう。
md_backupするとしたら、タイミングはいつがいいんだろうね?
(毎日取る必要があるシロモノなんだろうか?)
168NAME IS NULL:2014/08/18(月) 23:28:17.89 ID:???
>>167
最低限、ディスクグループの構成変更するような変更が入ったタイミングで取得すれば問題ない。

定期的にとる必要はないよ。
169NAME IS NULL:2014/08/21(木) 09:11:27.79 ID:???
Oracleを起動したく
./sqlplus / as sysdba
を実行したのですが
ORA-12162: TNS:net service name is incorrectly specified
というエラーが発生してしまいます。
どういう対策をすればよいでしょうか?
170NAME IS NULL:2014/08/21(木) 11:37:02.04 ID:???
TNS_ADMIN 環境変数を設定している?
171NAME IS NULL:2014/08/21(木) 11:38:05.52 ID:???
TNS_ADMIN じゃないや。TWO_TASK か。
172NAME IS NULL:2014/08/21(木) 14:04:53.13 ID:???
>>169
ローカル接続なので、ORACLE_SID環境変数が適切に設定されてないんじゃない?
173NAME IS NULL:2014/08/21(木) 18:02:58.58 ID:???
ORACLE_SIDを設定したら一歩前進しました。
ありがとうございます!!

今度はORA-01031 insufficient privilegesというエラーが出てしまいます。
どうしたものでしょうか?
174NAME IS NULL:2014/08/21(木) 18:12:43.25 ID:???
>>173
Oracleのエラー番号ググると出るぞ
権限が不足してる
175NAME IS NULL:2014/08/21(木) 19:22:36.50 ID:???
>>173
sysdba 権限で接続するためには、OS側の実行ユーザがOSのdbaグループに属している必要がある。
176NAME IS NULL:2014/08/21(木) 20:49:29.18 ID:???
ストアドで普通にinsert文を実行していたら、突然処理が止まってしまいました。
現象は↓なのですが、どんな問題が考えられるでしょうか

@ SQL Developerのセッションモニタを確認したらば、Activeなコネクションが1つだけあった
実行中のSQLは何も表示されていなかった
A 自分がかけたロックだけで、テーブルにデッドロックは発生していなかった。
B 高い負荷がかかる処理ではないのに、CPUの使用率25%前後で推移していた
問題のあったコネクションをkillしたらば、CPUの使用率が劇的に下がった
C 問題のあったセッション以外では、普通にINSERT、SELECTを実行することができた

ループの外でただ単にinsert文を実行しているだけなので、oracle(ver 11.2.0.1)のバグなのかなー?って思いました。
insert文のあとにsql%rowcountを実行するようなロジックになっていました。
177NAME IS NULL:2014/08/21(木) 22:50:21.79 ID:???
>>176
100%発生するの?
ならSQLトレース仕掛けてみたら?
178NAME IS NULL:2014/08/21(木) 23:40:43.93 ID:???
>>176
4coreマシンで無限ループ状態になってるんじゃない?


再現性あるならSQLトレースとって実行されてるSQL確認すればどこでループしてるかわかると思うよ
179NAME IS NULL:2014/08/22(金) 00:35:48.26 ID:???
>>176
JDBC Thin driverで接続している場合にgetnextpacketで
永遠に待ち続けるバグが11.2.0.1以下であるな。
180176:2014/08/22(金) 07:06:19.29 ID:???
>>177
再現率100%なのか今日調査する予定です
>>178
Xeon 4コアなので、その通りだと思います
>>179
vb.netなのですが、ちょっと違うかもしれないです

やっぱり、ORACLEのバグっぽそうな動作ですね!!
181NAME IS NULL:2014/08/22(金) 13:29:28.89 ID:???
>>180
とりあえず、AWR/statspackなり、SQLTraceするなりして何が実行されてるのか見てごらん。

特定のSQLが大量に実行されてるならプログラム内でループしちゃってろんだろうし、SQL実行回数が想定通りなのにその状態ならバグの可能性が高いんだろうよ。
182NAME IS NULL:2014/08/28(木) 20:40:17.62 ID:???
DBLink使ったSQLの実行計画って微妙だなぁ…。
SQL*Plus の AUTOTRACE で見た実行計画と、
DBMS_XPLAN.DISPLAY_CURSOR()で見た実行計画とで出方が違うのはなんでなん??

リンク元とリンク先のDBでSQLトレースONにしてみたら、
リンク元が馬鹿な結合(MERGE JOIN CARTESIAN)を選択していて
BUFFER SORT が大量発生。
INDEX RANGE SCAN して欲しいんだけど、それはリンク先のDBしか知らない情報なので、
リンク元がMERGE JOIN CARTESIANを選択し、
リンク先に渡したSQLがINDEXを使わない形に変換されてて、TABLE ACCESS FULL になってた。

こういうケースだとINDEXヒント書いても効かなかった。
MERGE JOIN CARTESIANを辞めさそうとUSE_NL書いたら、辛うじて少し早くなった。
(リンク元がMERGE JOIN CARTESIANではなく、NESTED LOOPを選択してくれたため)
でも INDEX は使ってくれへん。。。

誰か DBLink を使った実行計画で悩んだ人、おらん?
183NAME IS NULL:2014/08/28(木) 20:41:24.78 ID:???
OS終了時のDBの終了の順位ってどうしたらいいんだろう

Redhat6.4にEnterprise Manager 12c クラウドコントロールを構築してるんですが
DB、OMSを終了させるスクリプトを組み込む場合
OMS→DBなのは確実なんだろうけどKillのどこあたりまでに実施させるのが
いいんだかさっぱりわからない
(LinuxもOracle製品も初めて触る)

OEMをインストールした際に用意されるスクリプトがK98gcstartとかだから
K99dboraとかで本当にいいんだろうか
184NAME IS NULL:2014/08/29(金) 01:50:16.56 ID:???
>>182
リンク先でVIEW作って解決。
185NAME IS NULL:2014/08/29(金) 02:04:07.57 ID:???
>>183
Killは数が小さい順番から行われるぞ。
つ〜か、デフォルトでこんな感じになってないのか?

/etc/rc.d/rc0.d/K10dbora
/etc/rc.d/rc1.d/K10dbora
/etc/rc.d/rc2.d/K10dbora
/etc/rc.d/rc6.d/K10dbora

/etc/rc.d/rc2.d/K19gcstartup
/etc/rc.d/rc3.d/K19gcstartup
/etc/rc.d/rc5.d/K19gcstartup
186NAME IS NULL:2014/08/29(金) 02:08:58.35 ID:???
OHSの話で恐縮だけど12.1.3でとうとうmod_plsqlが廃止になったな
これからはhtpパッケージとかもバンドルされなくなるな
187NAME IS NULL:2014/08/29(金) 02:42:10.38 ID:???
APEXで作りなおせというのがスタンスらしいな。
188NAME IS NULL:2014/08/29(金) 18:25:23.71 ID:???
>>184
そうか、リンク元だけでなんとかしようとするから無理があるのか。
ありがとう、解決した!
189NAME IS NULL:2014/08/31(日) 22:41:13.20 ID:???
>>188
VIEWで本当に解決したのかどうかは分からんが、そういう対処をした場合、
「これ何のためのVIEW?」って聞かれたときに、これはドコドコとのDBリンクで
リンク元のコレコレいうSQLの実行計画を最適にするため、と示せるように
情報を残しておかないと、いずれ訳が分からなくなって、
このVIEW、要らないんじゃね?
→でも消して正常動作する保障なくね?
→んじゃ残すか…
的な意味不明な存在を残す原因となりかねんよな

私見だが、世はDBLinkを安易に使いすぎだ
190NAME IS NULL:2014/09/02(火) 23:00:47.90 ID:???
>>189 うちはビューのソースの中に全部書くルールにした。

サーバリプレースの時に不要なゴミと判断されて移行対象から漏れて翌日の業務が止まった事があった。
191NAME IS NULL:2014/09/03(水) 00:30:07.44 ID:???
昔関わったシステムで、月末に動くバッチで「○○集計結果△年□月」みたいな表が作られて
そこにバッチの結果が入れられる、というのがあった

業務仕様上は、過去の業績とかを見るために必要なんだが、そんな風にして作られた表が
毎月増え続けるし、インデックスもある、統計情報も取ってる、DBlinkで参照までされてる、
という代物だった

アホみたいに表領域を消費していくし、かといってゴミとも判断できないしで、
リプレース時は全部移行したのだが、そのゴミっぽいのを移行するために
まる二日使う破目になったぜ

その後、アプリのリプレース時に、そのゴミっぽいのをどうしたのかという話は、聞かない
192NAME IS NULL:2014/09/03(水) 20:37:58.26 ID:???
1個のテーブルに蓄積すると肥大化しすぎて検索条件によっては検索遅くなるから
テーブルを自動生成して結果を出力する仕組みも悪くはないんだけどね...
193NAME IS NULL:2014/09/03(水) 21:05:26.95 ID:???
>>192
うちの会社に、SQL Serverでそういう実装している人がいる
>>191みたいな事になってるよ

> 1個のテーブルに蓄積すると肥大化しすぎて検索条件によっては検索遅くなるから
たぶん、1回でもそういう実装やっちゃうと、頭が悪い人のせいで歯止めがかからなくなるよ
194NAME IS NULL:2014/09/03(水) 21:11:29.52 ID:???
受払いを作ると、トリガーで在庫マスタを生成するようなストアド作ったんだけど
みんなは在庫上げる時、どういうふうにしてるの?

ORACLEで実装しちゃうと、javaでhibernateとか使う意味とか無いじゃん
195NAME IS NULL:2014/09/03(水) 21:39:18.50 ID:???
>1個のテーブルに蓄積すると肥大化しすぎて検索条件によっては検索遅くなるから
その為にパーティションというものがあるんじゃなかったけ?
196NAME IS NULL:2014/09/03(水) 22:38:27.60 ID:???
>>192
普通パーティション化するだろ。オプション必要だけど。
197192:2014/09/03(水) 23:35:02.97 ID:???
>>192 EE+オプションを購入/維持する予算がおりないんだよ... わかってくれよ...

アプリの開発ベンダーもうちの社員のアプリ管理者もOracleの最新機能に興味無しで
EEの有用性を理解せず、SEONEで検索が遅いだの文句をたれてるんだよ...
パーティションとは言わないけど、EEのパラレルぐらいは欲しい...
198192:2014/09/03(水) 23:36:01.37 ID:???
アンカー間違えた...
199NAME IS NULL:2014/09/04(木) 07:01:31.67 ID:???
>>197
そんな時は内緒でライセンス違反してSE1でパーティション化したら?(嘘。やっちゃいけません)
確かパーティション化はSE1でもやろうと思えば出来たような気が。
パラレルは無理だった気がするけど。
200NAME IS NULL:2014/09/04(木) 19:37:48.61 ID:Ew55DhOt
オプティマイザ統計の取得なんですが、
gather_shema_statのoptionsをgather autoにしたときの動きがイマイチわかりません。
失効、欠落は取得するんだろうけどそれ以外も何かoracleの判断があって取得とかしてるんでしょうか?
あとヒストグラムとかパーティションとか索引の統計も判断して取られてるんですよねきっと
201NAME IS NULL:2014/09/04(木) 21:52:27.42 ID:???
>>200
表の行数が10%以上変わった時に再取得される様になっている。
統計情報が欠落・失効していなくて、かつ行数が10%以上変更して
いなかったら対象から外される。
202192:2014/09/04(木) 22:14:21.13 ID:???
うちの会社で必要なのはパラレルだなー。
決算売上集計用のバッチを4コアパラレル化に最適化してSSDに乗せたら6時間が10分になった。

けど、帰るときに仕掛けて朝終わってればいいんじゃね?って事で却下された。
集計間違ってるとまたその夜に実行...って事でどんどん業務が遅延して何故か怒られるのは情シスという...
203NAME IS NULL:2014/09/04(木) 22:42:49.19 ID:Ew55DhOt
>>201
回答ありがとうございます。
ただ、表の10%変化で失効になりますよね?つまり失効と欠落の対象のみって事ですか?
それとも10%が変わった場合は、その瞬間に動的に取得されるとおっしゃられていますか?
204NAME IS NULL:2014/09/04(木) 22:49:42.52 ID:???
>>203
通常はは失効と欠落のみが対象。
行数にあまり変化がなければ実行計画を変える必要が無いというのが
スタンスなんだうろな。

それと統計情報の取得はGATHER_STATS_JOBでスケジュールされている。

- WEEKNIGHT_WINDOW
月曜日〜金曜日の22時にオープンし、8時間後(明朝6時)にクローズするウィンドウ

- WEEKEND_WINDOW
土曜日の0時にオープンし、2日後(月曜の0時まで)にクローズするウィンドウ
205NAME IS NULL:2014/09/04(木) 22:50:55.33 ID:???
>>202
パラじゃなくても、フラッシュキャッシュだけでもあるとありがたいん
だろうけどな。
206NAME IS NULL:2014/09/05(金) 06:12:16.41 ID:???
>>204
WEEKNIGHT_WINDOWとWEEKEND_WINDOWは10gね。
11gは別。
207NAME IS NULL:2014/09/07(日) 19:16:14.45 ID:???
Windows2003Server +10gの産廃サーバ軍の駆逐に成功したんだけど
42Uフル実装の環境が8Uになって冬場に温風で温まる場所がなくなった件。

最近のマルチコアCPUやSSDってすげーんだな...
208NAME IS NULL:2014/09/07(日) 20:51:33.56 ID:???
42Uフルで実装できるサーバルーム持ってるなんてすごいなぁ。
DC業者のラックだと、1ラック当たり実効8KVAまでしかないところが多いのに。
209NAME IS NULL:2014/09/09(火) 17:20:53.42 ID:???
無知ですみません
会社で情報公開するためのバグ情報や重要情報を参照する場合はoracleサポートの情報から拾うしかないのでしょうか?
210NAME IS NULL:2014/09/09(火) 21:11:37.91 ID:eSRSkbZu
基本はサポート契約しかない。
211NAME IS NULL:2014/09/09(火) 22:13:46.73 ID:???
>>209
まあ、有名なバグや情報ならググッたら出て来ることもあるけど。
ただそんなサイトにどれだけ信頼性があるかと言われると・・・。
212NAME IS NULL:2014/09/09(火) 23:31:17.17 ID:???
>>210
>>211
そうかあありがとう
KROWNとパッチのBugfixみてしこしこ見つけて行くしか無いのね
213NAME IS NULL:2014/09/10(水) 02:24:30.38 ID:???
会社で情報公開っつーと、たとえば極端な話Oracleのサポート契約を1本分だけ締結して
そのサポート契約でKROWNにアクセスした結果を社内向けに流用って使い方かな

NGだろうな

Oracleなんて単品じゃ使わずに何かのシステムで使うものなのだから、
サポート契約で得られた情報は、その契約対象のOracleを使ってるシステムの
Oracleに関するトラブル対処のためにしか使えないよ

ケチくせえんだよな
カスみたいなバグ大量に抱えてるくせに

つってもサポートの充実具合は、PostgreSQL界隈よりゃマシよ
包括的な契約する気なら、MS-SQLの方が安くつく
214NAME IS NULL:2014/09/10(水) 20:21:29.26 ID:vfAftlKB
お前らリソース制御ってやってる?どうやって設計してるの?
1日の業務処理を見て時間単位で細かくやってたりするの?
215NAME IS NULL:2014/09/10(水) 21:21:42.07 ID:???
>>214
そもそも使用率100%にならないと発動しないから、適当に業務優先度に従って割合決めればいいんでない?
216NAME IS NULL:2014/09/10(水) 22:27:06.52 ID:???
>>214
鯖の性能がそこそこ良いとリソース管理とか使うことないなぁ。
217NAME IS NULL:2014/09/10(水) 22:41:33.98 ID:???
バグだらけ
218NAME IS NULL:2014/09/10(水) 22:58:35.06 ID:???
SEONEで1台の鯖で複数のインスタンス立ち上げてる時に
インスタンス毎にCPU_COUNTで上限決めるぐらいでリソース制御なんて立派な事やらないな...
219NAME IS NULL:2014/09/11(木) 20:38:43.33 ID:???
リソース制御はある程度潤沢だったらやっぱ考慮してるとこ少ないんだな
220NAME IS NULL:2014/09/13(土) 01:31:11.12 ID:???
そーいうの以前に、
データファイルの使用率が90%超えた、どーすりゃいいの?
CPU高騰してる!
とか騒ぐ人たちって、リソース監視だけして、閾値に達したとき
の対応を何も考えてなかったりするの何なの?
221NAME IS NULL:2014/09/13(土) 01:39:11.93 ID:???
Q(吉井英勝):海外では二重のバックアップを喪失した事故もあるが日本は大丈夫なのか
A(安倍晋三):海外とはIT業界の構造が違う。日本のIT業界で同様の事態が発生するとは考えられない
1-6
Q(吉井英勝):CPUが完全に高騰した場合の復旧シナリオは考えてあるのか
A(安倍晋三):そうならないよう万全の態勢を整えているので復旧シナリオは考えていない
1-7
Q(吉井英勝):負荷軽減に失敗し各ジョブがアベンドした場合の復旧シナリオは考えてあるのか
A(安倍晋三):そうならないよう万全の態勢を整えているので復旧シナリオは考えていない
2-1
Q(吉井英勝):運用開始が遅延しお客さんが激怒した場合の被害予測や復旧シナリオは考えてあるのか
A(安倍晋三):そうならないよう万全の態勢を整えているので復旧シナリオは考えていない
222NAME IS NULL:2014/09/13(土) 09:11:41.59 ID:yR1EU4dn
>>220 そもそも監視すらしてないやつ多いからな。

自動拡張入れてるからとノーガードだったらデータファイル32GB超えてシステム止まったり
パスワード10回間違えてアカウントロックさせたり…
数百万行を1発でdeleteしてアーカイブログ溢れて心中したり…

アプリの開発はできてもDBの運用を考慮してない客は結構いるよ。
223NAME IS NULL:2014/09/13(土) 09:49:27.76 ID:???
>>222
>数百万行を1発でdeleteしてアーカイブログ溢れて心中したり…

しかもそういうヤツに限って
「どうしてアーカイブログが大量に出力したら止まるんだ?!ちゃんと運用してるのか?!」
とかって逆ギレしたりするしな。
224NAME IS NULL:2014/09/13(土) 13:26:55.94 ID:???
>>220
そんなの考えてない奴いるのか?事前に方式で詰めとくもんだろ
225NAME IS NULL:2014/09/13(土) 14:37:13.90 ID:???
>>221
笑えん
226NAME IS NULL:2014/09/13(土) 20:02:34.07 ID:???
>>220
>データファイルの使用率が90%超えた、どーすりゃいいの?
Advanced Compressionをつかう [せいかい]

みたいな現場に携わったことがある

ワロえない
227NAME IS NULL:2014/09/13(土) 20:56:03.16 ID:???
特定の表領域だけのポイントインタイムリカバリやった奴いる?
228NAME IS NULL:2014/09/13(土) 22:53:43.74 ID:???
俺はやってないが、他の表領域上のテーブルとリレーションはられてて難儀したとかいう話は聞いたことある
229NAME IS NULL:2014/09/14(日) 00:41:37.14 ID:???
表領域、パーティション、スキーマ、表とかを、分けるデメリットを考えずに、
気分的に、とかセキュリティ的に、みたいなへんな理由で分けて、
その結果運用しづらくなっている、やりたい事ができなくなっている、
みたいな事例が多いように思うんだよな
230NAME IS NULL:2014/09/14(日) 01:10:20.97 ID:???
セキュリティは大体Vaultで解決してるわ
231NAME IS NULL:2014/09/14(日) 17:16:02.25 ID:???
性能考えないでSQL組む開発者多すぎ。
特に大規模システムとかで開発と基盤で別れてるプロジェクトに多い気がする。
232NAME IS NULL:2014/09/15(月) 20:08:11.96 ID:???
>>228
やっぱそうなるよな逆に時間かかるケースもありそうだな
233NAME IS NULL:2014/09/15(月) 20:26:13.55 ID:???
>>228
開発したら終わり、運用なんて考えてませーんっていうやつ多いよね
234NAME IS NULL:2014/09/15(月) 20:54:28.77 ID:???
システムにおいては、DB屋としての視点・評価基準というものが、あると思うのだよね
それは別にDBだけではなく、NWしかりOSしかりアーキテクチャしかりだけど

そのDB屋的な視点をシステムに込めていくためには、やはりDB屋が開発の現場に
もっと首を突っ込み口を出すべきなのだと思うのだよね

無論そうするためには、開発しているシステムが何のシステムなのか、少なくとも
DBについてはどういう想定で設計をしているのか、どういう実装をしようとしてるのかを
把握してなけりゃならないし、また事実そうすべきだとも思うしさ

レビューに出向いて、たとえばパーティションを使うっていうケースなら、>>228みたいな
場合を考慮しての設計なのか、とかを場面場面で指摘していかないとさ
それでも結局、運用で問題を起こすのは、考慮されてないSQLなのだから、さ
235NAME IS NULL:2014/09/16(火) 20:09:28.76 ID:???
高速差分増分でバックアップ取るときレベル0をイメージコピーで取らないとブロックチェンジトラッキング効かなかったっけ?
バックアップセットで取っても大丈夫?
236NAME IS NULL:2014/09/16(火) 23:04:35.69 ID:???
>>235
ブロックチェンジトラッキングがどうこういう前に、
そもそもレベル0のバックアップがないと、
レベル1の差分増分は取得できないと思うよ。
237NAME IS NULL:2014/09/17(水) 22:58:24.93 ID:Ba9Lg+26
>>236
絶対そういうこと聞いてないだろwwwww

>>235
多分バックアップセットでフル取ってもトラッキング効くと思うよ
実際にレベル1取るときにiostat_function_detailの情報selectしてみて
incremental backupがuse_change_trackingの所がYになってれば効いてるはずだから確認してみ
238NAME IS NULL:2014/09/17(水) 23:05:38.94 ID:???
>>235
普通に効く。
239236:2014/09/18(木) 05:47:12.99 ID:???
>>237
ごぬん。
いらんこと言った。
240NAME IS NULL:2014/09/19(金) 20:52:21.13 ID:???
Solaris版11gR2でパーティション表へのSELECT文について質問なんですが、

レンジ・パーティションのキーが年月で切ってあって、SELECTの条件にその項目があります。

条件の値をリテラルにしてSELECTを実行した場合、静的パーティション・プーリングで対象のパーティションのみを検索します。

しかしバインド変数の場合、動的パーティション・プーリングになり、全パーティションを見にいってしまいます。

可変な条件にあったパーティションのみを選ぶようにオプティマイザにヒントなどを与えることは可能でしょうか?

また同じような事象の経験などあれば教えてください。よろしくお願いします。
241NAME IS NULL:2014/09/19(金) 22:20:38.89 ID:???
>>240
バインド変数で動的パーティション・プルーニングになるのはマニュアルにも
乗っている仕様みたいだぞ?

http://docs.oracle.com/cd/E11882_01/server.112/e25523/part_avail.htm#BABFGAEC
242NAME IS NULL:2014/09/19(金) 23:13:44.31 ID:???
>>241
レスありがとうございます。説明不足でした。
SQL解析時には変数なのでどのパーティションにアクセスするかは決まってないため、
動的パーティション・プーリングになること自体は問題ないのですが、動的に判断した結果が
いつも全パーティションにアクセスというPARTITION RANGE ALLになってしまうのが困っています。PARTITION LISTはSINGLEになっています。
243NAME IS NULL:2014/09/19(金) 23:32:37.56 ID:???
>>242
もしかしたら /*+ dynamic_sampling(4) */が効くかも知れない。
244NAME IS NULL:2014/09/20(土) 07:20:14.38 ID:???
>>243
レスありがとうございます。
統計情報は取り直したのですが、動的サンプリングは試してませんでした。
参考にさせていただき週明けにやってます。ありがとうございます。

なお追記ですが、バインドピークはプロジェクトの規約でOFFにしています。
調べたところ11gからCardinality FeedbackやAdaptive Cursorという機能があり
試してみたいのですがいまいち使い方がわからないのと、他のSQLへの影響が心配です。

他にも情報があればよろしくお願いします。
245NAME IS NULL:2014/09/20(土) 08:19:11.92 ID:???
(´・ω・`)Oracleのバックアップとリカバリの方法が分からん
246NAME IS NULL:2014/09/20(土) 08:24:03.75 ID:???
>>244
ちゃんと理由があるんだから、素直にリテラルにSQL作って流したらどうか

プロジェクトの規約なんて、そうなることを想定していなかった、ガイドラインであろう
247NAME IS NULL:2014/09/20(土) 10:30:34.98 ID:???
>>246
アドバイスありがとうございます。
動的SQLで実行することも検討してみます。
248NAME IS NULL:2014/09/20(土) 12:14:05.31 ID:???
>>245
一番簡単なのはexp/imp
249NAME IS NULL:2014/09/21(日) 06:42:57.82 ID:???
>>245
RMANで全部解決。
250NAME IS NULL:2014/09/21(日) 07:37:35.80 ID:???
>>249
仮にノーアーカイブログモードの場合、
RMANで有効なホットバックアップ取れたっけ?
251NAME IS NULL:2014/09/21(日) 08:10:32.81 ID:GNvQtJ4Y
ノーアーカイブならバックアップ中は止めないと無理。
アーカイブログモードでrmanを駆使しつつ
各スキーマーのオブジェクトをexpdpしておくと様々な事例に対応できるよ。
252NAME IS NULL:2014/09/21(日) 13:02:48.44 ID:???
pga_aggregate_target
sga_max_size
sga_target
memory_max_target
memory_target

パラメータ名称にろくな命名規則、統一性がないようなのですが
なぜでしょうか?昔からOracleは何も考えないで建て増ししてきたのでしょうか?
253NAME IS NULL:2014/09/21(日) 13:10:44.75 ID:???
パラメータ溢れかえってるから今更どうにも出来ないんじゃない?
隠しパラメータで数千とあるし
254NAME IS NULL:2014/09/21(日) 17:42:08.19 ID:???
>>253
Oracleのゴミ溜めなんですね
よくわかりました
255NAME IS NULL:2014/09/21(日) 17:58:01.48 ID:???
フラグだらけのソースコードが目に浮かびます
256NAME IS NULL:2014/09/21(日) 18:02:02.87 ID:???
>>254
でも一個でも弄っちゃうと動かなくなることがあるから不思議
全部覚えなくても参照出来るようになればいい
257NAME IS NULL:2014/09/21(日) 20:22:48.16 ID:???
(´・ω・`)バックアップソフトでバックアップしてるからよう分からん
258NAME IS NULL:2014/09/21(日) 21:23:26.64 ID:???
ちゃんと戻せる方法でバックアップが取れてればいいんじゃね。

某F痛とかRMANを自動化して使いやすくする(?)糞ソフトをアホみたいな価格で売りつけてくるけど
RMANの知識無くちゃんとリカバリできるならアリかなーと思う。
259NAME IS NULL:2014/09/21(日) 22:06:47.73 ID:???
>>252
試してるんだよ
260NAME IS NULL:2014/09/21(日) 22:37:08.31 ID:???
>>252 バージョン上がる毎に新たなパラメータが追加されたり、過去のパラメータが非推奨になるから慣れるしかない。
設定項目はあるけど有効になりませんとか、設定しても別の設定として動作しますとか簡便してほしいわ。
261NAME IS NULL:2014/09/25(木) 23:13:32.22 ID:???
12cの新機能って似たような名前ばかりで紛らわしいんやけど。

自動再最適化が statics feedback とかなんやねん。
今までどおりカーディナリティフィードバックでいいじゃん。
なんでわざわざ名前変えるねん。
「適応計画」と「動的な計画」が同じ意味とかなんじゃそりゃ。
動的サンプリングは動的統計に変わっとるくせに、
自動動的サンプリングはそのまんまの名称とかもうわけわからん。。。

誰か分かりやすく説明してくれよ。
262NAME IS NULL:2014/09/25(木) 23:57:55.49 ID:???
分かりやすく説明すると、Oracle Masterの出題項目を増やすためだ
263NAME IS NULL:2014/09/26(金) 00:25:18.85 ID:???
>>262
ワロタw
264NAME IS NULL:2014/09/26(金) 01:50:33.27 ID:???
もともと、そういったパラメータ名や書式の統一感といったものを
考慮した開発をできる体制ではないのだろうさ

なので、あるものは0が自動・あるものはautoが自動、みたいな
USのOracleの曖昧な設計の元、下請けのインド人が思いつきで
実装している、みたいな

逆にそういうヘボい事しかできない連中に、今から名称とかを
統一しろとか求めるのは、逆に怖い
265NAME IS NULL:2014/09/26(金) 18:06:55.18 ID:???
「一時履歴」と言われても、
「フラッシュバックデータアーカイブ」のことだとすぐに思いつかない。
266NAME IS NULL:2014/09/26(金) 20:36:38.52 ID:???
「期間比較ADDMレポート」と「AWR期間比較レポート」の違いってなんだ?
267NAME IS NULL:2014/09/27(土) 00:55:37.03 ID:???
これは訳し方が悪いんだ…と思って英語マニュアルの説明を読んだら
実は直訳で、英語側でも違いが分からんという事が往々にしてあるよな
268NAME IS NULL:2014/09/27(土) 09:19:15.33 ID:???
フラッシュバック系の機能ってEnterpriseじゃないと意味ないよね
269NAME IS NULL:2014/09/27(土) 09:44:08.40 ID:???
>>266
ADDM => 診断に基づいて推奨候補をあげてく。
AWR => 自分で読み解かないとならない。
270NAME IS NULL:2014/09/27(土) 10:07:55.43 ID:???
>>269
サンクス
271NAME IS NULL:2014/09/28(日) 01:27:19.29 ID:???
今回のbashの脆弱性はExadataも影響受けるな。
パッチ配布が始まっているみたいだが。
272NAME IS NULL:2014/09/28(日) 01:46:40.30 ID:???
そういやSQL*PlusでHOSTコマンド実行機能を使うと例の脆弱性出るけど、
純正JDBCでSQL中にHOSTコマンド埋め込んでも脆弱性出るね

HOSTコマンドって、SQL*Plusで解釈されるだけだと思ってた
273NAME IS NULL:2014/09/28(日) 22:15:23.35 ID:???
だれか12.1.0.2の"Full Database Caching"試した人いない?
274NAME IS NULL:2014/10/01(水) 00:29:39.87 ID:???
いま運用してるバッチがクソ遅い。
二千万レコードのテーブルからselectやってて、おそろしく時間がかかる。
毎日四十万件ずつレコードが増える。
更新月ごととかで分割してったらいいんかな。はぁ。
275NAME IS NULL:2014/10/01(水) 01:23:13.69 ID:???
分割=パーティショニングと想像してだが、パーティショニングというものは
パーティション単位でのexp/impなんかの運用を行いやすくするためのもので、
selectを高速にするための仕組みとしては考えられてないよ

>>240のような落とし穴もある
276NAME IS NULL:2014/10/01(水) 02:57:18.67 ID:cpFzsmL2
>>274
インデックスをうまく作ったり、select を見直したりで速くなることもあるよ。

なんて、そのぐらいは既にやってるか・・・
277NAME IS NULL:2014/10/01(水) 06:52:49.78 ID:???
バグによるSQL遅延ネタはいっぱいあるからサポート情報探すといいかも
遅いだけって思ってたらオプティマイザが池沼だったって落ちがあるからな。
ビュー結合が遅延する問題で2週間デスマに陥って病みかけた件。
278NAME IS NULL:2014/10/01(水) 09:24:03.21 ID:???
>>275
パーティションのメリットはそこだけじゃないから。分割キーの設計すればselectっていうか、SQL速くできる。
279NAME IS NULL:2014/10/01(水) 19:11:48.24 ID:???
うちの職場、SE1ばかりだからパーティションなんて使ったことない。
280NAME IS NULL:2014/10/01(水) 21:51:37.47 ID:???
>>276

インデックス張ってあるとこもselectでタイムアウトする。
そのテーブルを更新するバッチもデータの増加に対応しきれない。
そもそもサーバが十年以上前の代物だから、スマホよりスペック低くて限界を感じてる。
281NAME IS NULL:2014/10/01(水) 22:06:55.96 ID:???
>>280 10年以上前って 32bit OSの頃だろうし Oracleのバージョンも古い上に
ストレージの糞遅いだろうからサーバ買いかえれ。
282NAME IS NULL:2014/10/01(水) 22:08:10.15 ID:???
サーバが十年以上前の代物って、
Oracleのバージョンは何よ?
283NAME IS NULL:2014/10/01(水) 23:24:29.39 ID:???
Unixは既に64bit版が主流だろ。
284NAME IS NULL:2014/10/02(木) 21:49:01.96 ID:???
>>282

Oracleのバージョンは10だよ。言うまでもなく32bit。2chみるのに使ってるスマホより積んでるメモリが少ない。
なんでこんなボロいの動かし続けるのか理解できん。Oracleとかのライセンス払えないんなら、もうMYSQLとかでもいいんだけどなぁ。
285NAME IS NULL:2014/10/02(木) 21:49:56.07 ID:???
Maria DB使って見て欲しい
286NAME IS NULL:2014/10/02(木) 22:02:25.99 ID:???
いま、夜間バッチの実行完了するのが昼間。このままいけば、夜間バッチの完了が次の日の夜になりそうwww。
287NAME IS NULL:2014/10/02(木) 22:12:54.52 ID:???
今のデスクトップにSSD乗せた方がいいんじゃないか?w
288NAME IS NULL:2014/10/02(木) 22:52:06.88 ID:???
>>287 RAIDさえ組めてればデスクトップ+SSDはありかと。
10年前のサーバとか保守切れてるだろうし故障した時に業務停止してアウトだろ。
289NAME IS NULL:2014/10/03(金) 07:38:05.79 ID:???
>>288

メーカーの保守なんてないし、OSのパッチ提供ももうすぐ打ち切り。まぁ、そんな些細なことは気にしないのだろう。
保守契約入る予算が確保できる見込みがないなら、最初からオープンソースのDBにしたほうがいいんかな。
障害の発生頻度がどんどん上がっているけれど、どうするんだろうな。
物理的に動かなくなってから、業務止めてリプレースすることになるんかな。
290NAME IS NULL:2014/10/03(金) 07:50:41.33 ID:???
おじゃまします。
資格スレにオラクルスレがなぜかないことは確認済み。
当方院生M1でオラクルの実機はなし。Bronze取得のためのSQLの試験は94点で合格。
もう一つのDBA(ソフトの使い方とか)のほうが参考書をどう読んでも理解できず苦戦中。

受験記などのブログにはDBAは覚えゲーと書いてあるんですが、思い切って全部暗記するしかないんでしょうか。
情報処理系の大学院生で応用情報まで持ってますので一般的な知識はあります。
スレ違いかもしれませんがよろしくお願いします。
291NAME IS NULL:2014/10/03(金) 07:57:51.40 ID:???
資格なんかなくても今はマンハッタンでExadataのDBAやってるぜw
まあ、昔は日本ボラクルに一時的に籍をおいていた事もあったけどなw
292NAME IS NULL:2014/10/03(金) 10:11:18.53 ID:???
>>290
Bronze DBAって、EnterpriseManagerの操作がメインなんだっけ?

アーキテクチャの理解をしたいなら、試験本じゃなくて、初級者向けのOracle解説本読んでみたら?
293NAME IS NULL:2014/10/03(金) 14:32:27.06 ID:???
>>288 サーバ壊れて業務とまったらどうするの?
294NAME IS NULL:2014/10/03(金) 16:54:57.91 ID:???
スキルレベルが上がった事もあるんだろうけど
DBAは難易度が高くなるほど簡単だったのは俺だけか...
295NAME IS NULL:2014/10/03(金) 19:39:28.83 ID:???
>>290
OTNライセンスでダウンロードして自由に使えるのがあるんだから、
手元で動かしながら勉強するといいよ。
俺はそれでPlatinumまで取った。仕事はないが。
296NAME IS NULL:2014/10/03(金) 20:02:55.46 ID:???
Platinum取って仕事無いってコスパ悪すぎだろ...
297NAME IS NULL:2014/10/03(金) 21:41:35.66 ID:???
>>295
Platinum試験って、どんな問題が出るんだ?
298NAME IS NULL:2014/10/03(金) 22:42:56.47 ID:???
Platinumって、試験受けるのにNDAなかったっけ。
OEMが試験に入った時点で俺には無理ゲーになったわw
299NAME IS NULL:2014/10/03(金) 23:02:46.82 ID:???
ガチガチなNDAあるよ
少しヒント出すと、
Oracle Linux
Oracle Database
Oracle EM
が構築されてる環境でエラーに対する対処ができるか、とか
あとは秘密
300NAME IS NULL:2014/10/04(土) 00:05:05.65 ID:???
Platinumよりも、Silver+RACやLinuxのExpertの方がコスパいいよ
301NAME IS NULL:2014/10/04(土) 00:36:08.29 ID:???
LinuxのExpert配信終了したがな
302NAME IS NULL:2014/10/04(土) 00:43:26.66 ID:???
RACも前提条件Goldか研修一個だし、Gold+RACでいいのでは
303290:2014/10/04(土) 07:53:38.94 ID:???
290です。
レスありがとうございました。
やはり実機を触ったことがないので、「○○で始める絵でわかるオラクル」みたいな本を1冊買いました。
DBA試験のほうがSQL試験より難しく感じます。
ありがとうございました。
304NAME IS NULL:2014/10/04(土) 10:21:56.63 ID:???
Oracle Database 12cは学習用で使うなら無料やで
11gでもeXpress Editionで試せるよ
305NAME IS NULL:2014/10/04(土) 15:24:58.16 ID:???
>>299 休み中に環境ぶち壊されて修復させられたりするんだっけか...
実用レベルなら正直GOLDまでで十分だな。
306NAME IS NULL:2014/10/04(土) 15:26:41.66 ID:???
働くならGold+Expert、業務に合わせたスペシャリスト
極めるならPlatinumは必須って感じ
307NAME IS NULL:2014/10/04(土) 15:53:24.99 ID:???
バグ情報の収集調査が出来る人材がほしいけど単価高いんかな。

パッチセット適用してても解消してない不具合とか
解消してても隠しパラメータを変更しないとバグが回避できない問題とか盛りだくさん過ぎて
にわかGOLD DBAには対処できんわ...

サポートに情報かき集めて問い合わせても関係ない回答が帰ってきたりするし...
308NAME IS NULL:2014/10/04(土) 18:07:54.73 ID:???
>>305
リファレンスとか見ながら作業できるのかな?
さすがに全コマンドのオプションとか覚えてないぞ。
309NAME IS NULL:2014/10/04(土) 18:36:07.17 ID:???
>>308
マニュアルは全部見れるけど、どのへんに書いてあるかは知っておかないと
時間がぜんぜんないよ。
310NAME IS NULL:2014/10/04(土) 23:40:06.19 ID:???
全額会社負担 (必要な講習 + 試験2回まで 旅費交通費含む)でPlatinumとったら
合格祝い一時金10万 + 該当製品バージョンのサポートが切れるまでの間 資格手当て月給1万 なんだけど
だれも合格しない件について....

GOLDやRAC Expまでは結構簡単にみんな取れるけど Platinumの壁が高すぎる
311NAME IS NULL:2014/10/05(日) 05:59:46.26 ID:???
Platinum特訓の講習うけたらなんとかなるんだろうか?
312NAME IS NULL:2014/10/05(日) 10:32:00.07 ID:???
Platinum講習を受けた後、東京で遊んで帰ってくるアホが多いからな...
俺もその一人でお土産貰って帰ってきた。

来年早々に試験受けるつもりだけど、たぶん無理だろうな。
313NAME IS NULL:2014/10/05(日) 16:26:00.56 ID:???
今回のYahooメールの障害なんだけど...
PCI-ExpressのSSDさした安いIAサーバをInfinibandで接続してストレージ代わりにする事で
DBのストレージのコストダウンとI/O高速化を実現(キリッ!)って大阪インサイトの講演会でやってたけど
さすがにメールだから関係ないかな...
314NAME IS NULL:2014/10/07(火) 18:52:06.50 ID:???
VirtualBoxに
・Oracle Linux 5.4
・Oracle Database 11g R2
・Oracle Enterprise Manager 11g Grid Control R1
入れたけど、Oracle Database 12cのPlatinum試験待ってた方がいい気がしてきた
仕事で12c使ってて家では11gってやってることがアホくさくなってきた
315NAME IS NULL:2014/10/07(火) 19:51:18.96 ID:???
>>314
仕事で12c使ってるのか?!(マルチテナントで?)
うちは未だに11gR2
316NAME IS NULL:2014/10/07(火) 19:54:00.54 ID:???
>>315
うちは先駆けみたいなもんだしな
マルチテナント使ってるよ〜
でもまだ勉強不足で難しく感じてるわ
317NAME IS NULL:2014/10/07(火) 21:23:42.14 ID:???
>>316
俺らのために、もっとバグ出せ
318NAME IS NULL:2014/10/07(火) 21:32:42.08 ID:???
>>317
ワロタwwww
頑張るよw
319NAME IS NULL:2014/10/07(火) 21:34:28.29 ID:???
Platinum特訓って、トレーニングキャンパス赤坂でしか受けれないのか?
田舎者の俺には無理じゃねーかよ。
320NAME IS NULL:2014/10/07(火) 21:38:05.85 ID:???
>>293

既にしょっちゅう業務止まってるね。
あちこち壊れて動かなくなりつつあるけど、動くところを寄せ集めてしのいでる。

鯖を買うのが最も安上がりで確実だけど、それだと稟議がとおらないから、ポーズだけでもボロ鯖のパフォーマンスチューニングに挑戦するよ。
教科書に書いてあるパフォーマンスチューニングをひととおり勤務時間中にやってみる。
321NAME IS NULL:2014/10/07(火) 21:47:06.54 ID:???
田舎者がPlatinum取る必要あるの?
322NAME IS NULL:2014/10/07(火) 23:00:18.26 ID:???
>>320 常識的に考えたら業務停止し始めたらリプレースするのが普通なんだけど
経営者が「壊れるまで使え」っていう戦争時代の老害がやってる中小企業なら仕方ない...
323NAME IS NULL:2014/10/07(火) 23:12:40.96 ID:???
>>321 Platinum取っておけばイザって時の再就職に捗るぞ。
324NAME IS NULL:2014/10/07(火) 23:14:58.55 ID:???
9iだかの頃のプラチナは持ってるんだが
325NAME IS NULL:2014/10/08(水) 00:08:41.20 ID:???
賞味期限切れだけど 製品バージョンを聞かれる事ってあんまり無いからな
326NAME IS NULL:2014/10/08(水) 08:18:32.16 ID:???
9i Platinumは、旧制度の場合があるからね。
327NAME IS NULL:2014/10/08(水) 20:53:36.91 ID:???
古い人だと古いverしか持ってなかったりするから注意だね。
https://blogs.oracle.com/oraclemaster/entry/recertification_policy
328NAME IS NULL:2014/10/08(水) 21:37:15.80 ID:???
再認定制度なんて出来たんだね。
制度自体は悪くないけど、アホみたいに高い研修が義務化されると厳しい
329NAME IS NULL:2014/10/08(水) 21:55:10.47 ID:???
あと、会社のアホ人事どもにこの再認定制度をキチっと周知させないと
更新は自腹負担って落ちが待ってると思う。
330NAME IS NULL:2014/10/09(木) 00:14:12.26 ID:???
いまからSEONEで新規構築するなら 11.2.0.4+パッチ or 12.1.0.2+パッチどっちにします?
11.2のサポート期限見えてるけど、ある程度安定すればパッチは不要という案があって困っています。

・12系は未導入のためまだスキルなし。
・10年の長期保障サーバで性能はあまり必要ないから10年稼動させる予定。閉域網で不正アクセスリスクもなし。
331NAME IS NULL:2014/10/09(木) 00:18:12.66 ID:???
【ORACLE】オラクルマスター【MASTER】
http://hello.2ch.net/test/read.cgi/lic/1412781272/

資格板にスレ立てたぞ
332NAME IS NULL:2014/10/09(木) 00:25:52.61 ID:???
>>330
R2+PSR+PSU+パッチでようやく安定して使える11gは先が短く、
12cはまだR2すら出ていない

10年稼動とかを考えると、まさに、今は時期が悪い

SE ONEでやれるんなら、PostgreSQLでも選んだらどうか
333NAME IS NULL:2014/10/09(木) 07:46:41.75 ID:???
KROWNって完全にMOS配下になったの?
使い勝手はどう?
334NAME IS NULL:2014/10/09(木) 22:32:42.04 ID:???
>>333
そうみたいだな。
使い勝手は変わらん。

日本独自で色々と調べてくれてたりするから、MOS配下に
なって嬉しいけどな。
335NAME IS NULL:2014/10/09(木) 22:35:03.32 ID:???
>>332 10年稼動した9i鯖のハードウェア保守が切れそうなんで Oracleでそのまま移行しなきゃならんです。
ただ、9iを使いこなせるDBAがもういないので 最低でも10.2以上がほしいかなと。

11.2.0.3+PSU環境はSolaris SPARCで沢山稼動してますが、いまだにバグに当たること多いですね...
336NAME IS NULL:2014/10/10(金) 00:49:58.56 ID:???
つ〜か、どんなバージョンでもバグがありまくるのがOracleだろうが。
337NAME IS NULL:2014/10/10(金) 07:17:14.69 ID:???
そうそう。
10.2と言わず、11.2.0.4 + PSU にしとけばいいんじゃない?
更に踏み込んで 12c を使うってのも手かと。
338NAME IS NULL:2014/10/10(金) 08:25:17.25 ID:???
そして、そのバージョンでは技術的な理由によりバグは改修されませんと突き放す
339NAME IS NULL:2014/10/10(金) 19:49:53.63 ID:n6caZulh
VBのアプリのインストーラーを作っているのですが、
このインストーラーの中にxcopy版のODACを入れて環境変数のPATHにコピーしたパスを入れても
インストーラー版と同じようには動いてくれません。
インストーラー版を一度入れてから、コピーして、インストーラー版のインストールしたものを消してみたら
動くのですが、何の違いがあるのか教えてください
340NAME IS NULL:2014/10/10(金) 22:43:47.25 ID:???
社内で揉んだ結果、Solaris11.2 + SPARC + 11.2.0.4+PSUになりました。
安定稼動したらまた10年塩漬けします。
341NAME IS NULL:2014/10/10(金) 23:11:07.36 ID:???
糠漬けでお願いします
342NAME IS NULL:2014/10/11(土) 00:31:12.00 ID:???
>>339
誤爆、乙。
343NAME IS NULL:2014/10/11(土) 00:31:53.14 ID:???
>>340
11gって来年の7月頃で通常サポート終了じゃなかったけか?
344NAME IS NULL:2014/10/11(土) 01:03:39.62 ID:???
>>343 それって11gR1じゃね?

11.2.0.3 → 2015年8月27日までパッチ提供
11.2.0.4 → 2018年1月までパッチ提供

Extended Supportが無償で受けられるっぽいから11.2.0.4なら何とかなる
345NAME IS NULL:2014/10/11(土) 04:10:22.59 ID:???
10年塩漬けにするのなら12cの方が後々良さそうな気もっすけどな。
346NAME IS NULL:2014/10/11(土) 10:51:39.29 ID:???
12.2.0.3くらいにならないと10年塩漬けは無理だと思う
347NAME IS NULL:2014/10/11(土) 11:20:12.20 ID:???
一定時間経過するとプロセスが死ぬとかしょーもないバグがありそう
348NAME IS NULL:2014/10/11(土) 12:20:11.04 ID:???
Standard Edition One使ってんだけど、
高速リカバリ領域っているの?
使い道が分からん
349NAME IS NULL:2014/10/11(土) 12:29:11.81 ID:???
>>348 ちゃんと設計しないと、ストレージ空いてるのにOracleが止まってくれる。
正直一番ハマる要素だから、理由が無ければ使わずにセットアップしれ。
350NAME IS NULL:2014/10/11(土) 23:08:15.22 ID:???
そんなにフラッシュバックテクノロジー使うこともないしねぇ。
351NAME IS NULL:2014/10/12(日) 00:42:21.03 ID:???
ってか、障害発生時はデータベースを戻すだけで済む、というアーキテクチャのシステムって
何があってもどうにでもなる小規模システム以外だと、そんなに無いと思うんだよな
352NAME IS NULL:2014/10/12(日) 21:48:29.06 ID:???
>>351 これ。
フラッシュバック使おうと思ったけど、ファイルとかその辺の整合性取れなくなって辞めたことある。

うちの会社でも、何も考えずにセットアップしたアホがアーカイブログ領域溢れさせた事例があるから
フラッシュバック領域はデフォルトでOFFにすべきだといつも思うわ。
353NAME IS NULL:2014/10/13(月) 13:16:24.20 ID:???
10g時代からあるバグが11.2.0.3まで修正されてないってなんなん..
354NAME IS NULL:2014/10/13(月) 14:07:29.92 ID:???
>>353
バグは夜更け過ぎに 仕様へと変わるだろう
355353:2014/10/13(月) 15:33:24.19 ID:???
exists/not existsをサブクエリで多様したPL/SQLを11.2.0.3に移行したら
5分ぐらいで終わってた処理が1時間たっても終わらなくて、挙句にTEMP領域食いつぶしてDB飛んだわ。

原因は分かったけど、こんなバグ(オプティマイザが池沼化する仕様レベル)が放置されてる意味が分からない...
356NAME IS NULL:2014/10/13(月) 18:31:30.73 ID:???
>>355
性能試験やらなかったの?
357NAME IS NULL:2014/10/13(月) 18:46:54.70 ID:???
開発環境の全く同じ環境(違うのはホスト名、IP、インスタンス名ぐらい)で2週間ガチで試験やったけど
一切発生せず、本番が稼動して数日したら突然発病したから対処できん。

最新のPSUも適用済だから安心してたけど、大はまりですわ。

しかしまぁ、みんなってバグ情報って事前に全部目を通してるの?
358NAME IS NULL:2014/10/13(月) 20:22:53.58 ID:???
目を通したくないんで、とりあえず11g選んで最新のPSR・PSU・CPU当てて
パフォーマンステストして出たものを叩く
359NAME IS NULL:2014/10/14(火) 02:22:09.82 ID:???
クリティカルなイブ (危機的前夜):

バグは夜更け過ぎに 仕様へと変わるだろう
再現無い 懲りない
きっと意味はもう無い 一人きりの再現テスト
際限無い 本人いない

ネスト深〜く 処理も重い 軽くなりそうもない
必ず今夜なら 言えそうな気がした
ソースが無い 仕様も無い

まだ引き継げず 気が重い 我が身へと降りかかる
間違えずに ソースコード管理
Git や Mercurial
制限無い 費用も無い

バグは夜明け前には チケットが閉じられるだろう
再発無い 不安も無い
きっとクレームは来ない 定時上がりのクリスマス・イブ
Silent Night、電話は来ない
360NAME IS NULL:2014/10/14(火) 04:53:00.64 ID:8FG4Ikb0
プログラムやSQLに罪は無いからな。
SEONEで十分だったけど、予算余ってたからEE使って見たくて500万も払った挙句これよ。
361NAME IS NULL:2014/10/14(火) 22:51:41.86 ID:???
ルールベースはほんと残してほしかった…
362NAME IS NULL:2014/10/15(水) 07:42:06.04 ID:???
12c Gold 持ってるのに、DBAの仕事が殆どない・・・。
悲しい。
363NAME IS NULL:2014/10/15(水) 20:36:38.49 ID:???
>>362 はえーよ。11g移行から取った?
364NAME IS NULL:2014/10/15(水) 20:43:30.96 ID:???
まだ移行しかないじゃんw
365NAME IS NULL:2014/10/15(水) 21:11:04.32 ID:???
そうだった。。。

7.5H労働 日給3万ぐらいで DBA+PL/SQLスキル持った人なら集中だけど安杉かな。
DBA畑の人はPL/SQLがわからなかったり、PL/SQL畑の人は最新のOracleに弱かったりして
どちらも出来る人材がなかなかいないんだよ。
366NAME IS NULL:2014/10/15(水) 22:07:06.34 ID:???
確かにPL/SQLなんてボラクルの研修で使ったぐらいだわw
367365:2014/10/15(水) 22:44:12.43 ID:???
PL/SQL屋さんは11gなのに旧コマンドのIMP/EXP使ってたり
複合INDEXはWHERE区の順番通りに張らないと動作しないとか化石みたいな事言う老害ばかりだし...

INDEX1 A
INDEX2 A B
INDEX3 A B C

1個のテーブルに↑みたいなINDEXの張り方されてるの見て泣きそうになった。
最新のOracle技術を理解して駆使できるPL/SQL屋さんがマジほしい。
368NAME IS NULL:2014/10/15(水) 23:03:45.51 ID:???
そりゃexp/impは単純だもの
やれることは限られてるが覚えることも大して無い
369365:2014/10/15(水) 23:34:46.29 ID:???
開発環境にデータロードするのに半日待ってるんだよ...
EXPDP/IMPDPなら15分もかからないのに。
370NAME IS NULL:2014/10/15(水) 23:52:42.94 ID:???
お前の躾が足りない結果だ

自業自得
371NAME IS NULL:2014/10/15(水) 23:53:58.20 ID:???
>>369
待って、それで、どうするんだ?

expdp/impdp使わせるような働きかけは、したのか?
してないんなら、お前が悪い
372NAME IS NULL:2014/10/16(木) 00:23:00.06 ID:???
RMANのカタログは別筐体に作らんとダメなんかな。

ターゲットDBと同じ筐体に入れる場合は、
ターゲットDBバックアップ、そして
カタログバックアップってやるの?

これだとカタログ使わんほうがいいか(´・ω・`)
373NAME IS NULL:2014/10/16(木) 00:32:39.93 ID:???
>>372
別に同一筐体でも構わんけどな。
ただ最低でもディスクは分けておけ。

カタログDBが吹っ飛んでもコントロールファイルが情報持っているから、
ぶっ壊れてもあんまり気にしないけどな。
374NAME IS NULL:2014/10/16(木) 23:00:49.35 ID:???
そこまでしてカタログ使いたいメリットってあるんか?
375NAME IS NULL:2014/10/16(木) 23:52:25.26 ID:???
推奨って書いてあったから(´・ω・`)
376NAME IS NULL:2014/10/17(金) 00:00:25.15 ID:???
カタログがあるとバックアップ情報を長期間保存出来るという
メリットがあるぐらいかな。
特に古いDBに戻す必要や、クローニングする必要が無いのなら
コントロールファイルだけでも十分と言えば十分。
377NAME IS NULL:2014/10/17(金) 00:06:31.43 ID:???
俺もバックアップ情報の管理ぐらいしか思いつかんかったけど
運用の手間増えるし、運用スキル無いなら辞めておいたほうが無難かと。
378NAME IS NULL:2014/10/19(日) 21:39:05.66 ID:???
来年で11.2.0.3の保守切れるけど 11.2.0.4に上げますか?
四半期のPSUは必ず適用してる状況でいままで運用してきましたが...
ハードウェアはあと6年保守があり交換する予定はありません。
379NAME IS NULL:2014/10/20(月) 07:22:48.30 ID:???
>>378
安定稼働しているなら 11.2.0.3.x のままでいいんじゃない?
380NAME IS NULL:2014/10/23(木) 00:07:03.41 ID:???
Oracleって今でもクライアントにOracleクライアントとか
インストールしないといけないんですか?
381NAME IS NULL:2014/10/23(木) 19:22:14.33 ID:???
>>380
今はもうしなくても大丈夫ですよ
382NAME IS NULL:2014/10/23(木) 22:43:36.86 ID:???
(´・ω・`)11gって2015/1で終了でOK?
2018/1に伸ばすには追加料金いるんだっけ?
383:2014/10/23(木) 22:51:16.06 ID:???
サラッと嘘を言うなw
機能限定でいいなら間違いとは言わないが
384NAME IS NULL:2014/10/23(木) 23:33:51.50 ID:???
>>382 ttp://www.oracle.com/technetwork/jp/ondemand/branch/20131211-11204-2080541-ja.pdf

正直これ見てもよく分からん。 11.2.0.4に上げれば当面パッチはもらえるのか?
385NAME IS NULL:2014/10/24(金) 19:57:59.76 ID:???
コントロールファイルが全損したケースの復旧テストをやってみてるんだが、
どうも解せないことがある。
RMANで取得したコントロールファイルのバックアップからリストア&リカバリした場合、
RESETLOGSじゃないとオープンできないのだが、
alter database backup controlfile to
で作成されたテキストファイルを元にコントロールファイルの再作成を行ったら、
RESETLOGSを付けなくてOK(むしろ付けたらダメ)だった。

そういうもんだと覚えるしかないのだろうけど、なんでそうなのかが解せない。
再作成のほうがリカバリ・コストが高そうな気がするのだが・・・。
386NAME IS NULL:2014/10/25(土) 09:59:33.29 ID:???
>>385
RMANで取ったコントーロルファイルはSCNが古いから、リセットログで
ないとオープン出来ない。
テキストファイルで作成してなおかつDBFの数が変更していなかったら、
別にOPEN RESETLOGSで開く意味がない。
387NAME IS NULL:2014/10/25(土) 11:54:09.15 ID:???
>>386
ということは、ぶっちゃけテキストファイルさえあれば、
バイナリ形式のバックアップは取らなくてよいということ?
388NAME IS NULL:2014/10/25(土) 13:06:42.77 ID:???
データファイルとかの増減がないなら、それでもいいんじゃね。

実際、過去に制御ファイル全損したけど、DB作成時からの
アラートログが全部残っていたので、そこからデータファイルの
変化を抜き出して手作業で制御ファイル作成して復旧。
とかしたことあるし。
(データファイル数が数百あったのはキツかったけど)
389NAME IS NULL:2014/10/25(土) 13:13:28.60 ID:???
制御ファイルを再作成するほうが面倒だと思うんだが...

RMANで制御ファイル戻した時はresetlogs付けるって体で覚えておけば
それだけで済むような気がする。
390NAME IS NULL:2014/10/25(土) 16:28:55.12 ID:???
RESETLOGS 指定でも OPEN できなかった時の絶望感・・・。
あれほど恐ろしいものはねぇ・・・。
391NAME IS NULL:2014/10/25(土) 17:51:45.42 ID:???
たしかに alter database open resetlogsって打つときは
みんなお祈りしながら様子を伺って、OPENした時はお祭り騒ぎだった。
別ストレージに分けてあるのに、制御ファイル2個ともrmで吹き飛ばしたアホは死ねよ。
392NAME IS NULL:2014/10/25(土) 19:36:03.82 ID:???
ASMでDB作ったときinit.oraとか簡単に弄れるの?
393NAME IS NULL:2014/10/25(土) 20:15:35.31 ID:???
>>392 ASMCMD
394NAME IS NULL:2014/10/26(日) 03:09:37.22 ID:???
>>387
そもそもRMANが無かった時代、制御ファイルのバックアップは
コールドで取るかもしくはテキストファイルで出力しか無かった。
395NAME IS NULL:2014/10/26(日) 03:11:54.85 ID:???
>>390
7の時代から使ってるが、確かにプロダクションDBをopen resetlogsで
復旧させた事は3回しかない。
基本は完全媒体回復だしなぁ・・・。
396NAME IS NULL:2014/10/26(日) 03:12:39.05 ID:???
>>392
別に普通のspfileと変わらないけど?
397NAME IS NULL:2014/10/26(日) 17:20:00.98 ID:???
いまだにEXPDPのバックアップだけ取ってDB本体のバックアップをRMANなりで取ってないヤツ多杉で困る...

CEのオペミスによる電源障害でサーバの電源落ちて起動させたら制御ファイルやられてOPENしなくなって
鯖メーカーと大揉めしてるのを横から見てたけど、謝罪と賠償を要求する前に自衛でバックアップっぐらい取っとけよって思った。
398NAME IS NULL:2014/10/26(日) 17:51:40.08 ID:???
作りなおしてimpdpすればいちおう戻りはするよね(´・ω・`)
399質問:2014/10/26(日) 22:25:23.36 ID:???
DBCAでデータベースを構築するスクリプトを作ったのですが、
バッチスクリプトを起動するとパスワードを入力を求められてしまいあんまりスクリプト化した意味が無いです
パスワード入力せず済むようにスクリプト改造するには
どこを変更すれば良いのでしょうか?

12c/Windows
400NAME IS NULL:2014/10/26(日) 23:00:29.98 ID:???
create databaseじゃあかんの?
401NAME IS NULL:2014/10/27(月) 00:21:03.82 ID:???
deleteとTruncateのエクステント領域の解放についてご教示ください。

deleteではエクステント解放は行わず、
truncateだと解放は行いますが、
なぜこのような挙動になっているんでしょうか。
どっちにしろ、deleteの場合でも、エクステント解放しちゃえばいいじゃんと思うのですが。
402NAME IS NULL:2014/10/27(月) 00:30:03.35 ID:???
エクステントを確保するという処理には、時間がかかるのだよ

エクステントを解放せずにおけば、別の機会に動くであろうinsertやupdateの時に
必要なエクステントを改めて確保せずに済むからね

deleteというものは、そういうもの
たとえそれが全レコードdeleteであっても、そこは変わらない
403NAME IS NULL:2014/10/27(月) 00:58:06.29 ID:???
そもそもtruncateはHWMだけ引き下げてるっしょ。
deleteは全件かどうかなんて、クエリ発行時点では不明なんだから。

かといって、deleteで条件なしならtruncateと同じ動作されたら、
暗黙commitでトランザクションとして問題が出てくるし。
404NAME IS NULL:2014/10/27(月) 01:41:35.82 ID:???
>>401
今みたいにCPUもHDDも早くなかった時代の名残。
deleteは単にブロックにdeleteフラグを付けるだけにしている。
この方が同じ値が使われたりした場合に単にフラグを書き換える
だけで済むから、早い可能性があるというのが根底にある。
405NAME IS NULL:2014/10/27(月) 01:45:59.21 ID:???
406NAME IS NULL:2014/10/28(火) 06:57:40.61 ID:???
みんなDB構築したあと、DBIDって控えてる?
コントロールファイル全損したとき、
DBID分からなかったら復旧できないのか?
407NAME IS NULL:2014/10/28(火) 07:22:52.21 ID:???
>>406
RMANのログ見たらDBIDなんて分かるし。
408NAME IS NULL:2014/10/28(火) 21:56:45.72 ID:???
>>406 制御ファイルの自動バックアップのファイル名に出力してる。
RMANのログでもいいし。
409NAME IS NULL:2014/10/28(火) 22:09:47.05 ID:???
DBCAでインストールスクリプトを作る事可能だけど、
ディレクトリを移動しただけで動かなくなる
(出力先ディレクトリがハードコーディングされてるから)

未だこの謎仕様が理解できぬ…
410NAME IS NULL:2014/10/29(水) 02:13:56.35 ID:???
クリティカルなバグでも無く、ワークアラウンドがあるのなら
絶対に直さない。
これがボラクルクオリティ。
411NAME IS NULL:2014/10/29(水) 09:18:00.82 ID:???
スクリプトやユーティリティの痒いとこに一切手が届かないのは伝統
全部新人が研修かなにかで作っているのだろう
412406:2014/10/29(水) 20:08:29.07 ID:???
>>408
>ファイル名に出力
おお、そんなことできるのか!って確認したら、
自分もしっかり%Fつけてた。
なーんだ、DBID含まれてるなんて知らなかったよ...orz
413NAME IS NULL:2014/10/29(水) 21:46:07.89 ID:???
日付、DBID、そのファイルが何なのか(アーカイブログ or フルバックアップ)
ぐらいはファイル名に付けて分かるようにしておくと後から楽かと。
414NAME IS NULL:2014/11/02(日) 21:50:18.24 ID:???
あほ上司チームが今やってる連休中の停止メンテナンスで重要なテーブルをtruncateしちゃって祭りになってるんだが...
俺が裏でこっそりRMANでお守りバックアップ取ってるから時間指定の不完全リカバリすれば直前まで戻るんだろうけど
おまいらならどうしますか? 

・作業前のEXPDPはやってなかった模様。

・RMANのオペレーションや直前まで不完全リカバリできるのを知ってるのは俺だけ。
(やつ等はアプリ開発専門でORACLE管理は素人に毛が生えた程度)

・火曜日の朝までに復旧すれば良い。

鬼電と大量のメールは帰省中って事で全部シカトしてます...
明日の貴重な休みを潰して名古屋から大阪まで帰って恩を売るかどうしたもんか...
415NAME IS NULL:2014/11/03(月) 00:01:20.04 ID:???
(´・ω・`)休みはしっかり休む
416NAME IS NULL:2014/11/03(月) 05:28:43.14 ID:???
>>414
恩を売って代休取得。
417406:2014/11/03(月) 07:33:54.13 ID:???
>>414
「そんな重要なデータのバックアップを取っているなんて聞いてないぞ!
 盗難にでもあって、情報漏えいが起きたらどうするんだ!」
とかってあとから難癖付けられる可能性があるならシカトしたほうが無難。
418414:2014/11/03(月) 09:31:05.19 ID:fbTbMwO/
おまいらおはよう。これから大阪に戻ります。
戻り交通費負担+次の日3連休明けに有給と代休組み合わせて1週間休みって事で交渉成立。
419NAME IS NULL:2014/11/03(月) 11:58:19.44 ID:???
>>418
良い条件で何より。
意外と代休の方が用事を済ませられたり、行楽地も空いてたりで
個人的には好きだけどな笑
420414:2014/11/03(月) 18:30:06.75 ID:???
作業終了。
久しぶりのリカバリでset until time の書式忘れてググったけど
作業時間より移動時間のほうが長かった...
421NAME IS NULL:2014/11/03(月) 20:53:07.38 ID:???
>>420
ロストする筈だったデータが復旧できて、
職場ではヒーロー扱いだろうな。
うらやましい。
422NAME IS NULL:2014/11/03(月) 23:24:04.45 ID:???
>>420
set until timeの書式は覚えるの面倒だから、大体to_date使っている。
423NAME IS NULL:2014/11/04(火) 01:51:31.58 ID:???
>>420
会社は外部からのアクセスは許していないんか?
424NAME IS NULL:2014/11/04(火) 21:23:29.62 ID:???
確かに今どきは、VPNさえあればサーバの近くにいようがいまいがほとんど変わらんな。
コンソールはVPN経由でKVMアクセスすればいいし、バックアップもVTLだったら、テープの入れ替えもないし。
425414:2014/11/04(火) 22:18:40.39 ID:???
今までは外部からVPN張ってRDP接続だけできる穴が開いてたんだけど
ベネッセの件で監査ソリューションを導入する年末までの間は穴が塞がれちゃった。

今まではVPN張ってRDPしたログはNW管理者がVPN接続ログ見ないと分からなかったけど、外部からVPN接続されたら管理職にメールを飛ばすらしい。
アホな対策を立てるヤツいるもんだ...と思った。
426NAME IS NULL:2014/11/05(水) 00:37:21.57 ID:???
そこまでセキュリティ厳しくしてるのに、データ吹っ飛ばすなんて。
427NAME IS NULL:2014/11/05(水) 19:34:41.71 ID:???
>外部からVPN接続されたら
お前んとこは、サーバ直にVPN張ってんのかよwww
428NAME IS NULL:2014/11/07(金) 20:13:09.23 ID:1orqkzab
セレクトしてループしてひとつずつfetchするとき
ループの最後をNODATAFOUNDで検知するのは
真っ当な手順なの?
429NAME IS NULL:2014/11/07(金) 21:19:27.72 ID:???
>>428
普通、
EXIT WHEN %NOTFOUND;
を使うんじゃね?

ってか、データが無かったらループに入る前に
カーソルをオープンした段階でNODATAFOUND例外が発生せんか?
430NAME IS NULL:2014/11/07(金) 21:21:33.79 ID:???
みんなData Guardって使ってる?
問題なく実運用に堪えられるシロモノなんだろうか?
噂ではアーカイブギャップ出まくりで困るとかいう声も聞くのだが。。。
431NAME IS NULL:2014/11/07(金) 23:04:17.41 ID:???
>>429
ありがとう
やっぱりこのソース普通じゃなかったんやな
あとで書いた人殴りに行くわ
432NAME IS NULL:2014/11/07(金) 23:33:10.41 ID:???
>>430
普通に使っている。
10g以降はギャップが発生したらプライマリ見に行って必要ログを
勝手に転送して来てくれるし、普段は放っているな。
433NAME IS NULL:2014/11/08(土) 19:10:33.59 ID:???
環境変数TNS_ADMINの有効範囲?を知りたく思ってます

その変数を設定したOSユーザで起動している、例えばWebLogicやTomcat、
Java、Pro*Cのプログラムとかは参照してくれるものですか?

実は本番機のOracleなんだけど、1つインストールされたOracleを四社くらいで共用してて、
$ORACLE_HOME/network/admin/のtnsnames.oraを編集しようと思ったら、
週に一度の合同ミーティングで、運用を請け負ってる会社に書面で依頼したり、
その会社で実施決裁取るための資料とか作らされたりするので、すげー面倒…

逆に、うちに割り当てられたOSユーザの環境変数やホームディレクトリ内は自由に使えるので
TNS_ADMIN設定して自分らでtnsnames.oraを管理しようかな、と
434NAME IS NULL:2014/11/08(土) 22:34:19.22 ID:???
>>433
環境変数を理解しましょう。
としか言えないかな。

あと、影響を受けるのは tnsnames.ora だけではないので、
その辺も理解して期待した動作をしないかもしれない。
435NAME IS NULL:2014/11/08(土) 22:53:37.93 ID:???
運用を請け負ってくれる会社がいる規模でええのぉ...
436NAME IS NULL:2014/11/08(土) 23:11:39.08 ID:???
>>433
WeblogicやTomcatは自身のコンフィグファイルの中で
ORACLE_HOMEや接続子を書いていた気がしたぞ。
JDBCで接続しているのなら、tnsnames.oraとかは特に
参照していなかったはず。
437NAME IS NULL:2014/11/09(日) 20:52:08.25 ID:???
RMANでブロック・メディア・リカバリの特訓をしたいんだけど、
この障害って、故意に発生させることって可能?
438NAME IS NULL:2014/11/09(日) 21:16:29.05 ID:???
バイナリエディタとかで、うまいこと壊せればできるかも。
ある程度はデータファイルの構造を知ってないと難しいかもだけど。
439NAME IS NULL:2014/11/09(日) 21:21:59.09 ID:???
>>437
Unixなら普通にddでbs指定して壊せばいい。
440NAME IS NULL:2014/11/09(日) 22:52:24.97 ID:???
441437:2014/11/10(月) 07:40:48.26 ID:???
さんくす
442NAME IS NULL:2014/11/10(月) 12:36:36.13 ID:???
memory_target パラメータ使って何か影響出たとかありますか?
443NAME IS NULL:2014/11/10(月) 22:05:38.67 ID:???
自動メモリ管理は若干オーバヘッドあるから使わない人もいる。
うちはそんな事気にしないから使ってるけど。

初心者がありがちな罠として
memory_target >> memory_max_targetにした後再起動して起動しなくなるとか。

バグ情報もいくつかあるから注意な。(ここでは書けないが酷いバグがある)
444NAME IS NULL:2014/11/10(月) 22:36:47.60 ID:???
ASMで組んだDBって物理バックアップできんの?
445NAME IS NULL:2014/11/10(月) 23:03:01.49 ID:???
>>443
やっぱまだバグだらけなんですね。
ありがとうございます。
446NAME IS NULL:2014/11/10(月) 23:05:56.37 ID:???
>>444
ASMでミラーしないで、ハードミラーでも出来ますよ。
447NAME IS NULL:2014/11/10(月) 23:18:12.94 ID:???
>>442
O/SがLinuxだとHugePagesが使えないというぐらいかな。
SGA_TARGETとPGA_AGGREGATE_TARGET使えば良いだけだけど。
448NAME IS NULL:2014/11/10(月) 23:18:49.52 ID:???
>>444
普通に出来る。
EMCのBCVやTimefinderも普通に使える。
449NAME IS NULL:2014/11/10(月) 23:20:01.56 ID:???
>>445 11gのPSRが上がる都度、精度や動作の修正入ってるからバグだらけ ってほど酷いものじゃないけどな。

Oracleのセミナーでも言われてた内容だから書くけど、11.2.0.3でハマったのが
バースト的にメモリ食う処理を動かすとmemory_max_target(上限値)を大きく超えて
サーバのメモリ使っちゃって、OSのメモリが枯渇したりSQLがこける事がある。

※安全率を高めに設定して遠慮気味なメモリを設定する事で回避したけど。
450441:2014/11/10(月) 23:36:35.21 ID:???
おかしい・・・。
わざとブロック障害起こしたのち、

ORA-01578: Oracleデータ・ブロックに障害が発生しました(ファイル番号6、ブロック番号186)

と出たから、

RMAN> recover datafile 'データファイル名' block 186 ;

として、
まだ

ORA-01578: Oracleデータ・ブロックに障害が発生しました(ファイル番号6、ブロック番号187)
ORA-01578: Oracleデータ・ブロックに障害が発生しました(ファイル番号6、ブロック番号188)
ORA-01578: Oracleデータ・ブロックに障害が発生しました(ファイル番号6、ブロック番号189)
ORA-01578: Oracleデータ・ブロックに障害が発生しました(ファイル番号6、ブロック番号190)
ORA-01578: Oracleデータ・ブロックに障害が発生しました(ファイル番号6、ブロック番号191)

と出るから、そのたびに
RMAN> recover datafile 'データファイル名' block ブロック番号 ;
と入力してたのだが、しまいには

ORA-01115: ファイル(ブロック番号)からの読取りI/Oエラーが発生しました。 ORA-01110: データファイル6:
'データファイル名'
ORA-27072: ファイルI/Oエラーが発生しました。 Additional
information: 4
Additional information: 192

とか出てきて、にっちもさっちも行かず、仕方なく表領域単位でリストア&リカバリした。
これじゃブロック・メディア・リカバリが出来たとは言えない。
どないなっとんねん。。。
451NAME IS NULL:2014/11/10(月) 23:48:45.31 ID:???
>>447
>>449
そうなんですね。10gからの移行なので無難にsga_targetとpga_aggregate_target使おうと思います。
452NAME IS NULL:2014/11/11(火) 00:11:06.37 ID:???
>>450
つ〜かブロック障害起こしたらRMANでverifyして自動的に直せや。

RMAN > run { backup check logical validate database;}

SQL> select * from v$database_block_corruption;

RMAN> run { blockrecover corruption list;}

SQL> select * from v$database_block_corruption;
453NAME IS NULL:2014/11/11(火) 00:19:27.15 ID:???
>>450

>>452に追加。

RMAN > run { backup check logical validate database;}

SQL> select * from v$database_block_corruption;


blockrecover corruption listした後にもう一回validateしないと
v$database_block_corruptionはウプデートされないわ。
454449:2014/11/11(火) 00:37:36.78 ID:???
>>451 SGAとPGAの利用比率が分かってるならそっちが無難。

うちは9.2iからの移行でチューニング職人がいなかったから
とりあえずえいやーで自動管理にしたけど、メモリ割りあて過ぎる動作以外は不具合出てない。
455NAME IS NULL:2014/11/11(火) 00:43:45.56 ID:???
>>450
時間があったらDataguard作ってみ?
自動的にスタンバイから健全なブロックを転送して勝手に直してくれるぞ。
456NAME IS NULL:2014/11/11(火) 19:05:04.27 ID:???
sqldeveloperの使い方の質問はここでいいですか?
457450:2014/11/11(火) 21:14:12.89 ID:???
>>453
ちくしょう、validate しても ANALYZE しても
どうやっても v$database_block_corruption にでてこねぇ。。。

====
RMAN> backup check logical validate datafile 6 ;

backupが開始されました(開始時間: 2014/11/11 20:43:33)
チャネルORA_DISK_1の使用
チャネルORA_DISK_1: フル・データファイル・バックアップ・セットを開始しています
チャネルORA_DISK_1: バックアップ・セットにデータファイルを指定しています
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: backupコマンド(ORA_DISK_1チャネル上)が11/11/2014 20:43:33で失敗しました
ORA-01122: データベース・ファイル6の照合検査でエラーが発生しました。
ORA-01110: データファイル6: '/u01/app/oracle/oradata/cdb/users01.dbf'
ORA-01200: 実ファイル・サイズ640が正しいサイズ640ブロックより小さくなっています。

SYS@cdb > select * from v$database_block_corruption ;

レコードが選択されませんでした。
====

もしかして普通はもっと違うメッセージが出る?
これ、BMR できへん状態か?

>>455
いずれDataguard作るつもり。
まずはその前段階で手動で出来るのかやってる状況。
458NAME IS NULL:2014/11/11(火) 22:39:47.24 ID:???
>>457
ファイルヘッダーぶっ壊してO/Sですら読み込めなくなっちまってねぇか?
459457:2014/11/11(火) 23:08:09.76 ID:???
>>458
dd を実行する前後でファイルサイズが異なっていることに気付いた。

=====
$ ls -l users01.dbf

-rw-r----- 1 oracle oinstall 5251072 11月 11 22:49 2014 users01.dbf

$ dd if=/dev/zero of=users01.dbf bs=8192 seek=184 count=8
8+0 records in
8+0 records out
65536 bytes (66 kB) copied, 0.0012058 s, 54.4 MB/s

$ ls -l users01.dbf

-rw-r----- 1 oracle oinstall 1572864 11月 11 22:54 2014 users01.dbf
=====

440 に書かれているページのとおり dd をやったつもりなのだが、
もしかして dd の使い方、間違ってる?
460NAME IS NULL:2014/11/11(火) 23:33:00.54 ID:???
>>459
それ、ddで思い切り全ファイルを上書きしてんじゃねぇかよ。
dd if=/dev/zero of=users01.dbf bs=2048 seek=10 count=2ぐらいで試してみたら?
461NAME IS NULL:2014/11/12(水) 03:11:06.36 ID:???
>>459
例にある様にdba_extentsでsegmentのBlock ID確認して、それをseekの開始位置に指定してみ?
462NAME IS NULL:2014/11/12(水) 07:10:24.88 ID:???
>>461
もちろんそうしているつもりなんだけどなぁ・・・。

=====
select segment_name,extent_id,file_id,block_id,blocks
from dba_extents
where segment_name = 'AAA';

SEGMENT_NA EXTENT_ID FILE_ID BLOCK_ID BLOCKS
---------- ---------- ---------- ---------- ----------
AAA 0 6 184 8 ←★今回壊そうとした箇所
AAA 1 6 192 8
AAA 2 6 200 8
AAA 3 6 208 8
AAA 4 6 216 8
AAA 5 6 224 8
AAA 6 6 232 8
=====

BLOCK_ID が 184 で BLOCKS が 8 だから、
seek が 184、count が 8 でいいんよな?
db_block_size もデフォの8192で作ってるから、bs も 8192 で間違いない筈。

$ dd if=/dev/zero of=users01.dbf bs=8192 seek=184 count=8

でもこれだと、結果的に184ブロック以降全てが壊れてしまってるんだよな?
うーむ・・・。
463NAME IS NULL:2014/11/12(水) 08:53:02.21 ID:???
>>462
conv=notruncオプションが必要になってた・・・orz

dd if=/dev/zero of=users01.dbf bs=8192 seek=184 count=2 conv=notrunc
464NAME IS NULL:2014/11/12(水) 18:31:16.12 ID:???
>>463
ありがとう、やっとできた。
dd なんて普段使わんから、例のサイトの手順を鵜呑みにしてたわ。
465NAME IS NULL:2014/11/12(水) 19:41:58.58 ID:???
UNDOについて素朴な疑問なんだが。
例えばインスタンス停止中に一時表領域のデータファイルを削除してから
インスタンスを起動すると、自動的に一時表領域のデータファイルを作成してくれるじゃない。
でも、UNDOのデータファイルはそうはいかず、エラーになる。

思ったのだが、
インスタンス停止中なんだらUNDOデータなんて必要ない(?)んだし、
一時データファイルと同じように自動作成してくれないのかな?
自動作成してくれないまでも、CREATE UNDO TABLESPACEできればよいのだが、
MOUNT 状態で CREATE UNDO TABLESPACE できるわけもなく、
通常のデータファイルと同じようにリストア&リカバリが必要になるときた。

UNDOデータファイルって、なんでそんなに重要なんだ?
(オンライン中に障害起きたらさすがに停止するのはわかるが・・・。)
466NAME IS NULL:2014/11/12(水) 20:49:12.24 ID:???
467NAME IS NULL:2014/11/12(水) 23:32:36.12 ID:???
>>465
Unix環境の場合、一時表領域はsparse fileとして作成される。
undoはインスタンス障害やshutdown abortで落とした時に、
起動時に未コミットの情報を拾って来てリカバリに使う。
だから自動作成なんて危険過ぎて出来ない。
468NAME IS NULL:2014/11/12(水) 23:36:57.43 ID:???
>>464
どうやらconv=notruncが必要なのはLinux/BSD系のddだからみたいだ。
昔は、Raw Deviceや11g R1のvoting diskのバックアップはddでないと
取れなかったりして使っていたんだけどな。
469NAME IS NULL:2014/11/13(木) 07:51:18.64 ID:???
>>467
インスタンスを正常に shutdown した場合でも
UNDOデータファイルを損失してそのバックアップもなかったとしたら、
データベースの再構築が必要ってことになる?
470NAME IS NULL:2014/11/13(木) 08:43:44.14 ID:???
>>469
その場合はundo管理を主導にして、system表領域のrbsでDBをオープンできるはずだ。
471NAME IS NULL:2014/11/13(木) 08:44:23.35 ID:???
主導じゃなく手動の間違い。
472NAME IS NULL:2014/11/13(木) 21:11:13.75 ID:???
なるほど。
制御ファイルにUNDOデータファイルの情報が残ってて、
そのままだと OPEN できないから、制御ファイルも作り直しだな。
473NAME IS NULL:2014/11/13(木) 22:45:57.90 ID:???
別に制御ファイルを再作成する必要はないな。

1. 以下をinit.oraに設定

undo_management = manual
event = '10513 trace name context forever, level 2'

2. DBをrestrictでopen

SQL> startup restrict

3. 新規undo表領域の作成

SQL> create undo tablespace <新規undo表領域名> datafile <datafile> size 2000M;

4. 旧undo表領域の削除。


5. DBを停止

6. init.oraで新規作成したundo表領域を指定

7. 普通に起動
474NAME IS NULL:2014/11/13(木) 23:55:00.72 ID:???
event 10513 とな?!
さすがにそれは知らない。
Oracleには色んな裏ワザがあるな。
475NAME IS NULL:2014/11/14(金) 04:36:14.91 ID:???
event 10513はrollbackを停止させる。
だからデフォルトundo表領域が無くてもDBをopen出来る。
476NAME IS NULL:2014/11/16(日) 22:30:22.33 ID:???
9iシングルから11gRACにリプレイスする際に、ASMとかRAC用に増やしておかないといけないメモリコンポーネントってありますか。また、どれぐらい見積もればいいですか。
477NAME IS NULL:2014/11/17(月) 20:02:48.46 ID:???
>>475
event 10513 を 実際に試してみたんだが、OPENできなかった。

=====
SYS@cdb > startup restrict pfile='/u01/app/oracle/product/12.1.0/dbhome_1/dbs/initcdb.ora'
ORACLEインスタンスが起動しました。

Total System Global Area 1048576000 bytes
Fixed Size 2932336 bytes
Variable Size 654311824 bytes
Database Buffers 385875968 bytes
Redo Buffers 5455872 bytes
データベースがマウントされました。
ORA-01157: データファイル4を識別/ロックできません -
DBWRトレース・ファイルを参照してください ORA-01110:
データファイル4: '/u01/app/oracle/oradata/cdb/undotbs01.dbf'
=====

以下、アラートログの抜粋。
event 10513 は問題なくPFILEで設定できているのが判るのだが。。。

=====
Using parameter settings in client-side pfile /u01/app/oracle/product/12.1.0/dbhome_1/dbs/initcdb.ora on machine tsdb101v
System parameters with non-default values:
processes = 300
event = "10513 trace name context forever, level 2" ←←←★
nls_language = "JAPANESE"
nls_territory = "JAPAN"
=====

なんか間違えてるかな?
478NAME IS NULL:2014/11/17(月) 20:08:27.31 ID:???
もちろん undo_management も MANUAL にしてる。

processes = 300
event = "10513 trace name context forever, level 2" ←←←★
nls_language = "JAPANESE"
nls_territory = "JAPAN"
memory_target = 1000M
control_files = "/u01/app/oracle/oradata/cdb/control01.ctl"
control_files = "/u01/app/oracle/oradata/cdb/control02.ctl"
db_block_size = 8192
compatible = "12.1.0.2.0"
log_archive_dest_1 = "LOCATION=/u01/app/oracle/arch"
log_archive_format = "%t_%s_%r.dbf"
undo_management = "MANUAL" ←←←★
479NAME IS NULL:2014/11/17(月) 21:34:50.61 ID:???
open しようとしてデータファイルがないのでエラー。
なのでmount状態で offline drop して忘れてもらう。
alter database datafile '/u01/app/oracle/oradata/cdb/undotbs01.dbf' offline drop;
480NAME IS NULL:2014/11/17(月) 22:11:29.15 ID:???
>>479
ありがとう、出来た。
offline dropか。
ぐぐったら色々でてきて勉強になったわ。
481NAME IS NULL:2014/11/17(月) 22:45:51.78 ID:???
ちょ、おまっ、それCDBw
482NAME IS NULL:2014/11/17(月) 22:48:36.48 ID:???
>>476
昔はRACのPIブロック用にDB_CACHEを30%ぐらい多めに見積もれって
言われていたけど、最近はどうなんだろうな。
ASMインスタンスも出来ればSGAに1GBぐらい割り当てていないと、
ORA-04031が発生してハマる事がある。
483NAME IS NULL:2014/11/17(月) 23:03:11.59 ID:???
>>482
レスありがとうございます。30%ですか。
ノードが多ければ多いほどそれだけキャッシュフュージョン発生するから多く見積もらなきゃいけないんですかね。
ASMのSGAはいいんですけど、DB側に乗るASM情報にどれぐらい必要かが気になるんですよね。
484NAME IS NULL:2014/11/17(月) 23:18:20.64 ID:???
>>483
結局はアプリの特性にもよるし、実際に動かして設定して行く
しかないと思うよ。
ASMはSGAが小さいと、archivelogの削除とかを繰り返して行く
内にメモリーがフラグメント化してORA-4031が発生したりする。
485NAME IS NULL:2014/11/18(火) 06:34:32.69 ID:???
>>481
ん?
何か問題あるのか?
UNDO障害にCDBも非CDBも関係ないと思うが。
486NAME IS NULL:2014/11/18(火) 22:43:56.30 ID:???
12.1.0.2 で PDB 上の表領域の TSPITR を試してみてるんだが、
デフォルト表領域は TSPITR できない仕様なのか?

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: recoverコマンドが11/18/2014 21:35:29で失敗しました
RMAN-03015: ストアド・スクリプトMemory Scriptにエラーが発生しました
RMAN-03009: sqlコマンド(defaultチャネル上)が11/18/2014 21:35:28で失敗しました
RMAN-11003: SQL文: drop tablespace USERS including contents keep datafiles cascade constraintsの解析/実行中に障害が発生しました。
ORA-12919: デフォルトの永続表領域は削除できません

こんな感じでエラーになる。
試にデフォルトじゃない表領域でやってみると問題なくいけた。(drop tablespaceでエラーにならなかった)

やり方が悪いんかな?
11g でも drop tablespace ってしてたっけか?
487NAME IS NULL:2014/11/18(火) 22:45:50.69 ID:???
流したコマンドはこれ。
RMAN> RECOVER TABLESPACE pdb1:users until time '2014-11-18:21:23:00' AUXILIARY DESTINATION '/tmp/oracle_backup_test' ;
488NAME IS NULL:2014/11/18(火) 23:34:59.18 ID:???
RMANの問題じゃなくデフォルト表領域を削除しようとしているから
エラーになっている。
デフォルト表領域を別に作ってから試してみたら良い。
489NAME IS NULL:2014/11/19(水) 21:21:36.66 ID:???
12cのリカバリも覚えんとあかんか...
490486:2014/11/19(水) 21:35:16.44 ID:???
>>488
うむ、それなら出来るな。
RMANもそこまで自動で面倒みてくれないわけね。
491NAME IS NULL:2014/11/22(土) 09:23:27.32 ID:???
いまから12c使わない理由ってある?
492NAME IS NULL:2014/11/22(土) 09:34:37.63 ID:???
>>491
R2が出ていない
493NAME IS NULL:2014/11/23(日) 00:04:30.84 ID:???
>>491
無いな。
494NAME IS NULL:2014/11/23(日) 09:38:53.36 ID:3x0NhpTB
8i->11gR2移行で質問です。
PL/SQLや他プログラムへの影響を調査するためには、方針としてはどうすれば良いでしょうか?
色々調べてみたところ、10以降はGROUP BYに必ず明示的ORDER BYが必要と分かりましたが、
他はアップグレードガイドに記載の初期化パラメータの非推奨/廃止の対象で全grepを想定しています。
495NAME IS NULL:2014/11/23(日) 10:16:05.89 ID:???
テスト機で試す。それしかないだろ。
ドキュメントは、どう直せばいいかわからなくなった時にみる。
496NAME IS NULL:2014/11/23(日) 10:22:14.18 ID:???
497NAME IS NULL:2014/11/23(日) 12:38:18.36 ID:???
まだ9i→11gは結構みたけど 8iがまだ動いてるんだね。
ハード側が腐って朽ち果ててそうな感じだが..
498NAME IS NULL:2014/11/24(月) 22:58:13.50 ID:???
11gRACでの最小SGAサイズって推奨とかある?
499NAME IS NULL:2014/11/24(月) 23:27:35.01 ID:???
>>498 自動メモリ管理であと勝手によろしく!で良いんじゃね。
うちSE RAC 3セットは全部その設定で2年近く問題起きてない@11.2.0.3 パッチ10 Solaris SPARC

SGA TARGETをあらかじめ設定しておかないとPGAの利用が増えたときか何かで
ORA-xxxx (ORA-04031だったかその辺のメモリ割り当て不可)のエラーが出るって罠があるけどうちの環境じゃ出たこと無い。
500NAME IS NULL:2014/11/24(月) 23:59:25.63 ID:???
>>499
sga_targetのサイズいくつ?
501NAME IS NULL:2014/11/25(火) 04:01:14.27 ID:???
>>498
つ〜か、そんなのアプリの特性によるだろ。
502NAME IS NULL:2014/11/25(火) 07:23:27.59 ID:???
>>500
インスタンス1個と仮定したら、OSとか他ミドルの最低分除いた全部。
503NAME IS NULL:2014/11/25(火) 21:00:25.25 ID:???
>>502
そういう雑な設計をして12c対応が面倒になってる案件をよく見る
504NAME IS NULL:2014/11/25(火) 21:45:53.45 ID:???
誰かフラッシュバックデータアーカイブ使った人おる?
なんかうまくいかんわー。

======
PDBADMIN@PDB1 > ALTER TABLE BBB FLASHBACK ARCHIVE FDA1 ;

表が変更されました。

PDBADMIN@PDB1 > show user ;
ユーザーは"PDBADMIN"です。

PDBADMIN@PDB1 > SELECT * FROM USER_FLASHBACK_ARCHIVE_TABLES;

TABLE_NAME OWNER_NAME FLASHBACK_ARCHIVE_NA ARCHIVE_TABLE_NAME STATUS
---------- ---------- -------------------- -------------------- ----------
BBB PDBADMIN FDA1 SYS_FBA_HIST_92008 ENABLED

PDBADMIN@PDB1 > SELECT * FROM BBB AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '1' MINUTE);
SELECT * FROM BBB AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '1' MINUTE)
*
行1でエラーが発生しました。:
ORA-00942: 表またはビューが存在しません。

PDBADMIN@PDB1 > desc SYS_FBA_HIST_92008 ;
ERROR:
ORA-04043: オブジェクトSYS_FBA_HIST_92008 は存在しません。

PDBADMIN@PDB1 > desc PDBADMIN.SYS_FBA_HIST_92008 ;
ERROR:
ORA-04043: オブジェクトPDBADMIN.SYS_FBA_HIST_92008 は存在しません。
======

こんな感じで、どうもアーカイブ先(ARCHIVE_TABLE_NAME)の
SYS_FBA_HIST_92008っつーオブジェクトが無い(見えない?)ようだ。
試しにもう一回 ALTER TABLE 〜 FLASHBACK ARCHIVEを実行しても既に有効化されてるとか出てくるし・・・。

======
PDBADMIN@PDB1 > ALTER TABLE BBB FLASHBACK ARCHIVE FDA1 ;
ALTER TABLE BBB FLASHBACK ARCHIVE FDA1
*
行1でエラーが発生しました。:
ORA-55600:
表"PDBADMIN"."BBB"はフラッシュバック・アーカイブに対してすでに有効化されています
======

なんでだぁ?
505504:2014/11/25(火) 22:10:24.16 ID:???
なんだこいつら?

=======
PDBADMIN@PDB1 > select segment_name from dba_extents where tablespace_name='FDA1_TS1' ;

SEGMENT_NAME
--------------------------------------------------------------------------------
SYS_FBA_DDL_COLMAP_92008
SYS_FBA_TCRV_92008
SYS_FBA_TCRV_IDX_92008
=======

92008って名前から察するに、SYS_FBA_HIST_92008 の仲間かぁ?

※ちなみにバージョンは 12.1.0.2
506NAME IS NULL:2014/11/26(水) 00:25:52.42 ID:???
>>504
RETENTION指定していないからじゃね?
507NAME IS NULL:2014/11/26(水) 00:32:54.75 ID:???
>>503
OSとミドルと常駐アプリ除いた全部割り当てって楽で良いような気がするけど
12c対応にすると面倒なん?
508NAME IS NULL:2014/11/26(水) 01:05:03.02 ID:???
>>504
普通に上手くいくけどな。

SQL> create flashback archive default boe tablespace users quota 1m retention 1 day;

Flashback archive created.

SQL> create table hoge (boge char(10));

Table created.

SQL> insert into hoge values (1);

1 row created.

SQL> insert into hoge values (2);

1 row created.

SQL> select * from hoge as of timestamp(systimestamp - interval '1' minute);

BOGE
----------
1
509504:2014/11/26(水) 07:46:01.37 ID:???
>>506
こんな感じで指定してる。

SQL> CREATE FLASHBACK ARCHIVE DEFAULT FDA1 TABLESPACE FDA1_TS1 RETENTION 1 YEAR ;
SQL> GRANT FLASHBACK ARCHIVE ON FDA1 TO PDBADMIN ;

>>508
それ 、
ALTER TABLE hoge FLASHBACK ARCHIVE boe ;
してないから、フラッシュバックデータアーカイブを利用しるんじゃなく
UNDOを使った普通のフラッシュバック問い合わせが行われてるんじゃない?
それならこっちも出来るんだよなぁ。
510504:2014/11/26(水) 20:07:22.51 ID:???
自己解決しました。
アーカイブデータの格納先表領域が小さすぎただけだった...orz

アラートログは確認していたのだが、
cdb_w004_5255.trc とかいうバックグラウンドプロセスのトレースログが増大しているのに今、気が付いた。
中を見ると、

=======
Flashback Archive: Error ORA-1658 in SQL create table "PDBADMIN".SYS_FBA_HIST_92008
(RID VARCHAR2(4000), STARTSCN NUMBER, ENDSCN NUMBER, XID RAW(8), OPERATION VARCHAR2(1), "BBB" TIMESTAMP(6) )
tablespace FDA1_TS1 partition by range (ENDSCN) (partition high_part values less than (MAXVALUE))
=======

こんな風に、ORA-1658 が出ていた。
ちくしょう、こんなつまらないことに躓くとは。
面目ねぇ。。。
511NAME IS NULL:2014/11/27(木) 16:07:24.27 ID:???
今度更改のシステムでオンライン24時間のシステムで朝方に統計情報取るように変わったんだがそれって普通なのだろうか?
512NAME IS NULL:2014/11/27(木) 17:58:04.08 ID:???
>>511
オンラインの負荷が高くなる前に向けて統計情報取るって普通だよ。
513NAME IS NULL:2014/11/27(木) 21:54:02.27 ID:???
>>511
朝方に終わるんならな
終わるんなら、朝方にやっても構わないだろう

警告は、したぞ
514NAME IS NULL:2014/11/27(木) 23:35:26.82 ID:???
DBCAの話なんだが、
11gの時は最後のほうの画面で、サマリーをHTML形式で保存できたのだが、
12c からはそのボタンが見当たらないのだが、、、無くなったのか?
でもヘルプボタンを押したら、「HTML形式で保存することができます」
みたいなこと書いてるし、、、
515NAME IS NULL:2014/11/29(土) 09:00:15.18 ID:???
>>514
確かにボタンが無くなっているな。
自動的に作成されているとか?
516NAME IS NULL:2014/11/29(土) 23:37:48.26 ID:???
11gでASMを利用する際ですが、FRAのDGって必須でしょうか。
アーカイブREDOやRMANバックアップをDBとは違うストレージ(NFSマウント)に配置しようと思ってます。
517NAME IS NULL:2014/11/30(日) 00:17:02.34 ID:???
>>516
別に必要じゃない。
518NAME IS NULL:2014/12/01(月) 08:22:26.27 ID:???
>>517
ありがとうございます。非常に助かりました。
519NAME IS NULL:2014/12/02(火) 05:31:56.38 ID:???
>>514
一回テンプレートとして保存。
んで、dbcaのTemplate Managementから対象DBを選択してshow detailやると
HTMLで保存出来る。
520514:2014/12/02(火) 07:24:01.51 ID:???
>>519
あんがと。今度やってみるわ。
なんでそんな面倒なことになったんだろうね?
521NAME IS NULL:2014/12/02(火) 23:28:26.66 ID:???
一貫性バックアップを取った@という地点と、Aという地点があったとする。
(あ、リカバリカタログ使用ね)

まず@の地点にDB全体を RESTORE&RECOVERYして OPEN RESETLOGS した。
次に、Aの地点にDB全体を RESTORE しようとすると、

$ rman target / catalog ****/****@****

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restoreコマンドが12/02/2014 22:48:16で失敗しました
RMAN-06026: 見つからないターゲットがあります - リストアを中止します
RMAN-06023: データファイル15をリストアするためのバックアップまたはコピーが見つかりません
RMAN-06023: データファイル6をリストアするためのバックアップまたはコピーが見つかりません
RMAN-06023: データファイル3をリストアするためのバックアップまたはコピーが見つかりません
RMAN-06023: データファイル1をリストアするためのバックアップまたはコピーが見つかりません

といって怒られた。
どうもリカバリカタログ内の情報がAの地点と違っているようなので、
とりあえず制御ファイルもAの地点に戻して RESYNC CATALOG すると、

RMAN> RESYNC CATALOG ;

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: resyncコマンド(defaultチャネル上)が12/02/2014 22:48:20で失敗しました
ORA-00236: スナップショット処理不可: マウントされた制御ファイルはバックアップです。

とかって怒られた。
なんじゃそりゃと思って、
リカバリカタログを使わず

$ rman target /

で接続すると、RESTORE できた。
んで、RESYNC CATALOG すると、

RMAN> RESYNC CATALOG ;

データベースの新しいインカネーションがリカバリ・カタログに登録されました
リカバリ・カタログの完全再同期を開始しています
完全再同期が完了しました

とすんなり行き、RECOVERして OPEN RESETLOGS も出来てめでたしめでたし。
・・・なのだが、どうも腑に落ちない。
リカバリカタログに接続している場合、
ターゲットDBの制御ファイルで強制的に RESYNC CATALOG することは出来ないのだろうか?
522NAME IS NULL:2014/12/04(木) 00:35:35.93 ID:???
>>521
open resetlogsするとインカーネーションが新しくなっているから
カタログが持っている情報とバッティングしてしまう。
そういった場合はカタログから1回unregisterして、registerする
しか無い。
523521:2014/12/04(木) 07:21:37.85 ID:???
>>522
レスありがとう。
合点がいった。
524NAME IS NULL:2014/12/05(金) 21:04:15.64 ID:KSDCyJ4/
oracleで、truncate処理中のテーブルに対してselectを投げたら、ORA-08103(オブジェクトは存在しません)が発生しました。

truncateはテーブルのデータを削除するものなので、オブジェクトが存在しない、というエラーは違和感があるのですが、、一体どういう事なのでしょうか??
525NAME IS NULL:2014/12/05(金) 21:52:17.77 ID:???
>>524
ドキュメントID 1743015.1
526NAME IS NULL:2014/12/06(土) 01:26:42.04 ID:???
みなさんは12cをもう本番運用していますか?
12.1.0.2のSE Oneってまだ出てないですよね?
2012R2でのクラサバなんですが11.2.0.4しか現時点では選択しないですよね
527NAME IS NULL:2014/12/06(土) 03:07:41.35 ID:???
Release 2待ち
12.1.0.2がターミナル・リリースらしいし少し待てば来るさ
528NAME IS NULL:2014/12/06(土) 07:52:12.93 ID:???
〉〉525

契約出来ない環境にあり、見ることが出来ません、、、
教えて下さいm(_ _)m
529NAME IS NULL:2014/12/06(土) 07:54:06.92 ID:???
>>525

契約出来ない環境にあり、見ることができません、、、
教えて下さいm(_ _)m
530NAME IS NULL:2014/12/06(土) 08:47:49.47 ID:???
>>525

処理の中で、一旦テーブル自体が消えているのでしょうか?

テーブルは残ってて、でもselect処理が見に行く領域にはテーブルは無くなる?

それとも、エラー08103がいうオブジェクトというのは、テーブルではなく、レコードの事も指す?

Oracle完全初心者で、、回答を急かされて困っております(´・_・`)

どうか、宜しくお願いしますm(_ _)m
531NAME IS NULL:2014/12/06(土) 09:41:42.32 ID:???
>>527
12.1.0.2がターミナルリリースってホント?
どっか書いてる?
532NAME IS NULL:2014/12/06(土) 09:53:10.68 ID:???
>>524
truncateでそうなるのは正常だから気にするな
533525:2014/12/06(土) 10:15:46.74 ID:???
>>530
テーブルをTRUNCATEする場合、DROP TABLE できる権限が必要です。
つまり TRUNCATE は DDL であり、DROP TABLE と同レベルだと考えて下さい。

>処理の中で、一旦テーブル自体が消えているのでしょうか?
>テーブルは残ってて、でもselect処理が見に行く領域にはテーブルは無くなる?
>それとも、エラー08103がいうオブジェクトというのは、テーブルではなく、レコードの事も指す?

厳密には違いますが、この中で一番近しいのは1番目でしょうか。
(DROP TABLE 権限が必要なため)

DLL の TRUNCATE ではなく、DML の DELETE 文を使うことは出来ませんか?
そもそも SELECT されることが分かっている状態で TRUNCATE を実行することが間違いです。
(TRUNCATE を DROP に置き換えて考えてみて下さい。
 SELECT 中に テーブルが DROP されたら、そりゃオブジェクトがなくなりますよね)
534NAME IS NULL:2014/12/06(土) 10:44:41.68 ID:???
>>530
ありがとうございます。
結局、dropと同じレベルの事を行っているんですね。

なぜ、オブジェクトが無いってエラーになるの?
truncateだからテーブル=オブジェクトはあるでしょ?

と聞かれて困ってました。
535NAME IS NULL:2014/12/06(土) 10:46:30.21 ID:???

>>533
の間違いです。すいません。
536NAME IS NULL:2014/12/06(土) 10:47:16.26 ID:???
>>524
仕様だよ。上の人もレスしてるけど、そもそもtruncate中にselectさせないようにしないと。
パーティションできるならパーティションtruncateするとか。
537NAME IS NULL:2014/12/06(土) 11:20:34.30 ID:???
>>536
ありがとうございます。
仕様なんですね。

その方はエラーが発生した事ではなく、メッセージ文自体が気になってるみたいで、、
truncate tableはいったんテーブルを削除してから新しいテーブルを再作成する流れでテーブルを空にする、って事ですかね!

truncate中のselectについては見直さなきゃなと思います。
538NAME IS NULL:2014/12/06(土) 12:06:07.36 ID:???
>>537
truncateすると表のdata_object_idが変わるから。
以上。
539533:2014/12/06(土) 13:34:30.88 ID:???
>>537
>truncate tableはいったんテーブルを削除してから新しいテーブルを再作成する流れでテーブルを空にする、って事ですかね!

う〜ん、「厳密には違う」と言ったのはそこなんですよね。
正確には 538 の言うとおりです。
540NAME IS NULL:2014/12/06(土) 15:35:02.43 ID:???
>>538

>>539

ありがとうございます。
data_object_idが変わり、今までアクセスしていたdata_object_idでアクセス出来なくなってしまったので、オブジェクトが無い旨のメッセージが出力されたのですね。
541NAME IS NULL:2014/12/06(土) 18:44:14.12 ID:???
(´・ω・`) 昨日の二次会後に本番までやっちまったよ!って電話で話してたら新人事務のお姉さんからガチでセクハラ扱いされた件...
最初意味が分からず、後から意味を悟って お、おう・・・ ってなったわ。


※リリースしたアプリのバグで計算ミスってる値を大至急修正するために、開発機でOKなら即効で本番やれという緊急指令があり
車通勤で酒飲めない俺だけが二次会終わった後に会社戻らされ緊急作業を実施。
翌朝になって「修正ちょっと待った!」って言われた電話に対して...
542NAME IS NULL:2014/12/06(土) 23:20:45.45 ID:???
Data Guard (フィジカルスタンバイ)を構築してみたのだが、
プライマリからスタンバイに転送された適用済みのアーカイブログって、みんなどう処理してる?
消すのは簡単なんだが、なんとなく躊躇ってしまう私はチキン野郎。
543NAME IS NULL:2014/12/07(日) 00:26:53.77 ID:???
>>541
彼女の前で『本番でインサートしちまってるよっ!』って
叫んで見てくれ(笑)
544NAME IS NULL:2014/12/07(日) 03:00:48.51 ID:???
>>542
一日分ぐらい溜めておいてから消している。
アーカイブログだってプライマリかスタンバイのどっちかで二次記憶装置に
バックアップしているだろ?
545542:2014/12/07(日) 09:39:20.64 ID:???
>>544
データベースのバックアップは、プライマリとスタンバイの両方で取るべきだろうか?
両方で取るなら、両方で PLUS ARCHIVELOG DELETE INPUT しとけばいいけど、
例えばプライマリだけで取る場合、PLUS ARCHIVELOG DELETE INPUT しても
プライマリ側のアーカイブログは消えるがスタンバイ側のアーカイブログは残るよな?

それともスタンバイ側のアーカイブログも一緒に消す方法があるんかな?
調べてみると、
 CONFIGURE ARCHIVELOG DELETION POLICY TO applied on all standby ;
がそれらしいことを書いていたのだが、実際に試してみても消えなかった。
546NAME IS NULL:2014/12/07(日) 11:38:14.09 ID:???
>>545
バックアップはプライマリで録っていれば十分だろ。
スタンバイ側のアーカイブログも普通にrman使って消している。

以下スタンバイ側の作業

1. rman target /
2. CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;

後は以下のシェルをcronで定期的に流している。

--
!#/bin/sh

rman target / <<:EOF
run {
delete noprompt archivelog all;
}
quit;
:EOF
--
547NAME IS NULL:2014/12/07(日) 17:39:05.66 ID:???
>>546
やっぱりプライマリとスタンバイの両方で消さないとダメか。
プライマリからスタンバイのアーカイブログを消すことはできないってことね。
548NAME IS NULL:2014/12/07(日) 20:43:15.97 ID:???
Data Guard でリカバリカタログを使ってるのだが、
スタンバイの再同期がうまくいかない。
なんでだろう?

以下、プライマリで実施
=====
$ rman target / catalog ****/****@rcat

Recovery Manager: Release 12.1.0.2.0 - Production on 日 12月 7 20:30:47 2014

Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.

ターゲット・データベース: CDB (データベースID=1977747161)に接続されました
リカバリ・カタログ・データベースに接続されました。


RMAN> list db_unique_name of database ;

データベースのリスト
DBキー DB名 DB ID データベース・ロール Db_unique_name
------- ------- ----------------- --------------- ------------------
7593 CDB 1977747161 PRIMARY CDB
7593 CDB 1977747161 STANDBY CDBAS


RMAN> show DB_UNIQUE_NAME ;

db_unique_name CDBのデータベースにおけるRMAN構成パラメータ:
CONFIGURE DB_UNIQUE_NAME 'cdbas' CONNECT IDENTIFIER 'CDBAS';

MAN> resync catalog from db_unique_name cdbas ;

データベースDB_UNIQUE_NAME CDBASから再同期しています
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: resync from db_unique_nameコマンド(defaultチャネル上)が12/07/2014 20:29:25で失敗しました
ORA-17629: リモート・データベース・サーバーに接続できません
ORA-17627: ORA-00942: 表またはビューが存在しません。
=====

「表またはビューが存在しません。」ってなんやねん。
これだけじゃ、どこのなんの表を見にいってんのか、わからんやないか??

ちなみにプライマリの再同期は問題なく実行できた。
=====
RMAN> resync catalog from db_unique_name cdb ;

リカバリ・カタログの完全再同期を開始しています
完全再同期が完了しました
=====

なんでだろう?
手に負えんわ、こりゃ。。。
549NAME IS NULL:2014/12/07(日) 22:47:45.12 ID:5Ke/4ejV
A,1,1
A,2,5
A,3,3
B,1,1
B,2,3
B,3,10
という結果のSQLを

カラム名として
名 1 , 2 , 3

データとして
A 1 , 5 , 3
B 1 , 3 , 10

上記のように名前ごとにまとめた形で
一つの行として出したい表示をしたいのですが
だれか教えてください
550NAME IS NULL:2014/12/08(月) 00:47:51.66 ID:???
>>548
rman target sys/<sysのパスワード> catalog ****/****@rcat
って、明示的にsysでログインして試して見てくれ。
551NAME IS NULL:2014/12/08(月) 00:48:44.84 ID:???
>>547
まあ、プライマリ側からスタンバイ側にrmanでリモートログインしてって
事も出来るけど、それに意味があるかというと・・・。
552NAME IS NULL:2014/12/08(月) 03:23:59.98 ID:???
>>549
一発のSQL文でやろうとするのは無理なんじゃねぇの?
viewとかと組み合わせてやってみたら?
553548:2014/12/08(月) 21:08:36.76 ID:???
>>550
なんかメッセージが変わった。

======
RMAN> resync catalog from db_unique_name cdbas ;

データベースDB_UNIQUE_NAME CDBASから再同期しています
starting partial resync of recovery catalog
ORA-20079: full resync from primary database is not done

doing automatic resync from primary
automatic resync from primary done
starting partial resync of recovery catalog
partial resync complete
======

どうして明示的に sys/パスワード で入るといけるんだ?
バグか?
554548:2014/12/08(月) 21:09:03.73 ID:???
partial resync complete とは出てるけど、ORA-20079 が出てるので
もう一回やってみた。

======
RMAN> resync catalog from db_unique_name cdbas ;

データベースDB_UNIQUE_NAME CDBASから再同期しています
starting partial resync of recovery catalog
ORA-20079: full resync from primary database is not done

doing automatic resync from primary
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: resync from db_unique_nameコマンド(defaultチャネル上)が12/08/2014 20:05:59で失敗しました
RMAN-20051: データファイル再同期が完了していません
======

ありゃ?

======
RMAN> resync catalog ;

リカバリ・カタログの完全再同期を開始しています
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: resyncコマンド(defaultチャネル上)が12/08/2014 20:17:01で失敗しました
RMAN-20051: データファイル再同期が完了していません
======

おおう?!
普通の resync catalog も通らなくなったぞ。
仕方ないのでログアウトして、今まで通りのやり方( / でログイン)でやると、

======
RMAN> resync catalog ;

リカバリ・カタログの完全再同期を開始しています
完全再同期が完了しました
======

うまく動いた。
もしかしてこれって、バグ 19724787 あたりにヒットしてる?
555NAME IS NULL:2014/12/08(月) 23:14:49.39 ID:???
>>554
そうだな。
ずっとエンハンスリクエストが出ているが、ワークアラウンドが
あるから放置されている。
556NAME IS NULL:2014/12/09(火) 07:29:28.65 ID:???
つ、使えねぇ。。。
これに費やした数時間を返してほしいわw
557NAME IS NULL:2014/12/10(水) 05:35:42.06 ID:???
>>549
最近まともなSQL書いていなから、すっかり忘れているわ。
with句とかとうまく組み合わせれば出来そうな気もするけど。
誰かエロい人頼む(笑)
558NAME IS NULL:2014/12/10(水) 11:24:37.32 ID:???
>>549
Pivot

10gなら名前でgroup-byして、各カラムはsum(case when ...)で対応する値のみ取得。
559NAME IS NULL:2014/12/10(水) 23:06:27.30 ID:???
DGMGRL で手動スイッチオーバーを試してみたんだが、
新プライマリは起動してくるんだが、新スタンバイのほうが起動してこない。

======
DGMGRL> SWITCHOVER TO 'cdbas'
現在スイッチオーバーを実行しています。お待ちください...
操作上、インスタンス"cdbas" (データベース"cdbas")を接続する必要があります
インスタンス"cdbas"に接続中...
SYSDBAとして接続しました。
新しいプライマリ・データベース"cdbas"がオープン中です...
操作上、インスタンス"cdb" (データベース"cdb")を起動する必要があります
インスタンス"cdb"の起動中...
======

このまましばらく待つと、

======
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=tsdb111v.oracle12c.jp)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=cdb_DGMGRL)(INSTANCE_NAME=cdb)(SERVER=DEDICATED)))でデータベースに接続できません
ORA-12514: TNS: リスナーは接続記述子でリクエストされたサービスを現在認識していません

失敗しました。
警告: Oracleにはもう接続されていません。

スイッチオーバーを終了するには次のステップを実行してください:
インスタンス"cdb" (データベース"cdb")を起動します
======

となった。
アラートログには、

======
Switchover complete. Database shutdown required
Completed: ALTER DATABASE SWITCHOVER TO 'cdbas'
Wed Dec 10 22:18:33 2014
OCISessionBegin with PasswordVerifier succeeded
Wed Dec 10 22:18:34 2014
Data Guard Broker operation requires restart; shutting down instance now
DMON (ospid: 2860): terminating the instance
Wed Dec 10 22:18:35 2014
Instance terminated by DMON, pid = 2860
======

とシャットダウンされた形跡があり、このまま起動してこない。
新スタンバイを手動で起動すれば問題ないのだが、
スイッチオーバーって、こういう物なのか?
それとも何か設定が足りないのか?

(「インスタンス"cdb"の起動中...」ってメッセージが出てるから、
 てっきり新スタンバイの起動も行ってくれるものだと期待しているのだが)
560NAME IS NULL:2014/12/11(木) 00:24:51.39 ID:???
>>559
プライマリ側からスタンバイ側にSYSDBAで接続出来るか?
パスワードファイルとかちゃんと正しく設定されてる?
561NAME IS NULL:2014/12/11(木) 04:46:08.02 ID:???
>>559
プライマリとスタンバイのlinstener.oraにGLOBAL_DBNAMEが
きちんと記述されていない可能性が大。
562NAME IS NULL:2014/12/11(木) 11:00:58.22 ID:48xV1tZI
☆☆☆☆☆
               /  /     /   |      \ ヽ
               / /  /   / /    ||  |  i  ヽ i
              i /  / /  / / /    ||  ||  |│ |ノス
               |//  / /___, -一ァ|  /! |ト、|│ | | く」
                |,-‐¬  ̄---┘'7 |!  ハ! |,、-┼十|! | | |
          , -‐ ''"  し' '´_ /,ィ二l |ト、/!ヽト、\_ヽ!|!l | ハ |
       ,r/      __   ,イ|リ ヾハ! ヽ!  ,ィ⌒ヾミリノ!/リ  | ☆ 自民党、グッジョブですわ。 ☆  
      / ||ヽ  -'     / ̄ )` __      |ヒノ:} '` ,イ/ |  |  http://www.soumu.go.jp/senkyo/kokumin_touhyou/index.html
    ,r '   ヾ、  ,-、____ , イ ̄,r==-      ==-'  レ' /|  |  
  / ヽ    `ーソ  ' | |ト、,ヘ ′""          "" / / || | ☆ 日本国民の皆様、12月14日(日)の
. /    \_  /  | ハ ヽ`゙'ヘ       ' '__. ィ  / / | |  |     『衆議院議員総選挙』に必ず投票にいきましょう。 ☆  
           /   / / |  ヽ 川\    ヾ三ニ‐'′//! |  | |  |   
        /    / / 八  \川| |`ト- ..  __ , イ‐ァヘ |  | ||  |!
      /    / / /  \  \ 「`ー- 、    /  .〉  ト、|  ヽ、
     ,イ    /-─=¬ニヘ、_  \   厂\ 厂ヽ /!|   | `ー=ヘ
 -‐  ̄ /─ '  ̄     ├- ヽ\  \ノ\ \ 人 ハ!ヽ ||  |-┤ ヽ
      /          /!‐-- | |\   ト、_`ヽ oヽ  ト、!  ||  |‐┤- ヽ
  // 〉      __ /  ├‐-  ||  | 川-‐  | |  厂7! ハ!  ├:┤  ̄ヽ
  / / ー ─    ̄       ├‐- リ  || ハ!ヘ   | |  ト┤|/′ ヾ,┤   ゙i_
  ‐ '              〉‐-    | / /\ .|o | /ヽ/(′    ∨     \
‐--─ ──-r、___-、    /ー_     {(   '´>、! /ヽ/       |\       \
563559:2014/12/11(木) 20:43:07.07 ID:???
>>561
あんたスゲェ・・・。
ありがとう、ドンピシャだ。

エラーメッセージメッセージどおり、プライマリを、
SID_LIST_LISTENER =
(SID_DESC =
(GLOBAL_DBNAME=cdb_DGMGRL) ←★
(ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1)
(SID_NAME=cdb)
)

スタンバイを、
SID_LIST_LISTENER =
(SID_DESC =
(GLOBAL_DBNAME=cdbas_DGMGRL) ←★
(ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1)
(SID_NAME=cdbas)
)
にすると問題なくいけた。

しかし、聞いて欲しい。
今回の作業は、
http://www.insight-tec.com/mailmagazine/ora3/vol381.html
を参考にしながら構築したのだが、〜_DGMDRL っていうサービス名については出てきてない。
〜_DGB ってサービスは DMON を起動する時に有効になるのを確認したが、
〜_DGMDRL って何者なんだ?
564NAME IS NULL:2014/12/11(木) 23:05:23.22 ID:???
>>563
データガードブローカー特有のデフォルトの名前解決方法なんだろ。

もし_DGMGRLをlisnter.oraに使いたくなかったら、プライマリとスタンバイの
両方で接続情報を登録する必要がある。

DGMGRL> edit database <プライマリSID> set property staticconnectidentifier='プライマリへの接続子';
DGMGRL> edit database <スタンバイSID> set property staticconnectidentifier='スタンバイへの接続子';
565NAME IS NULL:2014/12/11(木) 23:31:44.75 ID:???
StaticConnectIdentifier か。
確かに出てるな。
右に長いから、完全に見落としてたわ。
566NAME IS NULL:2014/12/11(木) 23:45:47.49 ID:???
Data Guard を使う場合、
一般的にクライアント側の tnsnames.ora に書く接続記述子は、

(ADDRESS_LIST=
 (LOAD_BALANCE=off)
 (FAILOVER=on)
 (ADDRESS=(プライマリの情報))
 (ADDRESS=(スタンバイの情報)))

とするもんなんじゃろうか?

でも RAC と違って、障害が起きても VIP がフェイルオーバーされるわけじゃないから、
プライマリに接続を試みて TCP コネクション確立がタイムアウトするまで、
スタンバイには接続できないよな?

って理解でおk?
567NAME IS NULL:2014/12/11(木) 23:58:43.65 ID:???
>>566
するもんだ。
なんのためにプライマリサイトでローカルとリモートリスナーを
立ち上げている?
568NAME IS NULL:2014/12/12(金) 03:41:58.56 ID:???
>>566
Dataguard環境でもOracleのスタートアップトリガーと組み合わせて
TAF設定出来るぞ?

http://uhesse.com/2009/08/19/connect-time-failover-transparent-application-failover-for-data-guard/
569名無しさん@そうだ選挙に行こう:2014/12/13(土) 15:08:07.90 ID:iNKauH3B
皆様こんにちは、
Windows2012serverでoracle12cを
使用しています。
しかしwindows updateでDB初期化に失敗しましたというエラーが出て接続できなくなります。2回目です。
sys接続はできるのですが、
再インストールしか方法はないでしょうか。なにかご存じでしたら教えて下さい。
よろしくお願いいたします。
570名無しさん@そうだ選挙に行こう:2014/12/13(土) 15:09:04.51 ID:???
Windows Updateの方を消した方がよくね
571名無しさん@そうだ選挙に行こう:2014/12/13(土) 15:13:28.61 ID:iNKauH3B
ですね。
572名無しさん@そうだ選挙に行こう:2014/12/13(土) 16:17:36.37 ID:???
すみません
あるSQLで結果が0件の場合0を表示
結果がある場合(その場合は必ず結果は1件のみ)はその結果を表示したいのですが

やり方がわかりません
NVL(結果,0)でやっても結果が無い状態だと0にならないし
カウントを駆使しようとしてもなかなか思うようにはなりません

教えてください
573名無しさん@そうだ選挙に行こう:2014/12/13(土) 16:22:59.60 ID:???
他スレがあったので572は却下します
574名無しさん@そうだ選挙に行こう:2014/12/13(土) 16:24:15.37 ID:???
SELECT (SELECT COUNT(*) FROM TAB) FROM DUAL;
575名無しさん@そうだ選挙に行こう:2014/12/13(土) 16:36:44.66 ID:???
↑ごめん、これは違うな
576名無しさん@そうだ選挙に行こう:2014/12/14(日) 12:09:49.34 ID:???
結構難しいかも?


SQL> create table hoge(boe char(10));
SQL> insert into hoge values ('1');
SQL> insert into hoge values ('2');

SQL> select nvl((select boe from hoge where boe='1'),'0') from dual;

NVL((SELEC
----------
1

1 row selected.

SQL> select nvl((select boe from hoge where boe='4'),'0') from dual;

NVL((SELEC
----------
0

1 row selected.
577名無しさん@そうだ選挙に行こう:2014/12/14(日) 15:43:45.62 ID:???
PL/SQLのIFで書いたら阿寒の?
578名無しさん@そうだ選挙に行こう:2014/12/14(日) 16:41:37.66 ID:???
何が問題なのかわからない。
普通に出るぞ?

PDBADMIN@PDB1 > create table ccc ( ccc number ) ;

表が作成されました。

PDBADMIN@PDB1 > select nvl((select * from ccc), 0) from dual ;

NVL((SELECT*FROMCCC),0)
-----------------------
0

PDBADMIN@PDB1 > insert into ccc values ( 1 ) ;

1行が作成されました。

PDBADMIN@PDB1 > select nvl((select * from ccc), 0) from dual ;

NVL((SELECT*FROMCCC),0)
-----------------------
1
579NAME IS NULL:2014/12/16(火) 11:30:38.69 ID:???
とてもざっくりした質問で恐縮なんだけど
一応Silver資格とシングルの実務経験ありという前提で
RACまったくわかりませんから勉強するにはどうしたらいいの?
黒本読むか研修受けるくらいしか選択肢ないのかな
実機触るにも環境構築の仕方すらわからんのです
580NAME IS NULL:2014/12/16(火) 14:35:20.47 ID:???
>>579
RAC構築している人のドキュメントを見て自分でやってみるとか。
Oracleのサイトも見よう。

http://www.oracle.com/technetwork/jp/products/clustering/overview/index.html
581NAME IS NULL:2014/12/16(火) 17:43:34.19 ID:???
仮想マシンを2つ以上用意して試してみれば?
582NAME IS NULL:2014/12/16(火) 23:46:55.52 ID:???
火葬マシン上でRAC組むのもいいけど、
手始めにOracle VM VirtualBoxでVMを2つ起動するだけでRACが体験できるイメージもあるよ。

※SSDかRAID0で束ねた高速ストレージで動かさないと相当辛いけど。
583NAME IS NULL:2014/12/17(水) 15:14:42.46 ID:???
ちょっと質問なんですが、

実行中のSELECTの読み取り一貫性のベースになってるSCNって取得できますかね?
データベースのcurrent_scnじゃなくて、クエリが開始された時点のSCNってことです。
SCNでなくTimestampでもいいのかな。

SELECT FOR UPDATEとか、DMLだとトランザクションレベルの読み取り一貫性なので
v$transactionを参照すればいいんですが、単なるSELECTだとステートメントレベルなので、
使えないんですよね。

v$sql_monitorとかv$active_session_historyである程度わかるけど、DATEなので
正確じゃないし、補足されないクエリも多いし、、、、
584NAME IS NULL:2014/12/17(水) 20:21:47.10 ID:???
初期パラのprocessesに余裕持たせることに弊害ってありますか?
セッション張らない限りリソース消費はないと思っているのですが…
585NAME IS NULL:2014/12/17(水) 21:58:03.95 ID:???
たまに分からなくなる。
DBAってなんだろうって。

インストールできたらDBA?
運用できたらDBA?
障害対応できたらDBA?
パフォーマンス劣化の原因究明ができたらDBA?

DBAやりたくて今の会社に入った筈なのに・・・(´・ω・`)
やってることは単なるプログラム作成。
586NAME IS NULL:2014/12/17(水) 22:03:31.12 ID:???
>>584 意図的にプロセス数≒(専用サーバの接続数)を絞りたい理由が無い限り大きめにしとき。
専用サーバでデフォルト150(だったかな?)じゃ少なすぎて ORA-00020でハマる事が多くて
俺は構築時の決め事で10000に一律設定してる。

共有サーバはバグでハマってから絶対に使わない。。。。
587NAME IS NULL:2014/12/17(水) 22:05:34.34 ID:???
Oracle Databaseの物理設計、運用設計、インストール、チューニング、障害対応
Exadata構築支援とやってきたOracle DBAです
最近は他のデータベースからOracle Databaseに移行するときの支援してます
588NAME IS NULL:2014/12/17(水) 22:18:21.71 ID:???
>>586
SGAにプロセス用のエリアが予約されるので、使用されない
メモリが発生したりした気がするので、必要以上に大きすぎ
るのも、あまり良くない記憶がある。
9iとかの記憶なので、ASMM/AMM とかだと問題ないのか
もしれないけど。
589NAME IS NULL:2014/12/17(水) 23:36:59.67 ID:???
>>583
audit仕掛けてDBA_AUDIT_TRAIL見るのが一番じゃねぇの?
590NAME IS NULL:2014/12/17(水) 23:40:37.27 ID:???
>>588
まぁそうだけど、数十ギガ単位でSGA確保してる現状でどの程度のムダが発生するかって話だな。
どちらかと言うと、個人的には接続数のリミットを決めて予期せぬアプリの挙動からサーバやオラクルを守るのがメインのような気がする。
なので最大数の接続があったと仮定して、それをハンドルできる余裕があると思えるならそれでいいんじゃあるまいか。
運用中のDBならv$resource_limitみて決めるのがよろし。
591NAME IS NULL:2014/12/17(水) 23:43:47.63 ID:???
>>589
ありがとう。試してみるよ。
592NAME IS NULL:2014/12/17(水) 23:43:48.00 ID:???
593NAME IS NULL:2014/12/18(木) 02:35:59.88 ID:???
>>585
そりゃ、プロジェクトの規模にもよるでしょ。
巨大なプロジェクトだとDBA部門の下にバックアップ専門グループやチューニング専門グループがいたりするし、
小さなところだと、開発、運用、保守まで全部ひとりでこなさないといけないこともある。
逆に個々のプロジェクトは小さくても一人で数十個のDBを担当することもある。

前者だと得意なエリアに専念できるし、後者だといろんな知識ををまんべんなく得ることができるメリットが有る。
プログラム書いてるんだったら、DBAとしてオプティマイザの挙動を探求していけばいい。高速SQLがかけるようになる。
どのエリアであろうと追求していけば、知らないことがどんどん増えていく。奥が深いよ。
594NAME IS NULL:2014/12/18(木) 07:50:18.49 ID:???
>>586
プラットフォームはなに?
10000だったら、カーネルパラメータはどうしてる?
595585:2014/12/18(木) 23:08:06.80 ID:???
>>593
うむ、そうする。
来たるべきその日のために、今、爪を研いどいて、チャンスをものにするよ。。
596NAME IS NULL:2014/12/19(金) 22:23:33.14 ID:???
>>594 最近は脱Windows2003Serverの流れでSPARC Solaris11 + 11gR2が多いですね。
SPARC M10-1 + Infiniband SSDストレージで2node SE RACばかり組んでます。

専門のOS職人がいるから、カーネルパラメータの設定はお任せでよく分からんです。
「OracleにメモリxxGB割り当てて セッション数 ○○以上」って頼むだけでお任せですね。
実際にノードあたり1万セッション食わせたけど、ほとんどアイドル状態だからなんとも無かった。

100G単位のジャブジャブメモリが主流になって「えいやー」設定でそれなりに動いてるだけかも知れないけどね。
597NAME IS NULL:2014/12/24(水) 21:17:52.50 ID:???
EXADATA速すぎワロタwwwwwww
598:2014/12/25(木) 19:43:43.66 ID:???
/:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ
    /:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::://ヽ:::::::::::::::|
    l:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::// ヽ::::::::::::::l
    l:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::/:::「'ヽ::::::::::://   ヽ:::::::::::|
    |::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ノl:::ノ l:::::::/      ヽ::::::::|
   ノ:::::::::::::::::::::::::::::::::::::::::::::::::::::/ ゙゙  ノ:::/ ,,;;;;;;,,    ,,,,ヽ:::::l
   ):::::::::::::::::::::::::::::::::::::::::::::::/    ノ/ __,'''i: ('''__):::l  
  )::::::::::::::::::::::::::::::::::::::::::::::::::/         ̄ ̄ン:. :「 ̄`ヾ   
 1:::::::::::::::::::::::「 `┤l:::::::::::::::::l          ̄   ,  ヽ ̄ l   
  `l:::::::::::::::::::::ヽ  :l li:::::::::::::/        ヽ  /´   `l  |
  ヽ::::::::::::::::::::::\_」 lヽ::::/         .l  !:-●,__ ノ  /      
  ノ:::::::::::::::::::::::::::ノ | l `゙゙           i ,,;;;;;;;;;;;;;;;;;;;;,  /ヽ       
,/ ヽ::::::::::::::::::::::(  l l::::::::..         /.:''/´ ̄_ソ  /  `ヽ
     ヽ:::::::::::::::ヽ | l:::::::::::...      /::// ̄ ̄_ソ  /    \   ヴッ!!
        ヽ:::::::\| l::::::::::::::::...    / :::.ゝ` ̄ ̄/ /       ヽ
           ヽ:::l l:::::::::::::::::::..      ̄ ̄;;'' /         ヽ
              l l;;;;;;:::::::::::::::.....;;;;............;;;;;;''ノ            l
              l l '''''''''''''''''''''''''''''''''''''' ̄l |             |

http://www.youtube.com/watch?v=z2qK2lhk9O0
599NAME IS NULL:2014/12/26(金) 22:00:33.47 ID:???
最新バージョンってXAアプリでTAFは正常に機能する?
600NAME IS NULL:2014/12/29(月) 11:33:15.69 ID:???
>>599
なんの最新バージョンの事だ?
DBか?
601NAME IS NULL:2014/12/29(月) 11:45:49.57 ID:???
みんなんとこの RACでは、
管理者管理型とポリシー管理型のどっち使ってる?
602NAME IS NULL:2014/12/29(月) 15:54:18.08 ID:???
>>600
そうそう、DBどす
603NAME IS NULL:2015/01/02(金) 06:56:22.68 ID:???
RACのDBをDBUAでアップグレードしてたのだが、
DBUAが途中でこけて、中途半端な状態になってしまった。
sqlplus から起動しようとすると、ORA-39701 がでた。
CLUSTER_DATABASE を false にして辛うじて起動はできたが、
DBUAが途中でこけたため、今DBがどういう状態なのか見当もつかず、
ジ・エンド。
GUI ツールしか触ったことのない軟弱者には手に負えなかった。
手動で startup exclusive updrade(downgrade) を駆使して
色んなスクリプトを流すことができる昔ながらの猛者ならば
対処できたんだろうな・・・。

後学のために、そんな時どうすればよいか、どなたか教えをプリーズ。
604NAME IS NULL:2015/01/02(金) 10:57:47.07 ID:???
・当たり前だが、作業前バックアップは採る。
・これも当たり前だが、リハーサルを行う。
・DBUAを使わない。-- 慣れた人ほど、ブラックボックス的な手法を嫌う。
605NAME IS NULL:2015/01/03(土) 09:04:39.95 ID:???
>>603
10g?
11gから、cluster_databaseはfalseにする必要は無かった気が。
10gなら、
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19231-02/upgrade.htm#8023
をやり直せばいいはず。
606603:2015/01/03(土) 17:01:46.49 ID:???
>>604
うん、リハーサルだった。

>DBUAを使わない。

げぇ、それはハードル高いなぁ。。。
もしサポートに意見を求めたら、
DBUA を使うべきか、手動で行うべきか、
どっちを推奨してくるだろう?


>>605
12.1.0.1 から 12.1.0.2 でやってた。
sqlplusで startup したら

 ORA-39700: database must be opened with UPGRADE option

になった。
startup exclusive upgrade したら、

 ORA-39701: database must be mounted EXCLUSIVE for UPGRADE or DOWNGRADE

になり、CLUSTER_DATABASE を FALSE にしないと起動できなかった。
upgrade で open できるってことは、
まだDBは 12.1.0.1 の状態だったってことかな?

もう環境潰しちゃったから試せないけど、
そこから仕切りなおすにはどうすればよかったのだろう?
事前に rman で取得したDB全体の一貫性バックアップはあったから、
それをかまして全部元に戻せばよかったのかな?
(exclusive upgradeでopenした状態でそんなこと出来るのかな?)

DBUAに頼りっきりの軟弱者には、
そこから先に進む方法も、後に退く方法も解らなかった...orz
607NAME IS NULL:2015/01/03(土) 18:34:31.30 ID:???
>>606
12cのマニュアルにも、cluster_database は FALSE にしろって書いてあるね。
アーカイブログモードの変更と混同してたかも。

12cもDBUAの再実行でも、手作業でスクリプトでもOKですよ。
http://docs.oracle.com/cd/E57425_01/121/UPGRD/upgrade.htm#BABCGHFJ
もちろん、エラー(失敗)要因を潰すのが先だけど。
サポートは、多分手動を推奨すると思う。
どの作業のどこで失敗したのか、切り分けが単純になるからw

一貫性バックアップは制御ファイルも含めても状態なので、全部リストアするだけ。
ただ、RACだとGIの変更もあるので、OSレベルのバックアップとかも重要になってくる。
608NAME IS NULL:2015/01/05(月) 22:59:33.82 ID:???
12.1.0.2 の RAC なんだが、
ノード追加や削除のタイミングで、
パスワードファイルやSPFILEへのaliasが消えてしまうというバグってあるか?
いつの間にか消えていて焦った。
やったことは、
・ノード追加
・インスタンス追加
・インスタンス削除
・ノード削除
どのタイミングで消えたかは不明。
手動でmkaliasして事なきを得た。
609NAME IS NULL:2015/01/06(火) 02:35:19.74 ID:???
あり得そうなバグだな。
SR開いてみたら?
610NAME IS NULL:2015/01/11(日) 05:31:42.98 ID:???
ところで、日本語のSRってどんなもん?対応早い?
基本英語SRしか使えない環境なんだが、
ずいぶん前からサポートがオフショアからの対応で、
アサインに2日かかって、一日一レスのみとか当たり前。
放置されてたあげく勝手にクローズされたりのカオス状態なんだよな〜。
611NAME IS NULL:2015/01/11(日) 06:55:11.65 ID:???
SR対応してるのって、インド人が多いって聞いたよ。
日本語変だし。
612NAME IS NULL:2015/01/11(日) 11:17:18.98 ID:???
ありゃりゃ、日本語SRでもインド行きなのか。
つうことは似たような状況かね。
日本からだと時差が少ないだけマシなのか、、、
613NAME IS NULL:2015/01/11(日) 12:53:16.30 ID:???
Oracle11g
Red HatEnterprise Linux??6.3??

Oracleインストールして
DB作成後にホスト名変更した場合
DNSサーバと/etc/hostsの設定で
IPの解決さえできてれば、他の設定をしなくても問題ないでしょうか?
614NAME IS NULL:2015/01/11(日) 14:48:36.37 ID:???
>>613
listener.oraやtnsnames.oraで問題なく名前解決できればいいんじゃない?
あとRACだったら色々と面倒。
615NAME IS NULL:2015/01/11(日) 15:47:28.95 ID:???
>>614
あざっす!
RACではないです。

DBもOEMもListenerもエラーなく動いてますが
Google先生に聞くと
各種の設定ファイルを新しいホスト名に変更する方法しかみつけれなくて
不安になってしまったんで・・・。
616NAME IS NULL:2015/01/11(日) 22:23:41.77 ID:???
10gだとEMのリポジトリ再作成とかしないといけなかったけど
改善されたのね
617NAME IS NULL:2015/01/12(月) 16:36:24.34 ID:???
投票ディスクって、asmcmdから確認できないのかな?
実際にどれくらいのサイズなのか知りたいのだが。

$ crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 697ac6af9ba64f51bf15065de0d952a8 (/dev/sdb1) [CRS]
2. ONLINE 09d203f9322a4f6bbff6e0a634f9a6c4 (/dev/sdc1) [CRS]
3. ONLINE 5bec5cdf7b104fa3bff7dfc468a248af (/dev/sdd1) [CRS]
3の投票ディスクを検出しました。
618NAME IS NULL:2015/01/13(火) 23:51:33.40 ID:???
>>617
??その構成なら V$ASM_DISKGROUP で NAME='CRS' の
TOTA_MB 列あたり見ればいいんじゃないの?
619NAME IS NULL:2015/01/15(木) 04:10:14.88 ID:???
>>617
確かに確認する方法が11g R2以降ではないな。
280MBというのが通説みたいだが。
620NAME IS NULL:2015/01/20(火) 02:40:03.93 ID:???
>>617
さらっとマニュアル読んだら、Voting diskの格納パーティション最低必要容量が
11.1で 280MB, 11.2/12.1で 300MBだったのでその辺りでしょう。

ついでに、12.1でVoting diskからVoting fileに名前がかわってたわ。
621617:2015/01/20(火) 05:53:41.43 ID:???
>>618-620
さんくす。

12.1.0.2からGIインストール時に
ora.mgmtdb
ってのも入ってくるみたいだから、結局、ディスク容量はいくら容易すりゃええねん
って迷ってました。
余裕を持ってインストールしてみて、あとから計算するしかないのか。
622NAME IS NULL:2015/01/20(火) 07:34:15.07 ID:???
10046 の level 28って何だ?
level 12 が最高だと思っていたのだが。
623NAME IS NULL:2015/01/20(火) 09:48:23.17 ID:???
SELECT MAX(UPDATE_DATE) FROM TABLE1
UNION ALL
SELECT MAX(UPDATE_DATE) FROM TABLE2;

というSQLを

SELECT 'TABLE1', MAX(UPDATE_DATE) FROM TABLE1
UNION ALL
SELECT 'TABLE2', MAX(UPDATE_DATE) FROM TABLE2;

みたいな感じでその行がどのテーブルの結果か取得したいのですが
何かよい方法はないものでしょうか?
624NAME IS NULL:2015/01/20(火) 10:28:08.40 ID:???
>>622
Doc ID 21154.1
level 16, 32, 64はExecution plan関係。
あとはレベルの組み合わせ。(level 4 + 8 + 16 = 28)
、、、だそうな。
625NAME IS NULL:2015/01/20(火) 11:13:35.68 ID:???
>>621
ノード数とかモニタデータの保存期間次第?
ノード数が2なら4〜5GB推奨かな。
ま、空き容量がなくなればパージするみたいだけど。

ノード数 * 保存日数 * 750MB
626NAME IS NULL:2015/01/21(水) 21:39:30.25 ID:???
>>623
後者でよいのでは?
627NAME IS NULL:2015/01/22(木) 20:30:28.79 ID:???
>>623

SELECT MAX(UPDATE_DATE) + 100000 FROM TABLE1
UNION ALL
SELECT MAX(UPDATE_DATE) FROM TABLE2;

とかやって、絶対ありえへん日付にして
あとから引き算するってのはどお?
628NAME IS NULL:2015/01/26(月) 08:21:32.59 ID:???
SELECT MAX('TABLE1'), MAX(UPDATE_DATE) FROM TABLE1
UNION ALL
SELECT MAX('TABLE2'), MAX(UPDATE_DATE) FROM TABLE2;

でできました。
629NAME IS NULL:2015/01/27(火) 19:56:53.04 ID:???
12c Windows版
ホスト名変えたらEnterprise Managerのページに接続できなくなってしまいました
調べるととemcaコマンドを利用して修復するといろんなサイトが見つかったので
試しにemcaを実行しようとしてもコマンド自体が見つかりません。どこにあるのでしょう?
630NAME IS NULL:2015/01/27(火) 20:11:48.16 ID:???
12c だったら emca はないんじゃね?
631NAME IS NULL:2015/01/27(火) 21:48:05.81 ID:???
netmgr
632NAME IS NULL:2015/01/28(水) 00:08:06.60 ID:???
VIPの力でイスラム国のサイト落とそうずwwwwwwwwwwwwwwっうぇwwwwwwwwwwwwwwwww








http://viper.2ch.net/test/read.cgi/news4vip/1422370066/
633629:2015/01/28(水) 19:18:34.55 ID:???
12cにemcaが存在しない事は間違いないようです
かわりにDBMS_XDB_CONFIGというパッケージを使って設定するようです

なおNet config managerは役に立たない模様
634NAME IS NULL:2015/01/31(土) 00:05:10.31 ID:???
ORACLEってキャッシュどのくらいの時間保持するの?
memory_targetとmemory_max_targetしか設定してないDBサーバがある

重たい処理が終わると、10分もせずにメモリの使用量が元に戻ってた
635NAME IS NULL:2015/01/31(土) 06:11:02.85 ID:???
>>634
>重たい処理が終わると、10分もせずにメモリの使用量が元に戻ってた
その「メモリの使用量」ってのは何をどうやって確認したんだ?
636NAME IS NULL:2015/01/31(土) 11:26:10.26 ID:???
>>634
それ、単にPGAが開放されただけなんじゃ?
637NAME IS NULL:2015/02/01(日) 23:02:47.85 ID:???
>>636
あぁーなるほど、そうかもね
windowsのタスクマネージャを見てみたらば、めっちゃメモリ使用量減ってたんだよね

thank
638NAME IS NULL:2015/02/02(月) 21:53:02.70 ID:???
db 12.1.0.2 をwindows 7にインストールしようとしたらば、インストール出来なかった。
windows 7で開発は厳しい
639NAME IS NULL:2015/02/02(月) 23:23:31.87 ID:???
ごめん、レジストリいじったらインストールできそうwww
640NAME IS NULL:2015/02/04(水) 18:18:32.29 ID:???
ODP.NETってマルチスレッドに対応していますでしょうか?
コネクションはスレッドごとに張っているのですが
たまに落ちてしまいます。
641NAME IS NULL:2015/02/04(水) 22:58:43.89 ID:???
>>640
出来るみたいだけど、Thread safetyは保証してないみたいだな。
http://stackoverflow.com/questions/19850596/odp-net-connection-pool-failing-when-accessed-by-multiple-threads-simultaneously
642NAME IS NULL:2015/02/04(水) 23:43:15.42 ID:???
>>641
ありがとうございます。
そうするとサービスなどで
複数スレッドで処理したい場合
何を使えばいいんでしょうかねぇ
JavaでJDBCとかなら対応してるのかなぁ
643NAME IS NULL:2015/02/05(木) 11:45:32.02 ID:???
Oracleで、機能ごとに、Standard版で使えるのか、
Enterprise版だけなのか、オプション購入が必要かを
知るためのドキュメントはどこにあるのでしょうか?
644NAME IS NULL:2015/02/05(木) 23:35:12.36 ID:???
645NAME IS NULL:2015/02/06(金) 00:44:52.06 ID:???
>>642
http://docs.oracle.com/cd/E49329_01/java.121/b71308/apxtips.htm

Oracle JDBCドライバは、Javaマルチスレッドを使用するアプリケーションを
完全にサポートし、それに対応するように最適化されています。
接続キャッシュによって提供されるアクセスなど、接続に対する制御された
シリアル・アクセスが必要であり、そのようなアクセス方法をお薦めします。
ただし、複数スレッド間でのデータベース接続の共有はお薦めしません。
複数のスレッドが1つの接続に同時にアクセスできないようにしてください。
複数のスレッドで接続を共有する必要がある場合は、規則的な使用開始/
使用終了の方法を使用してください。
646NAME IS NULL:2015/02/06(金) 08:56:11.67 ID:???
>>645
ありがとうございます。
ですよねぇ。じゃないとTomcatとか実装できないだろうし。
まさかODP.NETにこんな罠があるとは・・・
647NAME IS NULL:2015/02/07(土) 17:18:38.43 ID:???
もう皆さん12c導入しました?
SEONE 11.1鯖の保守切れ時期が来たので、無難に11.2.0.4にしようか12.1にしようか迷っています。
648NAME IS NULL:2015/02/07(土) 17:22:56.05 ID:???
12cにしてもいいんじゃない
649NAME IS NULL:2015/02/08(日) 02:24:58.66 ID:???
>>647
この間、ExadataのGridを12.1.0.2にウプグレードした。
今のところ何の問題も無く動いている。
650NAME IS NULL:2015/02/08(日) 10:33:16.22 ID:bHqu3kJv
12.1.0.2のSEはいつでるのか
651NAME IS NULL:2015/02/08(日) 17:41:21.98 ID:???
>>640
11.2.0.1を買ってそれに付属してきたODP.NETを使っているんだけど、ポートを使い果たしてサーバが落ちたことがあるよ
コネクションプールをOFFにすると、close()してもポートが開放されないみたい

12cからはManaged Driverが追加されたから大丈夫だと思うけど
652NAME IS NULL:2015/02/08(日) 22:10:20.04 ID:???
>>651
情報ありがとうございます。
Oracleは11gでコネクションプールはOFFにしてます。
そんな仕様だったとは・・・。
サブスレッド部分をプロセス化するしかないかなぁと
思っているところです。
653NAME IS NULL:2015/02/10(火) 00:13:16.83 ID:???
654NAME IS NULL:2015/02/12(木) 01:19:03.25 ID:???
今回関わる案件で8の頃に軽く触ったきりの自分が12c扱うことになった。
今はまだ計画段階だからゆっくり出来てるけど、設計構築に入るまでにバージョン間の差異を再勉強中。
655NAME IS NULL:2015/02/12(木) 22:59:31.53 ID:???
>>654 オプティマイザの違い(ルール→コスト)とメモリ周りの設定の違い(職人技→ゆとり化)
を理解しておけばあんまり困ることも無いと思うけど。

開発者か管理者か知らんけど、開発者がOracleの新機能に疎かったりすることもあるからな...
656NAME IS NULL:2015/02/13(金) 00:05:08.16 ID:???
設計やプログラマはRDBMSやSQLを分かってない
そう考えて接するべき
657NAME IS NULL:2015/02/13(金) 19:11:21.90 ID:???
コボル上がりのプログラマーが多かった頃は酷いもんだったけど、未だにそうかもね
658NAME IS NULL:2015/02/13(金) 21:16:41.90 ID:???
コネクションプーリング?なにそれ?
とかいう開発者はおととい来て欲しい。
659NAME IS NULL:2015/02/13(金) 22:58:31.67 ID:???
>>657
仕様レビューで
SUM関数とか信用できるのか?
ループを使え!とか説教されてる若手が可哀想だった。
at RDMBMSを出荷してるH
660NAME IS NULL:2015/02/14(土) 03:00:08.95 ID:???
コボラーはプログラム内でジョインしてるパターンが多かったな
661NAME IS NULL:2015/02/21(土) 02:20:33.45 ID:???
RDB,SQLを理解しているSE,PGも居る
662NAME IS NULL:2015/02/21(土) 05:37:15.52 ID:XsUDVy7T
select * from dual;
663NAME IS NULL:2015/02/22(日) 22:20:51.73 ID:???
>>654
データ移行はどうするんだ?
IMP/EXPでデータ移行しようとするなら
新旧でNLS_LANGが一致するか確認しておいた方が良いよ

旧:NLS_LANG=Japanese_Japan.JA16SJIS
新:NLS_LANG=Japanese_Japan.JA16SJISTILDE

であることに気づかずIMPしたら
中途半端に失敗してパッケージ本体だけが消滅したり
表が中途半端に切れたりしてドツボにハマった
664NAME IS NULL:2015/02/23(月) 13:21:22.91 ID:???
オラクルって昔からその辺の互換性維持には不親切だよね
665NAME IS NULL:2015/02/24(火) 00:18:05.66 ID:???
×不親切
○考えてない
666NAME IS NULL:2015/02/24(火) 07:16:58.37 ID:???
互換性とかどうでもいいなら、''をNULLにしちゃうヘボ仕様を何とかしてほしいね。
667NAME IS NULL:2015/02/25(水) 00:28:43.86 ID:???
>>666
Oracleから入ったものとしては他のほうが変な気がするがな
「長さゼロの文字列」ってよく考えるとそれは文字列というのか?って感じだし
未入力チェックに
WHERE ((列 IS NULL) OR (列 = ''))
とか
WHERE ISNULL(列,'') = ''
とか
WHERE COALESCE(列,'') = ''
書いてインデックが効かせられないほうが不便

いきなり空文字を認めると既存資産が打撃を受けるから
初期化パラメータで取り扱いを切り替えられるのがいいかな
668NAME IS NULL:2015/02/25(水) 00:37:38.63 ID:???
昔のOracleしかしらんが
varchar2とか言うわけわからん型は勝手にすれば良いんじゃね
varcharは標準に合わせろよと
669NAME IS NULL:2015/03/01(日) 11:07:00.09 ID:???
>「長さゼロの文字列」ってよく考えるとそれは文字列というのか?って感じだし
Oracle脳だなw
そんなことは、内部仕様で考えることではない。
逆に言えば、Oracleのこの制限は外部設計にまで影響を及ぼし得る糞仕様ってことだ。
670NAME IS NULL:2015/03/04(水) 22:03:56.47 ID:???
Listaggってなんて読むんでしょう

テーブルA
X a
X b
X c
テーブルB
X 1
X 2
ってあるときに

X
X
X


X a 1
X b 2
X c
671NAME IS NULL:2015/03/04(水) 22:06:15.93 ID:???
はいすいません途中でぶん投げました
X a 1
X b 1
X c 1
X a 2
X b 2
X c 2
ではなくて
X a 1
X b 2
X c
と出す方法はないでしょうか
672NAME IS NULL:2015/03/04(水) 23:35:23.25 ID:???
>>671
上から引き当てたいってこと?
DENSE_RANK使ったインラインビュー同士をJOINかな
673NAME IS NULL:2015/03/05(木) 00:52:20.10 ID:???
SQL*Loaderについての質問です。

ctlに定義された要素数を越えた
可変長区切り文字txtを読み込むと、
越えた要素は切り捨てられますか?

実際に動かすと切り捨てられるので、
どちらかというと質問の意図は
この仕様どこに書いてあるのかな、、
です。よろしくお願いします。

--txt--
a,b,c,d
e,f,g,h

--ctl--
(
column1
,column2
)

→1行目cdと2行目ghが切り捨てられる
674NAME IS NULL
>>672
行数で結合すればいいのですね
ただ一列目もXだけじゃないので
1列目でグループして行数つけてから結合する・・・?
先のテーブルAに追加
Y a
Y c
先のテーブルBに追加
Y 1
Y 2
Y 3

X a 1
X b 2
X c
Y a 1
Y c 2
Y  .3