2017-01-01から1年間の記事一覧
JPOUG Advent Calendar 2017 の Day 15 の記事となります。 昨日は おおのたかしさん の記事でした彡(゚)(゚) Oracle Database 12cR2へのアップグレード後に発生するORA-01017 https://www.ashisuto.co.jp/db_blog/article/201712-ora-01017.html 今年はV$SQL…
ORA-1000エラーはOracle Databaseのセッションでオープンしている カーソル数が最大値を超えた際に発生するエラーです。 ORA-1000 最大オープン・カーソル数を超えました。 早速やってみるやで彡(゚)(゚) まずはテーブルの準備から。 CREATE TABLE TBL_A( C1 N…
sqlnet.ora の SQLNET.AUTHENTICATION_SERVICES を none に セットすると、OS認証を無効化することができるんやで彡(゚)(゚)さっそくやってみます。 設定前(デフォルト) $ id -a uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba) $ c…
DBMS_PERFパッケージのREPORT_PERFHUBファンクションを使うと、 Enterprise Managerのパフォーマンス・ハブ相当の画面をHTML出力できるんやで。 彡(゚)(゚) ※Enterprise Managerを構築することなく、DB単体で出力できます。まず以下のようにしてhtmlファイルを…
表題の通り、やってみるやで彡(゚)(゚) INSERTするバインド変数の大きさの順番/組み合わせで挙動が変わるので、 まずはバイト数が小さい順にINSERTしてみるやで。 バイト数の小さい順にINSERT 実行するSQLは下記 -- 共有プールをFLUSH ALTER SYSTEM FLUSH SHA…
java の CallableStatementインタフェース で Oracle Database の ストアド・プロシージャ を コールして、V$ACTIVE_SESSION_HISTORY の PROGRAM列 や MODULE列 に何がセットされるかを見てみるやで彡(゚)(゚)下記サイトを参考にしながら書いてみたやで。 相変…
下記画像参照やで彡(゚)(゚) us は多数、Network の Avg Wait が ns(ナノ秒)
下記サイトを参考にしながら書いてみたやで。彡(゚)(゚) ワイ java は不慣れなんで、そこは勘弁やで彡(-)(-) SELECT文サンプル http://java-reference.com/java_db_select.htmlインタフェースClob https://docs.oracle.com/javase/jp/8/docs/api/java/sql/Clob…
SQL*Plus の 12cR2の新機能 で、SET FEEDBACK ONLY をセットすると、 結果を表示せずに行数だけを表示できるんやで彡(゚)(゚) SQL*Plus ユーザーズ・ガイドおよびリファレンス リリース2 (12.2) E81324-02 SET FEED[BACK] http://docs.oracle.com/cd/E82638_01…
ちと間が空いたのだけれども、6/1(木) に Oracle APEX Meetup 第2回 に 行ってみたので、レポるやで彡(゚)(゚)今回は「2時間でできるAPEXハンズオン」と銘打って、 簡単なアプリケーションをその場で作るというもの。下記のチュートリアルでBASICなアプリを作…
以下のように TRUNCATE TABLE …文 や ALTER TABLE …文 を実行すると、 ORA-54エラー(リソース・ビジー) が 発生することがあります。 #十中八九トランザクションが走ってるケースやね彡(゚)(゚) SQL> TRUNCATE TABLE TBL_A; TRUNCATE TABLE TBL_A * ERROR at …
これもやってみましたやで彡(゚)(゚) まずはテストデータから。 --テストデータ SELECT C1 FROM TBL_A; C1 ---------- 1 2 Session1(SELECT ... FOR UPDATE文) SELECT 1 FROM TBL_A WHERE C1 = 1 FOR UPDATE; 1 ---------- 1 23:05:42 SQL> Session2(ALTER TAB…
タイトル長いけど、やってみるやで彡(゚)(゚) まずはデータ用意から。 CREATE TABLE TBL_A (C1 NUMBER); INSERT INTO TBL_A VALUES(1); INSERT INTO TBL_A VALUES(2); COMMIT; 以下の順番でSQLを流してみると…… Session1のSQLを実行(SELECT ... FOR UPDATE文) …
先週金曜日 の 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…