Oracle

【Oracle】LOB(CLOB/BLOB/BFILE)完全ガイド|DBMS_LOB で読み書き・EMPTY_CLOB・一時 LOB・SecureFiles まで解説

Oracle の LOB(Large Object)データ型を完全解説。CLOB(テキスト大容量)・BLOB(バイナリ大容量)・BFILE(外部ファイル参照)の違いと使い方・EMPTY_CLOB() / EMPTY_BLOB() で初期化してから DBMS_LOB.WRITE で書き込む方法・DBMS_LOB.SUBSTR / DBMS_LOB.INSTR / DBMS_LOB.GETLENGTH でデータを読む方法・DBMS_LOB.APPEND で LOB データを追記する方法・一時 LOB(Temporary LOB)の作成と解放・SecureFiles(高機能 LOB)の設定と BasicFiles との違いまで解説します。
Oracle

【Oracle】CREATE TABLE 完全ガイド|テーブル作成・CTAS・列制約・ストレージオプションまで解説

Oracle の CREATE TABLE を完全解説。基本的な CREATE TABLE 構文・データ型の選び方(NUMBER/VARCHAR2/DATE/TIMESTAMP)・CREATE TABLE AS SELECT(CTAS)でクエリ結果からテーブルを作成する方法・インライン制約(PRIMARY KEY / NOT NULL / UNIQUE / CHECK / DEFAULT)の書き方・テーブルレベル制約(複合主キー・複合 UNIQUE)の定義方法・STORAGE 句・PCTFREE・PCTUSED・INITRANS などのストレージオプション・TABLESPACE 指定でテーブルを別表領域に配置する方法まで解説します。
Oracle

【Oracle】Data Guard 完全ガイド|スタンバイDB構成・保護モード・SWITCHOVER・FAILOVER の手順まで解説

Oracle Data Guard を完全解説。Data Guard とは何か(プライマリ DB とスタンバイ DB の関係)・物理スタンバイ(Physical Standby)と論理スタンバイ(Logical Standby)の違い・保護モード(Maximum Protection / Maximum Availability / Maximum Performance)の選び方・REDO ログの転送とアーカイブログの適用の仕組み・Data Guard Broker(DGMGRL)を使った管理方法・計画切り替え(SWITCHOVER)と緊急切り替え(FAILOVER)の手順・Active Data Guard でスタンバイ DB を読み取り専用で開放する方法まで解説します。
Oracle

【Oracle】統合監査(Unified Audit)完全ガイド|CREATE AUDIT POLICY・UNIFIED_AUDIT_TRAIL・FGA(細粒度監査)まで解説

Oracle の統合監査(Unified Audit)を完全解説。従来の監査(Traditional Audit)と統合監査の違い・CREATE AUDIT POLICY で監査ポリシーを作成する方法・AUDIT POLICY でポリシーを有効化する方法・UNIFIED_AUDIT_TRAIL で監査ログを確認する方法・DBMS_FGA で Fine-Grained Audit(細粒度監査)を設定してSELECTの条件付き監査をする方法・監査ログの肥大化を防ぐパージ(DBMS_AUDIT_MGMT)の設定まで解説します。
Oracle

【Oracle】ORA-00257 完全ガイド|アーカイブログ満杯・FRA 不足の原因・空き確保・RMAN 削除手順まで解説

Oracle の ORA-00257(archiver error. Connect internal only, until freed.)エラーを完全解説。ORA-00257 が発生する原因(アーカイブログ先のディスク満杯・FRA 超過)・アラートログと V$ARCHIVE_DEST での状態確認方法・RMAN で古いアーカイブログを削除して空き確保する方法・FRA(高速リカバリ領域)のサイズ変更と使用状況の確認方法・アーカイブログの自動削除ポリシーを設定して再発を防ぐ方法まで解説します。
Oracle

【Oracle】RMAN 完全ガイド|バックアップ・リストア・リカバリの基本コマンドから増分バックアップ・アーカイブログの管理まで解説

