Database
1. VirtualBox をインストール 2. Database Virtual Box Appliance / Virtual Machine の ovaイメージをダウンロード 3. ovaイメージのインポート 4. 仮想マシンの起動 5. 仮想マシンへのアクセス(ssh + sqlplus) 6. 仮想マシン上のDBへのアクセス(SQL Devel…
1. AUTOTRACE とは? 2. SET TIMING とは? 3. 実行サンプル 4. 出力された統計の見方 5. AUTOTRACE TRACEONLY の注意点 6. まとめ このエントリは Oracle Database or GoldenGate Advent Calendar 2018 の Day 1 の記事となります。 Oracle Database or Gol…
表題の通り、増分統計(INCREMENTALプリファレンス=TRUE)を採取してみて、 内部動作をSQLトレースで確認してみるやで彡(゚)(゚) Oracle Database SQLチューニング・ガイド 18c 13.2.8.2 DBMS_STATSによるパーティション表のグローバル統計の導出方法 https://do…
タイトルが長いですが、表のオンライン再定義はDMLによるデータ更新を 制限せずに、表定義(論理構造や物理構造)を変更する機能です。 Oracle Database管理者ガイド 12cリリース1 (12.1) 20.7 表のオンライン再定義 https://docs.oracle.com/cd/E57425_01/121…
表題の通り、9iR2環境から18c環境のPDBにTTS(トランスポータブル表領域)で データを移行してみるやで彡(゚)(゚) 以下の構成で検証します。 9iR2 ⇒ (トランスポータブル表領域) ⇒ 18c(PDB) 1. プラットフォーム、キャラクタセット、ブロックサイズの確認(9iR2 a…
昨日 2018/8/22(水) に、下記セミナーを開催させて頂きました。 ご参加いただいた方々、誠に有難うございました!彡(^)(^) デモとディスカッションで体験するOracle DBトラブル対応 https://study-oracle-technology-workshop.connpass.com/event/95420/ デ…
昔の記事(https://gonsuke777.hatenablog.com/entry/20150129/1422535354)が間違っていたので、訂正を兼ねた記事を作成彡(゚)(゚) CLOB型の(文字数ではなく)バイト数を返却するファンクションを自作してみます。 CONVERTTOBLOBプロシージャでCLOB型をBLOB型…
ワイの中で今サマータイムがアツい彡(゚)(゚) サマータイムに絡んで、Oracle Database の組み込み関数の LOCALTIMESTAMP, CURRENT_TIMESTAMP, SYSTIMESTAMP の挙動を検証してみる。 1. Case1. OSタイムゾーンが日本(JST)の状態で検証 まずOSのタイムゾーンが日…
サマータイムが話題ですやね彡(゚)(゚) ワイら日本人には馴染みの薄いサマータイムですが、これを理解するために Oracle Database のTIMESTAMP WITH TIME ZONE型と戯れてみます。 1. TZR書式/TZD書式に使用可能な文字列を確認して、サマータイムを使用するタイ…
SQLNET.COMPRESSIONは12cR1の新機能で、 Oracle Net Servicesによる通信を圧縮する効果が期待されるパラメータです。 Oracle Database Net Servicesリファレンス 12cリリース1 (12.1) B71289-04 SQLNET.COMPRESSION https://docs.oracle.com/cd/E57425_01/12…
DBMS_FILE_TRANSFERパッケージで中間ファイルを介さずに、 DB(11gR2) to PDB(12cR2) の直接のファイル転送(コピー)を 実行してみますやで彡(゚)(゚) Oracle Database PL/SQL Packages and Types Reference 12c Release 2 (12.2) 67 DBMS_FILE_TRANSFER https:/…
表題の通り、Oracle Database 11gR2(11.2.0.4)から12cR2(12.2.0.1)の PDBにTTS(トランスポータブル表領域)を実行してみるやで彡(゚)(゚)プラットフォームはどちらも Linux x86 64bitで試します。 特別な手順は必要なくマニュアル通りに粛々と実施するだけです…
「Hard Parseに時間が掛かる手軽なSQLを作りたい。彡(゚)(゚)」と呟いた (※下記twitterモーメント参照)ところ、色々とアイデアを頂いたので、 全部ではないのですがお試し&まとめてみましたやで彡(゚)(゚) Hard Parseに時間が掛かるSQL ※twitterモーメント http…
前回のエントリ gonsuke777.hatenablog.com からの続き。 Qiita の @tlokweng さんから 12c新機能のCode Based Access Control なるものの存在を教えて頂きますた彡(゚)(゚)ALTER SYSTEM KILL SESSION…によるユーザーセッションの切断は許可したいけど、 ALTER…
ALTER SYSTEM KILL SESSION…によるユーザーセッションの切断は許可したいけど、 ALTER SYSTEM権限の付与(GRANT)は範囲が広過ぎる、権限が強過ぎる。 ALTER SYSTEM KILL SESSIONだけ許可したい……てな要件を、 定義者権限(AUTHID DEFINER)のプロシージャで実現…
DRCP は 通常はAPサーバー側で確保するコネクションプール を Oracle Database側で用意しておく機能やね彡(゚)(゚)DRCPでMAXSIZEを超える同時接続要求が来た際の挙動を確認してみるんやで。まずは DRCP の設定を変更して、開始します。 -- DRCPの最大接続数/…
※本エントリで記述されている事項はドキュメント非記載のため、原則非サポートと考えて下さい。 ※(2018/12/24追記)マニュアルに載ってました。 Oracle DatabaseデータベースPL/SQL言語リファレンス 18c 12.5.1 テーブル・ファンクションの概要 https://docs.…
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文) …