データベース備忘録

※自分調べ

ChatGPT-3にtnsnames.oraとlistener.oraを書いて貰った

流行りのChatGPT-3にデータベースのパラメタまで作成してもらったら楽だろうな~と思ったが、さすがにパラメタ数や設計要素多すぎてそこまではやってもらえないと思い、簡単そうなOracleのtnsnames.oraとlistener.oraを作ってもらった。 【質問】 【回答】 …

ブロックチェンジトラッキングとは

Oracleデータベースにおけるブロックチェンジトラッキング(Block Change Tracking 以下、BCT)とは、RMANにおける高速増分バックアップの際に使用される機能のことである。 そもそもRMANの増分バックアップには「差分増分バックアップ」と「累積増分バック…

OracleDBにおけるサービスとは

OracleにおけるDBサービスとは何なのか、整理してみる。 DBサービスとは平たく言うとデータベース名と同義である。 ただこれはデフォルトの状態であれば正しいが、ユーザでサービスを追加できることを考えると誤り。 【デフォルトのサービスとは】 デフォル…

Oracleの静的サービス登録と動的サービス登録

リスナーがDBのサービスをリッスンするには方法が二つある listner.oraへの記述方法の違いで選り分けてみる 【静的登録】 静的、つまりパラメータに記載することで明示的にリスナーを登録しなければならない <記載例> ・listner.ora SID_LIST_ORCL01= (SID…

oracle:インデックスの断片化確認の罠

oracleにおけるインデックス(索引)の断片化確認方法について インデックスもテーブル同様に断片化していく。 テーブルの場合は行連鎖・行移行で1レコードのブロックが複数跨ることで断片化していくが、インデックスの場合は削除などでBツリーのリーフブロ…

OracleDB起動時にORA-20013が発生

マルチテナントのOracleDB起動後、正常にDBは動作しているようだがアラートログを確認したところ起動シーケンスのところでORA-20013とORA-01403が発生していた。 ORA-20013:DBMS_QOPATCHは、主に、インストールされていない領域で動作しました。 ORA-01403…

Oracle19cのPDBクローン

以前業務で環境構築を行う際、既存PDBからクローンする機会があった。 マルチテナントの環境だと既存のPDBからクローン(コピー)することが可能。 ※もちろん既存のCDB・PDBがあること前提 CREATE PLUGGABLE DATABASE pdb FROM new_pdb; データファイルごと…

行移行、行連鎖…

適当に調べて適当にまとめたのでこの記事を見たという、数少ない人は指摘があればコメントしていただけるとありがたいです。 行移行、行連鎖… DB性能劣化の原因である断片化、その要因の主な2つ(ほんとはブロック内連鎖とかもあるらしいが) 断片化の種類に…

RAC構成でOracle GoldenGateを使う

DB間のリアルタイムデータ同期を実現するGoldenGateをRACで使用する時に、とあるリスクが生じる。 GoldenGateではソースDBとターゲットDB間でトレイルと呼ばれる、データ変更情報が書き込まれた証跡ファイルをやり取りするわけだが、ソース側DBがRAC構成(ac…

完全リカバリと不完全リカバリ

【完全リカバリ】 その名の通り障害発生時点までを完全に戻す。 過去取得したバックアップからバックアップ地点までリストア、そこからバックアップ以降のアーカイブログを適用して障害発生時点までリストアさせる 【不完全リカバリ】 「過去の特定の時間」…

restoreとrecovery

restore と recovery 未だにごっちゃになるが restore は「蓄えから復元すること」 recovery は「埋め合わせること」なので Oracle的には 過去取得したバックアップ(蓄え)から戻すことをリストア、 アーカイブ(またはredo)ログを適用して障害発生日時ま…

virtualbox(Windows上) にcentos7をインストール、からのOracle12cr2をインストールしてDB作成した日(メモ)

参考にしたサイト ①virtualbox(Windows上) にcentos7をインストール https://qiita.com/100/items/80a899fbaeb1e82b3f67 そういえばOracleインストール資材をDLしてもゲストOSに持っていけないと気付き、 ②共有フォルダ設定 https://qiita.com/SUZUKI_Masaya…

Oracleでこれコミットしなくて良いの?って思った日

とあるテーブルにレコードをINSERT INSERT後、確認のためにSELECT INSERTのSQLファイルには「insert~」の一文しか入っていないにも関わらず、SELECTのSQLファイルを実行したらちゃんと更新されている。。。 SELECTのSQLファイルにもcommitは書いてない。。…