Oracle の RMAN(Recovery Manager)を完全解説。RMAN の接続方法・BACKUP DATABASE コマンドでのフルバックアップ・INCREMENTAL LEVEL 0/1 による増分バックアップの仕組み・アーカイブログのバックアップと DELETE INPUT・RESTORE DATABASE + RECOVER DATABASE によるリカバリ手順・VALIDATE で破損チェックをする方法・RETENTION POLICY でバックアップ保存期間を管理する方法・CROSSCHECK / DELETE EXPIRED / DELETE OBSOLETE でバックアップカタログを整理する方法まで解説します。
Oracle

【Oracle】EXPLAIN PLAN 完全ガイド|DBMS_XPLAN.DISPLAY・実行計画の読み方・チューニングへの活用まで解説

Oracle の EXPLAIN PLAN を完全解説。EXPLAIN PLAN FOR で実行計画を取得する方法・DBMS_XPLAN.DISPLAY で見やすく表示する方法・DBMS_XPLAN.DISPLAY_CURSOR で実際に実行された計画を確認する方法・TABLE ACCESS FULL / INDEX RANGE SCAN / NESTED LOOPS / HASH JOIN などの操作の読み方・コスト(Cost)・カーディナリティ(Rows)・バイト数の見方・V$SQL_PLAN でキャッシュ内の実行計画を確認する方法・GATHER_PLAN_STATISTICS と DBMS_XPLAN の ALLSTATS LAST で実測値と推定値を比較する方法まで解説します。
Oracle

【Oracle】疑似列完全ガイド|ROWNUM・ROWID・LEVEL・CONNECT_BY_ROOT・DUAL の使い方まで解説

Oracle の疑似列(Pseudocolumn)を完全解説。ROWNUM で上位N件を取得する方法と WHERE ROWNUM の落とし穴・ROWID でテーブルの物理アドレスを参照する方法・重複行の削除に ROWID を使う方法・LEVEL・CONNECT_BY_ROOT・CONNECT_BY_ISLEAF・SYS_CONNECT_BY_PATH で階層クエリを制御する方法・ORA_ROWSCN でコミット SCN を確認する方法・DUAL テーブルの用途(関数の実行・定数の取得・NEXTVAL の呼び出し)まで解説します。
Oracle

【Oracle】ORA-01403 完全ガイド|NO DATA FOUND の発生パターン・PL/SQL 例外処理・COUNT を使わない安全な SELECT INTO まで解説

Oracle の ORA-01403(no data found)エラーを完全解説。PL/SQL の SELECT INTO で0件の場合に発生する NO_DATA_FOUND 例外の仕組み・TOO_MANY_ROWS 例外(SELECT INTO で2件以上返された場合)との違い・EXCEPTION ブロックで NO_DATA_FOUND を捕捉して安全に処理する方法・デフォルト値を返す CASE WHEN / NVL との使い分け・CURSOR を使って0件を安全に処理する方法・UTL_FILE / DBMS_OUTPUT の NO_DATA_FOUND との違い・BULK COLLECT で NO_DATA_FOUND が発生しない理由まで解説します。
Oracle

【Oracle】ALTER TABLE 完全ガイド|列の追加・変更・削除・制約操作・列名変更・DBMS_REDEFINITION まで解説

Oracle の ALTER TABLE を完全解説。列の追加(ADD)・変更(MODIFY)・削除(DROP COLUMN)・未使用化(SET UNUSED)の使い方・列名の変更(RENAME COLUMN)・テーブル名の変更(RENAME)・NOT NULL / DEFAULT 値の追加と変更・PRIMARY KEY / UNIQUE / FOREIGN KEY の追加と削除・制約の有効化・無効化(ENABLE / DISABLE CONSTRAINT)・大量データがある本番テーブルのオンライン再定義(DBMS_REDEFINITION)の使い方まで解説します。
Oracle

【Oracle】AWR レポート完全ガイド|生成手順・読み方・ボトルネック特定・スナップショット管理まで解説

