ねら~ITエンジニア雑記

やきうのお兄ちゃんが綴るOracle Databaseメインのブログ

2018-01-01から1年間の記事一覧

まとめ:Oracle Database or GoldenGate Advent Calendar 2018 を振り返る!【Day 25】

このエントリは Oracle Database or GoldenGate Advent Calendar 2018 の Day 25 の 記事となります。最後も一日遅れてしまいました。本当にスミマセン……:(;゙゚'ω゚'): Oracle Database or GoldenGate Advent Calendar 2018 https://adventar.org/calendars/3525 執…

Oracle Database 18c マニュアルのマニュアル(※よく使うマニュアルのリンク集)【Oracle Database or GoldenGate Advent Calendar 2018 Day 23】

※(追記)19c版も書いたのでご覧くださいね。彡(^)(^) https://qiita.com/ora_gonsuke777/items/5da877698ac681806175 このエントリは Oracle Database or GoldenGate Advent Calendar 2018 の Day 23 の 記事となります。またまた一日遅れてしまいました。ほ…

Oracle DatabaseでSQLの性能計測3(SQLトレース編)【Oracle Database or GoldenGate Advent Calendar 2018 Day 20】

1. SQLトレースとは? 2. SQLトレースの出力先と出力可能サイズの確認 3. DBMS_SESSIONパッケージでセッション単位でSQLトレースを取得 4. 出力されたSQLトレースの確認と整形(tkprof) 5. 整形(tkprof)済みトレースの見方 5-1. 整形(tkprof)済みトレースの抜…

OCI(Oracle Cloud Infrastructure)のComputeインスタンスで端末(PC等)へのX Window ssh転送が出来るように設定する。

OCI(Oracle Cloud Infrastructure)のComputeインスタンスで端末(PC等)にX Windowがssh転送が出来るように設定してみるやで。 環境は OCI で OEL 7.6(Oracle Enterprise Linux 7.6) の仮想マシンで試してみます。 1. ターミナルソフト(teraterm等)のX転送設定…

SDW(SQL Developer Web) on DBCS をお試ししてみる。【Oracle Database or GoldenGate Advent Calendar 2018 Day 11】【Oracle Cloud その2 Day 11】

1. SQL Developer Web の有効化 2. SQL Developer Web へのアクセス 3. Worksheetタブをお試し。 4. DBAタブのお試し 5. OSタブのお試し 6. まとめ このエントリは Oracle Database or GoldenGate Advent Calendar 2018 の Day 11 の記事となります。 Oracle…

Oracle DatabaseでSQLの性能計測2(DBMS_XPLAN&DBMS_SQLTUNE編)【Oracle Database or GoldenGate Advent Calendar 2018 Day 8】

1. DBMS_XPLANによるSQL実行時間の計測 1-1. DBMS_XPLAN とは? 1-2. ALLSTATS書式の前提条件 1-3. DBMS_XPLAN.DISPLAY_CURSOR(ALLSTATS書式)の実行サンプル 1-4. 出力された統計の統計の見方(DBMS_XPLAN.DISPLAY_CURSORのALLSTATS書式) 2. DBMS_SQLTUNEによ…

OTN の VirtualBoxイメージ で Oracle DB 18c環境 を 楽々構築【Oracle Database or GoldenGate Advent Calendar 2018 Day 5】

1. VirtualBox をインストール 2. Database Virtual Box Appliance / Virtual Machine の ovaイメージをダウンロード 3. ovaイメージのインポート 4. 仮想マシンの起動 5. 仮想マシンへのアクセス(ssh + sqlplus) 6. 仮想マシン上のDBへのアクセス(SQL Devel…

Oracle DatabaseでSQLの性能計測1(SET AUTOTRACE TRACEONLY と SET TIMING ON編)【Oracle Database or GoldenGate Advent Calendar 2018 Day 1】

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プリファレンス)を有効にした状態で統計を採取して、シノプシス(synopsis)が使われる様子をSQLトレースで確認する。

表題の通り、増分統計(INCREMENTALプリファレンス=TRUE)を採取してみて、 内部動作をSQLトレースで確認してみるやで彡(゚)(゚) Oracle Database SQLチューニング・ガイド 18c 13.2.8.2 DBMS_STATSによるパーティション表のグローバル統計の導出方法 https://do…

shell の while read で -r を付与して \(バックスラッシュ)によるクォートを防止する。

珍しくOracle Database以外のネタ、shell の while read に -r を付与して、 \(バックスラッシュ)によるクォートを防止してみるやで。彡(゚)(゚) 1. テスト用 の shell script data.txt の内容を1行ずつ出力する単純なシェルです。 while_read.sh #!/bin/bas…

表のオンライン再定義(DBMS_REDEFINITION)で、データを更新しながら RANGE PARTITION&グローバル索引 -> HASH PARTITION&ローカル索引への定義変更をやってみる。(Oracle Database)

タイトルが長いですが、表のオンライン再定義はDMLによるデータ更新を 制限せずに、表定義(論理構造や物理構造)を変更する機能です。 Oracle Database管理者ガイド 12cリリース1 (12.1) 20.7 表のオンライン再定義 https://docs.oracle.com/cd/E57425_01/121…

9iR2環境から18c環境のPDBにTTS(トランスポータブル表領域)でデータを移行してみる(Oracle Database)

