X



トップページDB@2ch掲示板
1002コメント306KB
Oracle 質問総合スレ13 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001NAME IS NULL
垢版 |
2017/08/12(土) 12:02:03.32ID:???
◆前スレ
Oracle 質問総合スレ12
http://mevius.2ch.net/test/read.cgi/db/1471652805/

◆過去スレ
Oracle 質問総合スレ11
http://echo.2ch.net/test/read.cgi/db/1437510145/
Oracle 質問総合スレ10
http://peace.2ch.net/test/read.cgi/db/1403674585/
Oracle 質問総合スレ9
http://toro.2ch.net/test/read.cgi/db/1359049907/
Oracle 質問総合スレ8
http://toro.2ch.net/test/read.cgi/db/1335097274/
Oracle 質問総合スレ7
http://toro.2ch.net/test/read.cgi/db/1326074212/
Oracle 質問総合スレ6
http://toro.2ch.net/test/read.cgi/db/1314941245/
Oracle 質問総合スレ5
http://hibari.2ch.net/test/read.cgi/db/1279635842/
Oracle 質問総合スレ4
http://pc11.2ch.net/test/read.cgi/db/1250995281/
Oracle 質問総合スレ3
http://pc11.2ch.net/test/read.cgi/db/1223384283
Oracle 質問総合スレ2
http://pc11.2ch.net/test/read.cgi/db/1194742799
Oracle 質問総合スレ
http://pc11.2ch.net/test/read.cgi/db/1163907455

◆公式サイト
OTN-J
ttp://www.oracle.com/technetwork/jp/index.html