Oracle AWR(Automatic Workload Repository)レポートを完全解説。DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT でスナップショットを手動作成する方法・@?/rdbms/admin/awrrpt.sql で AWR レポートを生成する方法・AWR レポートの読み方(Load Profile・Top 5 Timed Events・SQL Statistics)・遅い SQL の特定と実行計画の確認方法・DBA_HIST_SNAPSHOT でスナップショット管理・保持期間の変更方法・RAC 環境での AWR レポート(awrrpti.sql・awrgrpt.sql)・AWR と ASH の使い分けまで解説します。
Oracle

【Oracle】ORA-00600 完全ガイド|内部エラーの原因・アラートログ確認・トレースファイル解析・SR 申請まで解説

Oracle の ORA-00600(internal error code, arguments: [...])エラーを完全解説。ORA-00600 とは何か(Oracle のバグ・データ破損・メモリ問題)・アラートログ(alert_インスタンス名.log)で ORA-00600 を確認する方法・トレースファイルで詳細情報(最初の引数・call stack)を取得する方法・V$DIAG_INFO でトレースファイルの場所を確認する方法・Oracle Support(MOS)でエラーコードを調査してパッチを特定する方法・SR(サービスリクエスト)申請に必要な情報の収集方法まで解説します。
Oracle

【Oracle】プロファイル(PROFILE)完全ガイド|パスワードポリシー・リソース制限・CREATE PROFILE・ALTER USER PROFILE まで解説

Oracle のプロファイル(PROFILE)を完全解説。CREATE PROFILE でパスワードポリシー(有効期限・複雑性・再利用制限)を設定する方法・FAILED_LOGIN_ATTEMPTS でアカウントロックの閾値を設定する方法・PASSWORD_LOCK_TIME・PASSWORD_GRACE_TIME・PASSWORD_LIFETIME の意味と設定方法・セッション数・CPU 時間・アイドルタイムなどのリソース制限を設定する方法・ALTER USER ユーザー名 PROFILE でプロファイルを割り当てる方法・DBA_PROFILES・DBA_USERS でプロファイル設定を確認する方法まで解説します。
Oracle

【Oracle】BULK COLLECT / FORALL 完全ガイド|コンテキストスイッチ削減・大量データ高速処理・SAVE EXCEPTIONS まで解説

Oracle の BULK COLLECT と FORALL を完全解説。PL/SQL と SQL エンジン間のコンテキストスイッチがパフォーマンスに与える影響・BULK COLLECT INTO で SELECT 結果をコレクションに一括取得する方法・LIMIT 句で取得行数を制限してメモリを節約する方法・FORALL で大量の DML を一括実行してパフォーマンスを大幅改善する方法・SAVE EXCEPTIONS で一部エラーがあっても処理を継続する方法・SQL%BULK_ROWCOUNT で FORALL の各行の影響行数を確認する方法まで解説します。
Oracle

【Oracle】データベースリンク(DATABASE LINK)完全ガイド|CREATE DATABASE LINK・リモート DB 参照・分散クエリ・管理方法まで解説

Oracle のデータベースリンク(DATABASE LINK)を完全解説。CREATE DATABASE LINK でリモート DB への接続を定義する方法・@リンク名 でリモートテーブル・ビュー・プロシージャを参照する方法・パブリックリンクとプライベートリンクの違い・FIXED USER(固定ユーザー)と CONNECTED USER(現在のユーザー)の認証方式の違い・分散クエリ・分散トランザクション(2フェーズコミット)の注意点・ALL_DB_LINKS / USER_DB_LINKS でデータベースリンクを確認する方法・ORA-02085・ORA-01017 などの接続エラーと対処法まで解説します。
Oracle

【Oracle】ネットワーク設定完全ガイド|tnsnames.ora・listener.ora・sqlnet.ora・lsnrctl・Easy Connect の設定と確認方法まで解説

