Help us understand the problem. What is going on with this user?
@tlokweng
Sr. Oracle DBA。 アメリカ在住。SQL Performance Tuningとクラフトビールが好物。

USA

Comments
sqlnet設定後、alter userでパスワードを再設定すれば行けるはずです。同じパスワードでも可。またはクライアントを11.2.0.4かそれ以上にすればsqlnet設定なしで接続できます。
どうもREVERSEはマルチバイト文字だと正しく動かないみたいですね。まぁUndocumentedなことはあると。ということで再帰で代替しました。 ```sql WITH rotate(s, n) ...
REVERSEでどうでしょう? マニュアル未記載みたいですが。 ```sql WITH rotate(s, n) AS (SELECT '!,@,#,$,%,^,&,*,=,+,', 1 F...
18.3 (Linux)で試してみましたが、PARALLELいけてますね。なんででしょうかね? ```sql > create table test_src as select level id, ...
OracleのIS NULLとIS NOT NULLに関してですが、確かにOracleの単一カラムインデックスにはNULL値は登録されないので、IS NULL条件のみでインデックスが使用される状況は一...
まぁ、やろうと思えばできなくもないですよね。 ```sql: > var col varchar2(10) > exec :col:='num'; > select * from small_tb...
うーん、ファンクションならPL/SQLなので単純にループさせればいいと思いますよ。 ```sql: WITH FUNCTION pline(s VARCHAR2) RETURN VARCHA...
どうもです。フィードバックありがとうございます。自分の記事が役になってると言われるのは嬉しいですね。
なんか呼ばれたような気がしたの出てきました(^^)。 これって「0が出てくるまでの最大値」と「グループ内全体の最大値」の二種類の最大値が必要なので、それらを別々に計算して最後に統合すれば良いと思います...
``IN`` / ``NOT IN`` はマルチカラムでも使えます。 ``WHERE (colA, colB) NOT IN (SELECT c1, c2 from tbl)`` まぁ``NOT I...
MERGEもUPDATEと同じ考え方で出来ますよー。 ```sql: MERGE INTO tgt t USING (SELECT emp_cd FROM tgt MINUS SELECT emp...
カラムの数を可変にするのはダイナミックSQLじゃないと無理ですよねぇ。そしてPIVOTのINはカラムの数に直結するので。 まぁカラム数の最大値が決まっているのなら無理やりなんとかできますけが、、、う...
こんなんでどうですかね。二回のフルスキャンが必要ですが。 ```sql: SET @cnt := (SELECT COUNT(*) FROM user_age); SET @off := CEIL(...
ヒントに関しては、[このサイト](http://www.hellodba.com/reader.php?ID=208&lang=EN)の情報量がすごいです。v$sql_hintにあるヒントはすべて試し...
オプティマイザの機能が悪い方向に作用してパフォーマンスの問題が起きると悪目立ちしますからね。逆にその機能によって恩恵を受けている何十倍ものクエリは全く目立たないわけですし。オプティマイザはもともと完璧...
DBMS_SQL_MONITORを試してみましたが、すくなくとも私の環境ではFORCE_TRACKINGでも300行以上の実行計画は取得できませんでした。マニュアルを読む限り5秒以下の短いクエリも対象...
よくまとまっててすばらしいです。 一つだけ。 リアルタイムモニタリングの前提条件ですが、「実行計画が300行(オペレーション数)以下」ってのもあります。以下の``_sqlmon_max_planli...
> @tlokwengさん、投稿ありがとうございます。 いえいえ私もアドベントに参加してみたかったので、ありがたく使わせてもらいました。しかしオラクルは過疎ってますねぇ~。オラクルに興味のある人が少...
おお、6n ± 1に限定する方法があるんですね。知りませんでした。@youmil_rain さっそく取り入れてみました。あとARRAY_TO_STRINGという便利な関数があったのでそれも使ってみまし...
> なにか良いやり方はないでしょうか、、、 どうでしょう? ```sql: WITH RECURSIVE prime49 (n, pre, pnums, path) AS (SELECT ...
シェルからだと、シェルのクォートとオラクルのクォートの両方が必要なので、二重クォートするか``'"test/test"'``、またはクォートをエスケープする``\"test/test\"``と大丈夫だ...
行番号さえ振れれば、連続する番号はグループ化できます。 オラクルだとrow_number()があるんですがmysqlだと自己結合かユーザ変数なんですかね? ```sql: select concat...
参考までにシングルクエリでやる方法です。 > [ダイナミックSQLを生成し実行結果を得る単一SQL ステートメントの作り方](https://qiita.com/tlokweng/items/ead2...
参考までに、非パーティションテーブルからパーティションテーブルへのコンバートは、12.2からALTER TABLEで可能となりました。それ以前であれば、DBMS_REDEFINITIONを使用するのが...
どうもです。 再帰WITHと再帰でないWITHの混合使用ってことですかね? それに関しては特に問題はないと思います。UNION ALLがあってFROM句で自己の使用があれば再帰それ以外はただのサブク...
フォローどうもです。記事を読んでもらえると励みになります(^^)。 いま夏時間中で日本からは13時間ビハインドですね。夜昼ほぼ真逆です。 さて組み合わせの件ですが、コレクションを使えば直接バラシでと...
組み合わせを出すだけなら、こんなんでできます。 ``` > select * from test_tbl; ID ITEM ---------- ----------------...
おもしろいですね。 パースに時間をかければよいというのであれば、巨大なテーブルにdynamic_sampling(10)するという姑息な手もなきにしもあらずかな。 あと、お手軽という意味では、最後の...
> Oracle Clusterwareの起動と同時にこのSQL文を自動実行する仕組みがなぜかありません。 DataGuard Brokerで管理すれば自動ですよ。
いろいろと遊んでみました。喜んでもらえれば幸いです(^^)。
蛇足かもしれませんが、12cからロール経由でストアードプログラムにピンポイントで権限を付与出来るようになり、INVOKER (CURRENT_USER)権限プロシジャでも同様のことが可能になりました。...
ID毎の一番最近のDISTANCE_TOTALを求めるのにFIRST_VALUE分析関数を使えば、結合が一切不要になりますよ。 > FIRST_VALUE (distance_total) OVER...
セレクトリストのスカラークエリは0行戻りを許容しなければならないからじゃないですか? これと ``` declare i number; begin select 1 into i from ca...
row_number分析関数のpartition byで苗字ごとに番号を振ってから1番だけを取得すれば2度読みや結合が不要になりますよ。
どうもです。 > こちら、差し支えなければ試したSQL等や発生したエラーを共有して頂けないですやろうか彡(゚)(゚) 大したことはしてないですが、とりあえずテーブル表現をよく使う場面をためしてみま...
おもしろい情報どうもです。 いろいろ試してみましたが、コレクションタイプをダイレクトに使う場合でも省略できる様です。ただコレクションタイプの変数やキャストで変換したものに対しては省略できないみたいです...
  • 1 / 1