◆オンラインマニュアル
ttp://www.oracle.com/technetwork/jp/indexes/documentation/index.html
0002NAME IS NULL
垢版 |
2017/08/12(土) 12:21:32.68ID:???
◆My Oracle Support
ttp://support.oracle.com/
0003NAME IS NULL
垢版 |
2017/08/12(土) 12:38:31.52ID:???
7から使っている僕が一番Oracleを上手く使えるんだ...。
折角見つけたバッドノウハウはブログで書かないとダメなんだ...。
0004NAME IS NULL
垢版 |
2017/08/12(土) 12:59:25.39ID:4ORY6QJr
バージョンごとにいろいろ違うのにOracle 7から使っていると言ってるあとりがもうあれ。
0005NAME IS NULL
垢版 |
2017/08/12(土) 13:01:48.99ID:???
2ちゃんの年齢層的には7から使ってるのは普通
0006NAME IS NULL
垢版 |
2017/08/12(土) 13:19:17.41ID:???
ごめん10gからだわ
0007NAME IS NULL
垢版 |
2017/08/12(土) 13:25:51.62ID:???
若いとか羨ましい
若さだけは金で買えないからな
0008NAME IS NULL
垢版 |
2017/08/12(土) 14:36:34.69ID:4ORY6QJr
Oracle7の知識のなんていまとなっては不要。昔のバージョンの知識を新しいバージョンにもあてはめたり、間違った知識で言われるのも迷惑なんだよな。
0010NAME IS NULL
垢版 |
2017/08/13(日) 00:22:43.86ID:???
DEFERRED_SEGMENT_CREATION=TRUEでエクステントが作られていなくって
exp出来なかったというオチだなw
0011NAME IS NULL
垢版 |
2017/08/13(日) 00:54:19.33ID:???
それと勘違いされそうだったからテーブルにレコードは入ってるって書いたんだよ
あとその設定は元からfalseにしてあるよ
0012NAME IS NULL
垢版 |
2017/08/13(日) 02:10:56.50ID:???
はいはい、ブログが書けて良かったね( ´,_ゝ`)プッ
0013NAME IS NULL
垢版 |
2017/08/13(日) 08:26:06.92ID:???
まさかsysにオブジェクトでも作ってたか?w
0014NAME IS NULL
垢版 |
2017/08/13(日) 08:35:27.08ID:???
いちいち否定するのも面倒だからブログに帰るわ
おまいらの知識はその程度と分かったし
0015NAME IS NULL
垢版 |
2017/08/13(日) 09:04:10.32ID:BFCKA3Fk
>>11
レコードがあるかどうかではないだろ
0016NAME IS NULL
垢版 |
2017/08/13(日) 09:17:35.22ID:???
>>14
もう二度とこんな所来るんじゃねぇぞwww
0017NAME IS NULL
垢版 |
2017/08/13(日) 19:16:21.01ID:???
ブログ晒そうぜ
2chで馬鹿な質問してたってな
0018NAME IS NULL
垢版 |
2017/08/13(日) 22:10:27.98ID:???
ブログ特定したら全然大した事じゃなかったてバレるから今頃((((;゚Д゚))))ガクガクブルブル
0019NAME IS NULL
垢版 |
2017/08/14(月) 21:36:44.12ID:???
GIインストールしたあと、クラスタ名を確認するのって、どーすりゃいいんだ?
0021NAME IS NULL
垢版 |
2017/08/15(火) 06:43:43.04ID:???
$GRID_HOME/bin/cemutlo -n でもイケる。

Usage: ./cemutlo.bin [-n] [-w]
where:
-n prints the cluster name
-w prints the clusterware version in the following format:
<major_version>:<minor_version>:<vendor_info>
0023NAME IS NULL
垢版 |
2017/09/11(月) 17:17:46.31ID:???
適当にマテリアライズドビューログクリエイトしたらEXPでora-1455でしっぱいするんやがなんで?expdpならいく…
0024NAME IS NULL
垢版 |
2017/09/12(火) 19:03:22.58ID:???
ここのところOracle関係でワクワクするニュースが聞こえてこない。
うちの会社じゃOracleは今やリスク要因になってるよ。ライセンス体系に関して
バージョンアップやクラウド対応で顧客に迷惑を掛けるケースが増えてきた。
0025NAME IS NULL
垢版 |
2017/09/13(水) 18:08:51.04ID:???
>>23
11g以降の通常業務でのexpはサポート外。
0026NAME IS NULL
垢版 |
2017/09/13(水) 19:52:13.51ID:???
俺は開発ベンダだけど、通常の案件はOracleで提案はしない
Oracleを使うのは顧客から指定がある場合のみ
従って何か問題があった場合は、基本的に顧客の責任
0027NAME IS NULL
垢版 |
2017/09/19(火) 10:28:19.92ID:???
質問させてください。

ASM上のファイルをPL/SQL(ファンクション)からファイルに対して存在確認やファイル名変更をしたいです。

ASM上のファイルをPL/SQL(ファンクション)からUTL_FILE.FRENAMEでファイル名変更などを行ってみたところエラーで出来ませんでした。知見のある方いわくASM上のファイルをUTL_FILE.FRENAMEなどで変更処理するのは無理なようですよ。と言われました。
本当に無理なのでしょうか?その場合、何か策はないでしょうか?

よろしくお願いします。
0028NAME IS NULL
垢版 |
2017/09/19(火) 11:04:41.23ID:???
セキュリティを理由にOracle入れたがる奴に限って非推奨な構文使ってたり構成自体が古かったりガバガバなのはなんで?
0030NAME IS NULL
垢版 |
2017/09/19(火) 11:16:17.99ID:???
>>28
自分で面倒見るの辛くなって高機能DBMSなら楽できるだろうという思い込みじゃね
0031NAME IS NULL
垢版 |
2017/09/19(火) 11:32:16.93ID:???
>>29
ググッたけど結局できるのかがパッと判断できませんでした(`д´;)クアッ
引き続き調べますが、もうちょっとヒント頂けると助かります。
0032NAME IS NULL
垢版 |
2017/09/19(火) 12:06:42.29ID:???
>>27
そもそもASM上のファイルをリネームするってどんな状況よ?
ACFSでも使っているのか?
素のASMならasmcmdからやる方が遥かに楽。
0033NAME IS NULL
垢版 |
2017/09/19(火) 13:15:46.88ID:???
>>32
情報を足しますと、expdpで作られるダンプをasm上に置くことが決まってます。なぜasm上に置くかは正直わかってなく、環境側からの指定です。クラスタしてますがacfsを使っているのかはわかりません。要件の関係で存在確認やリネームが必要です。