Oracle のネットワーク設定(Oracle Net)を完全解説。tnsnames.ora でサービス名を設定する方法・listener.ora でリスナーを設定する方法・sqlnet.ora でタイムアウトとセキュリティを設定する方法・lsnrctl start / status / stop でリスナーを管理する方法・Easy Connect(//ホスト:ポート/サービス名)で tnsnames.ora なしで接続する方法・TNS-12541・TNS-12170・ORA-12560 などのよくある接続エラーと対処法まで解説します。
Oracle

【Oracle】トリガー(TRIGGER)完全ガイド|DML トリガー・DDL トリガー・INSTEAD OF トリガー・有効化・無効化まで解説

Oracle のトリガー(Trigger)を完全解説。BEFORE / AFTER トリガーと行レベル / 文レベルトリガーの違い・:NEW と :OLD 疑似レコードを使った変更前後の値の取得・REFERENCING で疑似レコードの別名を定義する方法・WHEN 句で特定条件のみトリガーを発火させる方法・INSERT / UPDATE / DELETE の複数イベントを1つのトリガーで処理する方法・ビューに対する INSTEAD OF トリガーの使い方・DDL トリガー(CREATE / DROP / ALTER の監査)・ALTER TRIGGER DISABLE / ENABLE でトリガーを有効化・無効化する方法まで解説します。
Oracle

【Oracle】シーケンス(SEQUENCE)完全ガイド|CREATE SEQUENCE・NEXTVAL・CURRVAL・CACHE・CYCLE・Oracle 12c 以降の IDENTITY 列まで解説

Oracle のシーケンス(SEQUENCE)を完全解説。CREATE SEQUENCE でシーケンスを作成する方法(INCREMENT BY・START WITH・MAXVALUE・MINVALUE)・NEXTVAL と CURRVAL の使い方・DEFAULT NEXTVAL でデフォルト値に使う方法・CACHE(キャッシュ)・NOCACHE・CYCLE・NOCYCLE・ORDER・NOORDER の違い・INSERT 時に NEXTVAL を使う方法・INSERT ALL での注意点・ギャップ(欠番)が発生する理由とギャップが許容できないケースへの対処・Oracle 12c 以降の IDENTITY 列(GENERATED ALWAYS / BY DEFAULT)まで解説します。
Oracle

【Oracle】ユーザー・権限・ロール完全ガイド|CREATE USER・GRANT・REVOKE・システム権限・オブジェクト権限・ロール管理まで解説

Oracle のユーザー管理・権限管理・ロール管理を完全解説。CREATE USER でユーザーを作成する方法(パスワード・デフォルト表領域・一時表領域・クォータ)・システム権限(CREATE SESSION・CREATE TABLE・DBA など)とオブジェクト権限(SELECT・INSERT・EXECUTE など)の違いと GRANT / REVOKE の使い方・CREATE ROLE でカスタムロールを作成して権限を一括管理する方法・WITH ADMIN OPTION / WITH GRANT OPTION の違い・DBA_SYS_PRIVS / DBA_TAB_PRIVS / DBA_ROLE_PRIVS で付与済み権限を確認する方法まで解説します。
Oracle

【Oracle】表領域(Tablespace)完全ガイド|CREATE TABLESPACE・DATAFILE 追加・自動拡張・容量確認・UNDO/TEMP 管理まで解説

Oracle の表領域(Tablespace)管理を完全解説。CREATE TABLESPACE で永続表領域を作成する方法・ALTER TABLESPACE ADD DATAFILE でデータファイルを追加する方法・AUTOEXTEND ON で自動拡張を設定する方法・DBA_TABLESPACES / DBA_DATA_FILES / DBA_FREE_SPACE で容量を確認する方法・UNDO 表領域(UNDO_TABLESPACE パラメータ)と TEMP 表領域の管理・ORA-01536(quota exceeded)・ORA-01658(unable to create INITIAL extent)・ALTER USER QUOTA でユーザーの使用容量を制限する方法まで実例で解説します。