表題の通り、9iR2環境から18c環境のPDBにTTS(トランスポータブル表領域)で データを移行してみるやで彡(゚)(゚) 以下の構成で検証します。 9iR2 ⇒ (トランスポータブル表領域) ⇒ 18c(PDB) 1. プラットフォーム、キャラクタセット、ブロックサイズの確認(9iR2 a…

セミナー「デモとディスカッションで体験するOracle DBトラブル対応・2018/8/22(水)」の開催報告と資料共有

昨日 2018/8/22(水) に、下記セミナーを開催させて頂きました。 ご参加いただいた方々、誠に有難うございました!彡(^)(^) デモとディスカッションで体験するOracle DBトラブル対応 https://study-oracle-technology-workshop.connpass.com/event/95420/ デ…

CLOB型の(文字数ではなく)バイト数を返却するファンクションを自作(Oracle Database)

昔の記事(https://gonsuke777.hatenablog.com/entry/20150129/1422535354)が間違っていたので、訂正を兼ねた記事を作成彡(゚)(゚) CLOB型の(文字数ではなく)バイト数を返却するファンクションを自作してみます。 CONVERTTOBLOBプロシージャでCLOB型をBLOB型…

LOCALTIMESTAMP, CURRENT_TIMESTAMP, SYSTIMESTAMP の各組み込み関数の挙動を検証してみる。(Oracle Database)

ワイの中で今サマータイムがアツい彡(゚)(゚) サマータイムに絡んで、Oracle Database の組み込み関数の LOCALTIMESTAMP, CURRENT_TIMESTAMP, SYSTIMESTAMP の挙動を検証してみる。 1. Case1. OSタイムゾーンが日本(JST)の状態で検証 まずOSのタイムゾーンが日…

サマータイム(夏時間, Daylight Saving)を理解するためにTIMESTAMP WITH TIME ZONE型と戯れてみる。(Oracle Database)

サマータイムが話題ですやね彡(゚)(゚) ワイら日本人には馴染みの薄いサマータイムですが、これを理解するために Oracle Database のTIMESTAMP WITH TIME ZONE型と戯れてみます。 1. TZR書式/TZD書式に使用可能な文字列を確認して、サマータイムを使用するタイ…

はてなブログの横幅を調整する。(デザインCSSのカスタマイズ)

テーマは「bordeaux」を使用。 デザイン ⇒ (スパナのアイコン) ⇒ デザインCSS と辿って、元の設定を残しつつ下記を貼り付ける。 /* 全体の横幅 */ #content { width: 1000px; } /* 記事の横幅 */ #main { width: 800px; } 参考:はてなブログ 横幅などカスタ…

SQLNET.COMPRESSIONによる圧縮がDBMS_FILE_TRANSFERパッケージのファイル転送(コピー)に効くかを確かめる。(Oracle Database)

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) -> DBLINK -> PDB(12cR2)のデータファイルの転送(コピー)を実行する。(Oracle Database)

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(トランスポータブル表領域)をしてみる。

表題の通り、Oracle Database 11gR2(11.2.0.4)から12cR2(12.2.0.1)の PDBにTTS(トランスポータブル表領域)を実行してみるやで彡(゚)(゚)プラットフォームはどちらも Linux x86 64bitで試します。 特別な手順は必要なくマニュアル通りに粛々と実施するだけです…

Hard Parseに時間が掛かるお手軽なSQLを作ってみる。(Oracle Database)

「Hard Parseに時間が掛かる手軽なSQLを作りたい。彡(゚)(゚)」と呟いた (※下記twitterモーメント参照)ところ、色々とアイデアを頂いたので、 全部ではないのですがお試し&まとめてみましたやで彡(゚)(゚) Hard Parseに時間が掛かるSQL ※twitterモーメント http…

VirtualBoxのLinuxにGraalVMを入れてpythonのスクリプトを動かしてみた。

GraalVM、かなりアツいOSSですね。各所で話題になってます。 オラクル、JavaやJavaScript、Ruby、Pythonなど多言語対応を単一ランタイムで実現する「GraalVM」をオープンソースで公開。Twitterが本番環境で採用 http://www.publickey1.jp/blog/18/javajavasc…

ALTER SYSTEM KILL SESSION…"だけ"の権限付与を12c新機能のCode Based Access Control+実行者権限プロシージャで実現してみる。(Oracle Database)

前回のエントリ gonsuke777.hatenablog.com からの続き。 Qiita の @tlokweng さんから 12c新機能のCode Based Access Control なるものの存在を教えて頂きますた彡(゚)(゚)ALTER SYSTEM KILL SESSION…によるユーザーセッションの切断は許可したいけど、 ALTER…

ALTER SYSTEM KILL SESSION…"だけ"の権限付与を定義者権限のプロシージャで実現してみる。(Oracle Database)

ALTER SYSTEM KILL SESSION…によるユーザーセッションの切断は許可したいけど、 ALTER SYSTEM権限の付与(GRANT)は範囲が広過ぎる、権限が強過ぎる。 ALTER SYSTEM KILL SESSIONだけ許可したい……てな要件を、 定義者権限(AUTHID DEFINER)のプロシージャで実現…

Oracle Database の DRCP(データベース常駐接続プーリング)の MINSIZE と MAXSIZE を 1 に設定して、複数セッションから接続してみる。

DRCP は 通常はAPサーバー側で確保するコネクションプール を Oracle Database側で用意しておく機能やね彡(゚)(゚)DRCPでMAXSIZEを超える同時接続要求が来た際の挙動を確認してみるんやで。まずは DRCP の設定を変更して、開始します。 -- DRCPの最大接続数/…

Oracle Database 12cR2(12.2)だとTABLEファンクションのTABLE句が省略できるらしいのでDBMS_XPLANで試してみる。

※本エントリで記述されている事項はドキュメント非記載のため、原則非サポートと考えて下さい。 ※(2018/12/24追記)マニュアルに載ってました。 Oracle DatabaseデータベースPL/SQL言語リファレンス 18c 12.5.1 テーブル・ファンクションの概要 https://docs.…