unixサーバなのですが、シェルでやっちゃうしかないですかね〜って話になりつつありますが、出来るだけオラクルの機能でどうにかしたいです。
0034NAME IS NULL
垢版 |
2017/09/19(火) 23:37:34.52ID:???
>>33
そもそもACFSでない素のasm上のファイルはリネーム効かないぞ?
単にaliasが代わるだけだ。
そんな使い勝手の悪いものの上に良くダンプファイル置く気になんかなるな。
0035NAME IS NULL
垢版 |
2017/09/19(火) 23:54:04.39ID:???
>>34
コメントありがとうございます。
まじですか・・・オラクル詳しいであろう環境の人が決めたこともありそれがベターなんだろうと思っていましたが。。素人なりに調べ直してみますm(_ _)m
0036NAME IS NULL
垢版 |
2017/09/19(火) 23:59:12.01ID:???
>>35
素直にACFSもしくはNFSファイル上に置け。
そんなシステム要件、クソだ。
0037NAME IS NULL
垢版 |
2017/09/20(水) 00:35:21.11ID:efa79eqb
>>35
オラクル社の人間はASMを使わせたいからそういう展開になる。
0038NAME IS NULL
垢版 |
2017/09/20(水) 02:14:38.64ID:???
>>36
NFSはセキュリティ要件的に微妙ってことで使用NGになり、ASMならOKって流れがあった記憶があります。ACFS調べてみます!
0039NAME IS NULL
垢版 |
2017/09/20(水) 02:39:50.67ID:???
>>38
ACFSが嫌ならDBFSだな。
PL/SQLとの親和性も高いぞ。
0040NAME IS NULL
垢版 |
2017/09/20(水) 09:24:25.57ID:???
>>39
根本的な疑問なのですが、acfsやdbfsを使わないとasm上のファイルは操作できないものなのでしょうか?
asmはソフトなので、asmの管理配下はインターフェースがあるacfsやdbfsじゃないと操作できないということですか?

逆に言うとasmかdbfsを使うか、asmをやめるかのどちらしかないということなのでしょうか。
0041NAME IS NULL
垢版 |
2017/09/20(水) 11:54:51.19ID:???
>>40
そもそもasmが特殊なrawデバイスみたいなもんだから、ファイルのリネームなどに対応していない。
削除や移動ならまだ何とかなるけどな。

acfsやdbfsはO/Sレベルでマウント出来るから、後は普通にO/Sコマンドが通る。
0042NAME IS NULL
垢版 |
2017/09/20(水) 12:42:36.18ID:???
dbfs使ったことないけど、自身の中に自身のバックアップ置くって推奨されるやり方じゃない気がするね。
0043NAME IS NULL
垢版 |
2017/09/20(水) 13:27:45.56ID:???
リネームは、dumpファイルを2世代持っておきたいためにexpdpして正常終了したらリネームして・・・みたいなことをやっています。教えて頂いた内容を候補にして、相談してみますm(_ _)
m

すみません、平行して別の質問させてください。バッチ処理の性能改善で特定のInsertとSelectをパラレル処理するように変更してみようと思い、まずはsqlplus上で試してみました。

1.alter session
2.select実行
3.SELECT * FROM v$pq_sesstat で1以上になっているか確認
→3.でQueryのところが1になっていたためパラレルで動いたぽい

1.alter session + ヒント句
2.insertやupdate実行
3.SELECT * FROM v$pq_sesstat で1以上になっているか確認
→3.でDMLのところが1以上にならなくて、パラレルで動けていないぽい

PARALLEL_MAX_SERVERSは1以上になっています。1.は調べた限りの数パターン試しました。なぜDMLの方は3.で1以上になってくれないのでしょうか?
0044NAME IS NULL
垢版 |
2017/09/20(水) 13:53:25.84ID:???
ちなみにパラレル化させた方が早くなるのかなと考えてるinsertは、values句を使った単純insert文です。
0045NAME IS NULL
垢版 |
2017/09/20(水) 21:53:30.06ID:???
>>43
どうしても二世代をASM上でキープしたいのなら、別ディレクトリ切ってそっちにファイルを
移動とかだろうね。

