トップ X Facebook はてブ Pocket LINE コピー 2021.05.182024.01.09 新着記事 保護中: 2024.11.14 Java 異なる複数バージョンの一覧を確認する 2024.11.14 保護中: Java TLSvの設定 2024.11.142024.11.19 保護中: 2024.11.112024.11.18 保護中: Spring Data JPA 2024.11.08 人気記事 Oracle 表領域の使用率と空き領域サイズを確認する 2020.06.042022.07.03 V$LOCKED_OBJECTで現在ロックされているテーブルを確認する 2021.12.292024.05.26 Oracle テーブルのサイズ(使用状況)を調べる 2021.12.092024.05.27 Oracle 主要な環境変数の設定と確認 2022.01.102024.05.26 Oracle統計情報について(正式にはオプティマイザ統計) 2021.11.282022.01.05 おすすめ記事 Oracle 各種オブジェクト一覧各種オブジェクト一覧 Oracleには各種オブジェクトがあり、基本的には対象のディクショナリビューを参照すれば一覧の作成はできるのですが、求めたい項目によっては他のディクショナリビューと結合する必要が出てきます。何かと結合頻度の高いDBA_... PowerShellでtail -fを実現するGet-Contentコマンドレットでtail -fを実現する 個人的にはlog4jで出力するログファイルを出力する時などに使っています。linuxでのtail -fと異なり、標準出力されているところにライン「ーーー」などを引いてログが流れ... UTF-8の仕組みおよび特性Unicodeの中でもUTF-8は他の符号化方式(UTF-16、UTF32)と比べ可変長である点においては特殊です。文字によって1byte~4byteに長さが異なります。裏を返すとコードポイントの範囲によって「何バイト使用するのか」が決まり... V$SESSION 現在のセッション情報を確認する「なんかおかしいから見てよ!」とか「ぜんぜんSQLが返ってこない!」とか言われてとりあえず、どんな状況なのかまずはV$SESSIONをとっかかりとして、見たくなります。いろいろ動的パフォーマンス・ビューを結合していますので以下簡単に解説しま... Oracle インデックスの再構築(断片化解消)インデックスの断片化を解消 SQL_ID指定で共有プールからクリア共有プール(ライブラリ・キャッシュ)にキャッシュしているSQLをクリアしたい時があります。統計が再収集されても、共有SQL領域(共有カーソル)に文の解析ツリーやび実行計画が残っている状況においては、新しい統計情報を採用したプランが作成されま... DBA_TAB_MODIFICATIONS テーブルの更新状況を調べるDBA_TAB_MODIFICATIONSで前回統計情報取得からの更新状況が分かります DBA_TAB_MODIFICATIONS/USER_TAB_MODIFICATIONSは前回統計情報取得後からテーブルへの変更がどのように行われたのか... Oracle 使われていないINDEXを調べるインデックスが利用されているのか調べるには、事前に監視対象として登録しておかないと分からなかったですが、12.2からDBA_INDEX_USAGEを見れば簡単に調べる事ができるようになっています。 Oracle パイプライン・テーブル・ファンクション サンプルテーブルファンクションはとても便利です。パッケージでの作成が少し面倒ですが、結果セットをテーブルのように利用できる点については気に入っています。VIEWでは実現できない複雑なビジネスロジックを組み込むことが可能です。以下サンプルはあまり実用性はありませんが、参考になればどうぞ。 Oracle アラートログとトレースファイルをSQLで確認するアラートログをSQLにて確認する 本来アラートログは2種類のファイルに出力されますが、V$DIAG_ALERT_EXTを参照すれば両方まとめて確認できますし、キーワード検索などもでき大変便利です。ただ一点不満なのはGV$ DIAG_ALER... Oracle パフォーマンスチューニング用小道具更新サイズ把握 UNDOセグメント(対象セッションが現在使っているUNDO領域サイズ)確認 select s.INST_ID,s.SID,s.SERIAL#,s.USERNAME,used_ublk,t.USED_UREC,t.STATUS... Windowsからサーバのポート開放を確認するwindowsからパワーシェルを使ってサーバ側のポート開放を調べる。 PostgreSQL 各種オブジェクト一覧各種オブジェクト一覧 information_schemaスキーマ(情報スキーマと呼称されています)と、pg_catalogスキーマ(システムカタログスキーマとも呼称)が保持しているシステムテーブルやビューを参照する事で各種オブジェクト一覧... Oracle 実行計画の取得(実際に実行した結果の取得)EXPLAIN PLANで実行計画(予定)を取得するのでははく、これは実際に動作したあと、「どのようなアクセスパスであったか」を出力します。その昔は、V$SQL_PLANを参照していましたが、こちらのほうが使い勝手よくなりました。 DockerにPostgreSQL環境を構築するはじめに 今回は、Windows環境のDocker DesktopにPostgreSQL環境を作成します。以下記載するコマンドは何れもPowershellにて実行しています。 今回環境構築用のフォルダを作成 docker >> pwd Pa... Oracle カラム一覧(テーブルのカラム情報)DBA_TAB_COLS DBA_TAB_COLSはDBA_TAB_COLUMNSと異なり、非表示列(HIDDEN_COLUMN=YES)も保持しています。普段から何かとテーブルのカラム情報を確認する事がありまして、毎回必要な項目を探して打... V$ACTIVE_SESSION_HISTORY 待機イベントの発生を確認するSQLを実行した時、実行プランは同じなのに実行タイミングによって実行時間が大きく変わるような場合があります。こんな時は想定外の待機イベントが発生している可能性が高いです。 AWRレポートを確認すれば良いのでしょうが、DBA_HIST_ACT... Oracle 接続先確認SYS_CONTEXT()ファンクションを使うと各種接続先の情報、接続元の情報を確認できます。複数接続先にて作業する可能性がある際は念のために接続先を確認してから作業にとりかかりましょう。作業を始める前にエビデンスとしてこちらの結果出力を保... 緯度、経度による距離計算ファンクション(PL/SQLで2点の距離計算できます)緯度、経度で直線距離を計算する。 V$BHからバッファー・キャッシュの状況を確認するV$BHとDBA_OBJECTSを結合すれば現在どんなオブジェクトがバッファ・キャッシュに乗っているのか確認する事が可能です。以下はサイズ(ブロック数)の大きいものから一覧表示しています。※以下SQLでは「キャッシュ」しているものです。バッ... SET_MODULE でセッションに目印を付けるDBMS_APPLICATION_INFO.SET_MODULE Oracle オプティマイザ統計情報の取得、削除、取得状況確認オプティマイザ統計にはいくつかの種類があり、かつそれぞれ適切なタイミングで取得する必要があります。基本的にはOracle任せでよいのですが、状況によっては管理者手動でプロシージャを適宜実行し統計情報の取得や削除を行う必要があります。以下に各種プロシージャをまとめました。 Oracle SQLチューニング・アドバイザを利用するこれまでSQL Developerからの利用は経験あったのですが、今回はSQL*Plusからの利用を試してみます。共有メモリにアドバイスを受けたいSQLが残っている場合(対象のSQL_IDがわかっている)は、SQL*Plusからの実行がお手軽そうだったためです。シンプルなSQLであれば自力でなんとかなるのですが、結合テーブルも多く複雑なSQLに対してのチューニングが数多く出てくる時は、「いちいち見ていられない」と思い今回チューニング・アドバイザの本格活用に踏み切りました。 Oracle メモリ管理 コンポーネント図コンポーネント図 自動メモリ管理が推奨されていますが、HugePagesを利用する場合自動メモリ管理は使えないので注意が必要です。 自動メモリー管理(AMM)とHugePagesは、互換性がありません。AMMを使用すると、SGAメモリー全体...