ねら~ITエンジニア雑記

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

Oracle

JDK6(Java) + JDBC OCI Driver(type 2) で Autonomous Database に接続してみる。

1. Oracle Instant Client 12.1.0.2 をダウンロード&解凍 2. Autonomous Database のウォレットをダウンロード&解凍 3. Autonomous Database のウォレットのsqlnet.oraを編集 4. テスト用のサンプルコード 5. コードのコンパイルと実行 6. 参考ドキュメン…

JDBC URL(Oracle Database, Thin)の作り方

JDBC URL(Oracle Database, Thin)の作り方を書いてみるやで彡(゚)(゚) 1. JDBCマニュアルの記述 2. リスナーの役割 3. データベース・サービスとは? 4. サンプル1:sqlclでJDBC URLを指定しつつ接続確認 5. サンプル2:OCI DB(DBaaS)のCDBにsqlclでJDBC URLを…

名前付きパイプ(mkfifo)でsqlplusのspool結果を圧縮しながらファイル出力する。(Oracle Database)

表題の通り、名前付きパイプ(mkfifo)でsqlplusのspool結果を圧縮しながらファイル出力してみるやで彡(゚)(゚) 1. 名前付きパイプの作成(mkfifo)とgzipコマンドのバックグラウンド実行 2. ファイル出力のSQL 3. sqlplusでSQLを実行(ファイル出力) 4. 圧縮ファイ…

ADW/ATP(Autonomous DB)でObject StorageにアップロードされたCSVファイル(gzip圧縮済)を外部表(EXTERNAL TABLE)として直接参照する。(OCI, Oracle Cloud Infrastructure)

1. サンプルのCSVファイル(gzip圧縮済み) 2. CSVファイル(gzip圧縮済)をObject Storageにアップロード 3. ADW/ATPにCREDENTIALを作成 4. 外部表の作成(DBMS_CLOUD.CREATE_EXTERNAL_TABLEプロシージャ) 5. 作成した外部表の参照 6. まとめ 表題の通り、ADW/AT…

Autonomous DB(ADW/ATP) に Java の JDBC Thin Driver で接続してみる。(OCI, Oracle Cloud Infrastructure)

1. Autonomous DB(ADW/ATP) とは? 2. Autonomous DB(ADW/ATP) に接続する時のポイント(※ウォレットが必須) 3. ウォレット、JDBC Driver Full版 のダウンロードと展開 4. 方法1:ウォレットのパス(TNS_ADMIN) を JDBC URL に記述 5. 方法2:ウォレットのパス(T…

OCI Database(DBaaS) の PDB に Java の JDBC Thin Driver で接続してみる。(Oracle Cloud Infrastructure)

表題の通り、OCI(Oracle Cloud Infrastructure) Database(DBaaS) の PDB に Java の JDBC Thin Driver で接続してみます。下記の構成で試すやで彡(゚)(゚) Compute(Java, JDBC Thin Driver) ⇒ (Private Subnet) ⇒ DBaaS(PDB) 前回の記事の続きになります。 OCI…

OCI Database(DBaaS) の PDB に sqlplus で接続してみる。(Oracle Cloud Infrastructure)

表題の通り、OCI(Oracle Cloud Infrastructure) Database(DBaaS) の PDB に sqlplus で接続してみます。下記の構成で試すやで彡(゚)(゚) Compute(Oracle Client, sqlplus) ⇒ (Private Subnet) ⇒ DBaaS(PDB) 1. PDB, MTA(Multitenant Architecuture) とは? PDB…

ADW(Autonomous Data Warehouse) に OCI の Object Storage にアップロードした dmp を インポート(impdp)してみる。

1. データのエクスポート(expdp) 2. dmpファイルの Object Storage へのアップロード 3. Object Storage にアップロードしたdmpファイルの Pre-authenticated URL生成 4. OCIユーザーの作成とGROUP設定、Auth Token生成 5. DBMS_CLOUDパッケージで ADW に Cr…

まとめ: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…

表のオンライン再定義(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書式に使用可能な文字列を確認して、サマータイムを使用するタイ…

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…

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の最大接続数/…