パラレルDMLはトランザクションの最初でなおかつ唯一である必要がある。
つまり先にupdateなりしていたら、コミットしていなければ後続は全てシリアルになる。
0046NAME IS NULL
垢版 |
2017/09/20(水) 21:54:28.89ID:???
>>42
そうだろうね。
後はテープなり何なりにダンプを落とすかだね。
0047NAME IS NULL
垢版 |
2017/09/20(水) 22:26:17.93ID:???
>>45
ググって見直してみたら確かにそう書いてありました。何となくなるほどと思っても、Javaの実装にどう当てはめて考えれば良いか難しいです。。

JavaWebアプリ(springframework,mybatis使用)で何千万のinsertを送るのを早くしたいのですが、無理なのでしょうか?それともうまいこと実装できれば可能なのでしょうか。トランザクション管理はspringframeworkの@DBTransactionとConnection.commitでやってます。

>>46
今日相談した結果、セキュリティ要件の問題はあるかもしれないけどやっぱりNFSでやらせてもらえないか確認しようってことになりました。NFSでやることになると、apサーバのシェルからsqlplusでログイン後クライアント経由でファンクションを呼ぶことになります。
0048NAME IS NULL
垢版 |
2017/09/20(水) 23:17:12.33ID:???
バルクインサートは?
0049NAME IS NULL
垢版 |
2017/09/20(水) 23:40:12.13ID:???
>>48
それは既にやってまして、mybatisのbatch insert(リストに貯めてflush呼ぶと一気に投げる)というのを使ってます!

正直それを使ってると、どう投げていてどういう理由で早いのかは理解できてないのですが。。(調べたけど見つからず)
0050NAME IS NULL
垢版 |
2017/09/21(木) 00:28:44.31ID:???
>>47
DBA的には嫌だけど、12cだったらAPPENDヒント使って、常に使用ブロックの上側に
書き込ませる様にすれば、言ってみればダイレクトインサートを使った時と同じ動きと
なるから、パフォーマンスが改善する事もあるみたいだな。
0051NAME IS NULL
垢版 |
2017/09/21(木) 01:03:44.00ID:???
Webアプリで何千万ものインサートって
なかなかアクロバティックなシステムだね
0052NAME IS NULL
垢版 |
2017/09/21(木) 01:19:36.62ID:???
何千万のインサートなら、バッチ処理として、sqlloaderでダイレクトパスインサートするのが一番早い気がする
0053NAME IS NULL
垢版 |
2017/09/21(木) 05:16:58.85ID:???
>>51
しかも出来上がってるものを性能改善しろだなんて、えーって感じです笑

>>52
sqlloaderも検討しました。それをやるやめにはまず完成されたinsert文をcsv出力する必要があると思っているのですが合ってますでしょうか?
DBアクセスはmybatisにお任せしていて、完成されたinsert文をcsv出力できないのではないかと思ってます。(調べてもログに出せるくらいのことしか見つからず)

csv出力できたとして、values句を使ったinsert文なのでcsvに書かれているinsert文にヒント句付ければ良いのでしょうか。。でもヒント句が出てくるとなるとパラレル処理の話が出てくる、、?
0054NAME IS NULL
垢版 |
2017/09/21(木) 07:06:51.65ID:???
いや、insert文じゃなくて普通のcsvファイルが必要。

csvのどの項目がどの列かってのは、sqlloaderの制御ファイルで指定する。ダイレクトパスとかの指定は、sqlloaderにオプションで渡すか、制御ファイルに記載する。
0055NAME IS NULL
垢版 |
2017/09/21(木) 09:44:16.38ID:???
>>54
一度だけ試したことはあったのですが、、全然違いましたね笑
やるとしたらinsertしたいテーブル分、csvファイルと制御ファイルのセットが必要でしょうか。。?

