Database
先週金曜日 の Oracle Tech Night #9(チューニング話) に 参加できず悲しみに暮れている中、先月(4月) の Tech Night #8 の 資料が公開されていることに気付いた。彡(゚)(゚) 2017/4/21(金) データベース・アップグレードのススメ for Oracle Database 12c R…
昨日の続き。表題の通りで 12cで実装された MOVE ONLINEの方 がメリットがあります。UPDATE INDEXES句による索引メンテナンスは表ロック(TMエンキュー)の 影響で並走するDMLが待たされて、かつ実行中に索引がUNUSABLEになる 瞬間が有るとしばちょう先生より…
※5/10追記:MOVE ONLINEの方がメリットがあります。こちらもご覧ください。 表題の通りで、表(パーティション)セグメントのMOVE(MOVE PARTITION)時に UPDATE INDEXES句 を付与すると索引がUNUSABLEにならないんやで彡(゚)(゚)元データはこちら。 ALTER SESSION…
まずはサンプルデータの作成彡(゚)(゚) DROP TABLE TBL_10 PURGE; CREATE TABLE TBL_10 ( COL1 VARCHAR2(10) , VALUE1 NUMBER , VALUE2 NUMBER , VALUE3 NUMBER ); INSERT INTO TBL_10 VALUES('XXXXX', 100, 200, 1000); INSERT INTO TBL_10 VALUES('YYYYY', 2…
ワイ と yoheiaさん(https://twitter.com/yoheia ) が 2017/2/27 に 語った Oracle TechNight #7 の資料が公開されたやで彡(゚)(゚) Oracle Database Technology Night 〜集え!オラクルの力(チカラ)〜 http://www.oracle.com/technetwork/jp/ondemand/dat…
Oracle Database 12c で追加された FETCH FIRST n ROWS構文を使うと、 Top n や 同ソートキー値のレコードを抽出できるんやで彡(゚)(゚)サンプルは以下のデータ SELECT MIN(C1) AS C1_MIN , MAX(C1) AS C1_MAX , COUNT(C1) AS C1_CNT , COUNT(DISTINCT C1) AS …
これでワイもプレミアムや!彡(゚)(゚) ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY/MM/DD'; SELECT TRUNC(NEXT_DAY(SYSDATE+LEVEL, 'friday'), 'MM') AS TUKI , MAX(TRUNC(NEXT_DAY(SYSDATE+LEVEL, 'friday'), 'DD')) AS PREMIUM FROM DUAL CONNECT BY LEVEL …
超マニアックなネタ彡(゚)(゚)Oracle Database のファンクション索引を作成して、作成したファンクション索引を使用する SQLが実行されると、拡張統計(式統計)のエントリが作成されて COL_USAGE$ に格納されます。まずは準備/確認から。この時点では拡張統計…
はてぶコメントで【「野球」に対応するEUC文字コードは「cceeb5e5」なのが判らん。】と頂いたので、書くやで彡(゚)(゚)文字コードのバイトコードは、Oracle Database だと DUMP関数 で確認できます。 AL32UTF8環境で「野球」のバイトコードを調べると↓(e9878ee…
元号「野球」を Oracle Database に設定 時代は野球や!彡(゚)(゚) Oracle Database の NLSカレンダ・ユーティリティで 新しい元号(年号)「野球」を追加してみるやで。マニュアルは下記の通り。 Oracle Databaseグローバリゼーション・サポート・ガイド 12cリ…
表題の通りとしか言いようが無いやな彡(゚)(゚) Oracle Database の NLS_CALENDAR に ”Japanese Imperial"を指定すると、 日付データを元号に変換できるんやで。 $ export NLS_CALENDAR="Japanese Imperial"; $ sqlplus /nolog SQL*Plus: Release 12.1.0.2.0 P…
JPOUG Advent Calendar 2016 の Day 15 の記事となります。 昨日は Yousuke Yadaさん の 以下の記事でした。 R12.2新機能『Offline Encryption Conversion』 ※バックポート実行 http://blog.livedoor.jp/y_db_y/archives/49072687.html ワイはSQLチューニン…
Oracle Database では IN句に1000個以上の値を指定すると、ORA-1795エラーが発生してしまいます。 SQL> SELECT COUNT(*) FROM TBL_X T1 2 WHERE C1 IN ( 3 1 4 , 2 5 , 3 : (中略) : 4001 ,3999 4002 ,4000 4003 ); ,1001 * ERROR at line 1003: ORA-01795: …
文字列配列のTYPE定義⇒TABLEファンクションでイケるやで彡(゚)(゚) CREATE OR REPLACE TYPE tp_v_array IS TABLE OF VARCHAR2(4000); / SELECT * FROM TABLE(tp_v_array('a', 'b', 'c', 'xxx', 'ZZZ')); 結果は以下の通り。 SQL> CREATE OR REPLACE TYPE tp_v_…
タイトルの通り、去る2016年10月27日に開催された Oracle DBA & Developer Day 2016(DDD 2016) の資料が公開されたやで。 彡(^)(^) Oracle DBA & Developer Day 2016 の セッション資料 http://www.oracle.com/technetwork/jp/ondemand/ddd-2016-3373953-ja.…
PIVOT文で取得レコードの縦持ち/横持ちを変換するやで彡(゚)(゚) このSQLで取得できる…… COLUMN TARGET_NAME FORMAT A8; COLUMN TARGET_TYPE FORMAT A15; SELECT TARGET_NAME , TARGET_TYPE , AVAILABILITY_STATUS AS AVAILABILITY_STATUS , ROUND(SUM(END_TI…
iostat の await, svctm の 見かた、考え方を書いたやで彡(゚)(゚) ※10/30スライド修正 Slideshareの元リンクは下記やで彡(゚)(゚) iostat の await svctm の 見かた、考え方 http://www.slideshare.net/shibataayumu/iostat-await-svctm 下記のブログをめっちゃ…
こっちがサブプラン発動時(HASH JOINに変更された時)の実行計画 SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR('aqkqdv23rmnj7', NULL, 'ADAPTIVE ALLSTATS LAST')); PLAN_TABLE_OUTPUT ----------------------------------------------------------------…
表題の通り、Dynamic Sampling を 11 にセットすると、Dynamic Sampling の 結果 が Result Cache に格納されて、異なるSQL(sql_id が 異なる SQL) で Dynamic Dampling の 結果が共有されるんやで。彡(゚)(゚) 従来の動作 SQLの実行計画作成時(Hard Parse時)…
表題の通り、Oracle Database の SELECT文 の SAMPLE句が、 BLOCK句有り/無し で 読込量 が 全く違うんやで。知らんかった。。。彡(゚)(゚) SAMPLE句無し の 場合 SET AUTOTRACE TRACEONLY; SELECT /*+ FULL(A) CACHE(A) */ COUNT(*) FROM TEST_TABLE_A A; :…
表題の通り、DBMS_LOB.LOADCLOBFROMFILEプロシージャ で テキストファイル を CLOB型列 に ロードするやで彡(゚)(゚)まずCLOB型の列を持つテーブルとディレクトリ・オブジェクトを作ります。 CONNECT AYSHIBAT/xxxxxxxx CREATE TABLE TEST_CLOB ( C1 NUMBER , …
Oracle Database の V$TRANSPORTABLE_PLATFORMビュー を参照すると、 プラットフォーム毎(Linux, Solaris, HP-UX, AIX等)のエンディアンの 違いを確認できるんやで彡(゚)(゚) SET LINESIZE 300; SET PAGESIZE 100; COLUMN PLATFORM_NAME FORMAT A50; SELECT * …
表題の通り、共有プール(Shared Pool) の 存続期間による分割(サブヒープ、従属ヒープ)数 は、 11gR2⇔12cR1 及び 手動SGA⇔自動SGA で 異なるんやで。彡(゚)(゚)存続期間による分割(サブヒープ、従属ヒープ)数 って何ぞや?てな方は、 共有プールの構造を解説し…
下記のシバタツさん資料より。シバタツ流!チューニングの極意 「パフォーマンス・チューニングの勘どころ」 http://www.oracle.com/technetwork/jp/ondemand/db-new/b-5-shibatatsu-1484769-ja.pdf
やってみる。まずはデータ作成。 -- データ作成 DROP TABLE TBL_A; CREATE TABLE TBL_A ( C1 NUMBER , C2 DATE , C3 NUMBER , C4 VARCHAR2(100) ) PARTITION BY RANGE (C2) INTERVAL(NUMTODSINTERVAL(1, 'DAY')) SUBPARTITION BY HASH (C1) SUBPARTITIONS 16…
表題の検証をやってみるやで彡(゚)(゚) まずデータ作成します。実行スクリプトは下記の通りです。データ作成スクリプト CONNECT AYSHIBAT/xxxxxxxx DROP TABLE TBL_A; CREATE TABLE TBL_A AS SELECT LEVEL AS C1 , TO_DATE('2016/04/27', 'YYYY/MM/DD')+(LEVEL…
タイトルでおおよそ語ってしまったんですが、NOLOGGING属性 の 表 に ダイレクト・ロード で データ を ローディングしても、 索引有無 や 索引付与の順序 で REDO生成量は異なるんやで彡(゚)(゚)下記のサンプル表&INSERT〜SELECT〜文で、Appendヒントや索引…
先日の JPOUG Tech Talk Night #6 が記事になったやで!彡(゚)(゚) Oracle運用のノウハウが満載!JPOUG Tech Talk Night #6イベントレポート https://geechs-magazine.com/tag/event/20160331 ワイ(柴田AYU) の プレゼンや、中嶋さん、太田さん、三原さん の …
懲りずにズンドコキヨシ。 ワイ将、明智重蔵氏 の 下記エントリに衝撃を受ける。彡(゚)(゚) Oracleの再帰With句でズンドコキヨシ http://qiita.com/AketiJyuuzou/items/c2bc63872125e7277e96 と云う訳(?)で、再帰WITH句の手習いがてら、リファクタリングっぽく…
ズンドコキヨシまとめ http://qiita.com/shunsugai@github/items/971a15461de29563bf90 こないだは30個位だったズンドコキヨシのタグが、100個超えとる……負けてはいられん!今度は Oracle Database 12cR1 新機能 の WITH句 の FUNCTION で ズンドコしてみた…