昨日一昨日ご相談した、asm/acfsについては環境の人に聞くとNFSにさせてもらうしかなさそうだねと言われました。
acfsがベターなのですが、今は暗号キーを置く場所として存在してるだけでapが何ギガものファイルを置く想定などないため、大きめの再構築が必要になるし無理!とのことでした。
ちなみにasmにはdb構成ファイルやdbバックアップ用?のダンプファイルなどを置くので領域はたくさんあるとのことでしたが、dba側の大事なファイルが入ってるasmをapが使うのは違うかねぇという話でした。
0056NAME IS NULL
垢版 |
2017/09/21(木) 10:42:46.11ID:???
>>51
ちなみに、、画面のあるwebアプリと同じようにspringframework-javaで作っているので話をわかりやすくするためにwebアプリといいましたが、実際はバッチです。apサーバとは異なるバッチサーバで動作してます。シェルでもありません。

>>45
サーバにsqlplusでログイン
alter session
update文

select from v$pq_sesstat
だけやってもダメなのですが、なにがダメなのかわかりません。余計な更新行に対するselectなどはしてません。
教えて頂けませんかm(_ _)m
0058NAME IS NULL
垢版 |
2017/09/21(木) 15:01:03.35ID:???
パラレルになるかどうかは
まずはEXPLAINで確認したら?
0059NAME IS NULL
垢版 |
2017/09/21(木) 20:12:50.72ID:???
>>57
まだお試しなので1行でやってます!

>>58
実行計画とったところno pdml because no partitionみたいなエラーが出てました!実行計画はこういうのも教えてくれるんですね☆
このテスト環境は無理なんだと判断し、本番環境で試したらpdmlの結果が1になりました\(^^)/ありがとうございます!明日処理を組み込んで次の段階を試してみます!
0060NAME IS NULL
垢版 |
2017/09/22(金) 01:11:44.64ID:???
>>59
>まだお試しなので1行でやってます!

おいーーーー!!!
0061NAME IS NULL
垢版 |
2017/09/22(金) 02:28:22.20ID:???
>>59
一行をどうやってパラレル処理するんだよ?
0062NAME IS NULL
垢版 |
2017/09/22(金) 09:37:57.55ID:???
>>60
え(’o’)
>>61
えーーーーーーー!Σ(;゚д゚ノ)ノ─ッ!!

えーと、、ひとつで意味あるのか!?とは思ってはいたんですけど、今はpdml結果が1以上になるかをまず確認したかったのでひとつでやってました!

昨日ひとつでやってやっと1になったので、今日まず100くらいのデータからやってみようと思ってます!sqlplusからと実際Javaプログラムに組み込むのと両方試す予定です。

ちなみにですが、
1.sqlplusでログイン
2.alter session
3.insertやupdate実行
4.SELECT * FROM v$pq_sesstat でpmdlがいくつになっているか確認

この3.のときは、例えばinsert into - values(...);を100行コンソールに貼り付けてドンドン送る。というやり方で問題ないでしょうか?
それでも良いけど100じゃ少ないよ、insert allやこういうやり方の方が一気に送れて効果をみやすいよ、などあればコメントお願いしますm(_ _)m
0063NAME IS NULL
垢版 |
2017/09/22(金) 12:25:22.45ID:???
なんかそれだとjava的には一行ずつ渡してる感じじゃね?
そもそもinsertのパラレル化処理なんて、別テーブルから一気に読み込んだりするぐらいしないと効果は体感出来ないと思うぞ?
0064NAME IS NULL
垢版 |
2017/09/22(金) 14:34:55.16ID:???
>>63
Java側でmybatisのバルクインサートを使用しており、以下の要領でSQLは投げているようです。(一つ一つ投げているわけではないと思ってます)
insert into person
(id, name, address)
values
(1, 'John', 'Kyoto'),
(2, 'Mike', 'Tokyo');


昨日pdml結果が1になったと言ったのですが、その時はupdateで1でした。今日本来やりたいinsertで試したら1以上になってくれずオール0でした。
実行計画をとると以下の内容ですが、どうすればinsert /*+ APPEND_VALUES */ into values ...がpdmlになってくれるのかわかりません。。
「Degree of Parallelism is 1 because of session」「PDML disabled because
insert values was used」
Degreeって自動パラレル設定のことぽくてあまり関係なさそうだし、もう自分の中で打つ手がない状態です・・・。自動パラレル設定を検討した方が良いということなのでしょうか。
0065NAME IS NULL
垢版 |
2017/09/22(金) 14:48:06.27ID:1itx4Kq+
>>614
insert valuesは一行インサートだからパラレル化できないよっていってるんじゃないの?

insert selectじゃないとパラレル化できないよってことね。
0066NAME IS NULL
垢版 |
2017/09/22(金) 16:15:13.54ID:???
>>65
11gからvalues句のinsertもパラレル対応されて、append_valueヒント句を使えるようなこと書いてあるんですよね(><) 何か条件を満たしていないんでしょか。。
このままだとパラレル化は一旦諦めることになりそうです。

次はinsertをsqlloaderでやる検討になるかな。。
0067NAME IS NULL
垢版 |
2017/09/22(金) 16:46:27.79ID:???
今更かもですがパラレル処理って、既に登録されているデータにアクセスするアクセス方法を効率化させること、が主にやりたいことなのでしょうか??

だから、insert〜selectだったりただのselectだったりupdate〜whereだと、パラレル処理で動くが、insert〜valuesだと検索が必要ないのでパラレルにならない。
ということなのでしょうか?

それがそうだとしたら、なぜ11gからはinsert〜valuesも対応しはじめたのか。。これが出来るとしても検索ありのものとは、違う理屈で早くなったということなのかなと思いはじめました。
0069NAME IS NULL
垢版 |
2017/09/22(金) 17:38:23.58ID:???
メモリに一時テーブル作ってからINSERT SELECTしてみればいいんじゃないの

あとテーブルのパーティショニングはちゃんとやってるのかな?
0070NAME IS NULL
垢版 |
2017/09/22(金) 18:27:27.19ID:???
>>68
◇ケース1:pdml結果が0でダメ(本来やりたいのはこちらのins〜values)
ALT SESSI FORCE PARALLEL DML PARALLEL 3
ins /APPEND_VALUES / into tablename (culuma,culumb) value ('aaa','bbb')
※上記のようなinsを1000行一気に貼り付けて流した ※上記ins文のexpl plan結果は報告済み ※ヒント句なしも試した
SEL STATISTIC,LAST_QUERY,SESSION_TOTAL FRO vpq_sesstat

◇ケース2:pdml結果が1(insertができないからupdateでお試し)
ALT SESSIO FORCE PARALLEL DML PARALLEL 3
upd tablename set culuma 'aaa' where culumb 'bbb'
SEL STATISTIC,LAST_QUERY,SESSION_TOTAL FRO vpq_sesstat
0071NAME IS NULL
垢版 |
2017/09/22(金) 18:30:32.58ID:???
恐らくセキュリティ対策でSQLは書き込めませんでした。色々文字を削ってやっと書き込めましたので、ご了承ください。重要な所がわからなくなったいたら聞いて頂けたらと思います。

>>69
パーティションがどうなってるかなどはわかってないです。。複数パーティションに及ぶような更新にならないとパラレルにならないっていう話でしょうか?
正直そこそこ時間かけたのに出来ていないので、この先に必ずinsert〜valuesをパラレル化出来る保証があるのであれば良いのですが、、もう諦めムードになってきたのが正直なところです。

私が67で書いたことについてコメント頂けると助かりますm(_ _)m
0072NAME IS NULL
垢版 |
2017/09/22(金) 19:24:00.30ID:???
>>70
そのソースじゃなくて、11gで対応されたという情報のソース
0074NAME IS NULL
垢版 |
2017/09/22(金) 19:55:53.33ID:???
>>73
いやそれ、パラレルじゃなくて、ダイレクトパスやん。。
0075NAME IS NULL
垢版 |
2017/09/22(金) 20:45:27.47ID:???
>>74
すみません、おっしゃってることがわかりますん。。
パラレルとダイレクトパスインサートはニアイコールなのかなくらいに思ってるんですけど、どう違うんでしょうか??
ということは、select〜values文のパラレル処理はできないということですか? とにかくわたしは大量のinsert〜values文を早く処理させたいです。
0077NAME IS NULL
垢版 |
2017/09/22(金) 20:58:10.68ID:???
パーティションの話を出したのはチューニングするなら
高い効果が見込めるところから検討すべきって話
もちろんいろんな事情で出来ないとかやっても効果が限定的になりそうって場合もあるけどね

チューニングに必要な情報をまず集めて
最初にいろんな選択肢を出した上でどれから試すか決めないと
パーティションがどうなってるかはわからないけどとりあえずクエリだけ並列化してみるってのは
すぐ試せるだけの力があればいいけど、そうじゃないならアプローチとして微妙

まあ、がんばって
0079NAME IS NULL
垢版 |
2017/09/23(土) 09:42:38.05ID:???
みんな丁寧に相手し過ぎ。
素人過ぎて話にならんレベルだろ。
0080NAME IS NULL
垢版 |
2017/09/23(土) 13:56:48.38ID:???
皆さまお付き合いありがとうございます。昨日は投げやりなコメントをしてしまいました。言われていることがわかってきたかもしれません。わたしの理解を書かせて頂きます_(._.)_
パラレル処理「alter session後のSQL文が並列にデータにアクセスして処理される」、ダイレクトパスインサート「データベースバッファを経由せずデータファイルへ直接データを登録すること」
わたしがやりたいことは「大量のinsert〜values文を2倍程度早く処理させたい」ので、76さんのサイトに書いてあるように「パラレル処理はむり」で、「insert /append_values/の書き方でダイレクトパスインサートはできる」と理解しました。

>>77
パーティション構成次第でパラレルできるできないという話かと思ってましたが、別の話でパーティション構成を変えることで改善されることもあるという話だったんですね。
わたしはJavaAP開発者なのでインフラ側までは口出すことができず、SQL改修などでできる性能改善をやろうとしてます。1table1000万recordをselectしたりするのでパラレルクエリもいつかは実装できたらなとは思ってます。
0081NAME IS NULL
垢版 |
2017/09/23(土) 14:19:02.34ID:???
>>80
だからsqlldrでやれや。

ダイレクトもパラレルも比較的簡単にできるから。
0082NAME IS NULL
垢版 |
2017/09/23(土) 14:38:42.17ID:???
>>81
はい!sqlloaderを検討します。月曜日からsqlloaderを試せるように下調べしてみます。
0083NAME IS NULL
垢版 |
2017/09/23(土) 14:38:48.77ID:???
>>81
わざわざWebアプリでやってるんだからsqlldrは要件に合わんのだろ
やるにしてもExternal Tableだけど、そういうLOAD系が使える話じゃないんじゃね?
0084NAME IS NULL
垢版 |
2017/09/23(土) 14:39:37.15ID:???
マジカ。。
それでいいならINSERTとか最初から選択しなくてもよかったんじゃ。。。
0085NAME IS NULL
垢版 |
2017/09/23(土) 14:51:30.34ID:???
シフトザオラクルなんかソースとして持ち出すとか、よくわからないけど日々ググってコピーして仕事してます臭がくっさいくっさい。
0086NAME IS NULL
垢版 |
2017/09/23(土) 15:28:35.08ID:???
sqlloaderは難しいですかね・・・。もし実現できるとしても結構な改修量になる上に懸念点も出てくる気がしてるので、避けたい選択肢ではあります。
sqlloaderが難しいとなると、insert文に/append_value/を付加したダイレクトパスインサートにできるくらいでしょうか

>>84
すみません、どこの話に対してのコメントですか?
>>85
否定はしません。。皆さんは公式マニュアルなどを見ながらって感じですか?
0087NAME IS NULL
垢版 |
2017/09/23(土) 15:49:01.13ID:???
>>86
つっこむデータをcsv等のファイルに落とせるんだったら、後は簡単だろ。

改修する前に、早くなるかどうかの検証するくらいならすぐできるだろ
0088NAME IS NULL
垢版 |
2017/09/23(土) 16:12:21.67ID:???
まずマニュアル読むというのは基本中の基本だ
0089NAME IS NULL
垢版 |
2017/09/23(土) 16:15:14.60ID:???
>>87
だよな。
こんな簡単なこともできないのか、とただ呆れるばかりだよ。
改修も簡単。
0090NAME IS NULL
垢版 |
2017/09/23(土) 16:24:15.31ID:???
>>88
それな!

読まないでネットで質問したり、誰が書いたのかわからんホームページの落書きをよく仕事で使おうとするわ。

客や上司になんて説明すんだろね。
0091NAME IS NULL
垢版 |
2017/09/23(土) 16:29:23.29ID:???
皆さまありがとうございます。ではsqlloaderを検討してみようと思います。
エラーハンドリングがどうなるのかは気になるところではありますが、まずJavaからsqlloaderを呼び出して正常処理させることを目標に進めてみようと思います。
0092NAME IS NULL
垢版 |
2017/09/23(土) 17:12:28.14ID:???
みんな最初は素人なんだからもう少し優しくしてやれよ

Orableはマニュアルが間違ってること多々あるんだし
試してみないことには分からないこともよくある
0093NAME IS NULL
垢版 |
2017/09/23(土) 17:52:48.09ID:???
間違ってることが多々あるのと、見ないのとではかなり違う
0094NAME IS NULL
垢版 |
2017/09/23(土) 20:04:25.60ID:???
>>92
勘違いにも気づかせてもらい、十分優しく対応して頂けていると思っていて感謝してます_(._.)_

AP開発側にこのような経験ある人はなかなかいなかったり、インフラ側に聞いてもAP実装レベルの話は知らん、という感じだったりで身近に聞ける人がいないのでとても助かってます。

>>93
パット見読みやすい方に逃げている?状態なので、少しずつマニュアルとお友達になっていけるようにします!
0095NAME IS NULL
垢版 |
2017/09/23(土) 20:34:44.95ID:???
Oracle用語で Google 検索したときに、公式マニュアルの結果が上位に来ないことも問題。
この辺はOracleの努力が足りないと言わざるを得ない。
0096NAME IS NULL
垢版 |
2017/09/23(土) 21:17:39.64ID:???
バックアップ・リカバリとかの運用設計はインフラ担当がやるのが普通かもしれんが
テーブルをどういう風にパーティショニングすべきかみたいなDB設計は
アプリケーション開発者がやるのが普通だと思ってるんだがそうでもないのかな?
0097NAME IS NULL
垢版 |
2017/09/23(土) 22:23:16.03ID:???
>>95
そもそもOTNの所から探せってスタンスだしね
0098NAME IS NULL
垢版 |
2017/09/23(土) 22:40:15.69ID:???
今回はうちの関係者がインフラにいてやりとりできますが、AP開発側とインフラは完全に分かれていてどんな人がインフラやっているかわからなかった時もざらにあります。

現状は・・・インフラ側:こっちが考えた環境設計に文句あんの?AP側:AP作るだけで精一杯だし、APはデプロイとDBにデータ突っ込むだけで良いでしょ?が多いかなと思っていますが、皆さまのところはいかがでしょう?笑

でもOracleは自由度が高いからAPももっと理解して使ってよっていう考えが出てくるのかなとも思ってます。Oracle現場は今回はじめてなもので(^^;
0099NAME IS NULL
垢版 |
2017/09/24(日) 01:18:12.24ID:pHXxq7aW
SQLLoaderで主キー違いで並列実行すればいいのに。外部表でファイルのめめまテーブルのように見える機能もある。
0100NAME IS NULL
垢版 |
2017/09/24(日) 01:59:14.11ID:???
アプリのことをAPと略す会社からは
プログラマーのことをPGと略す会社と同じブラック臭がする

(あくまで個人の感想です)
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況