Oracle

Oracle

【Oracle】ORA-00907の原因と解決方法|missing right parenthesis・右括弧がありませんの直し方

OracleのORA-00907は、括弧の閉じ忘れや括弧内の構文ミスで発生します。CREATE TABLE、FOREIGN KEY、CHECK制約、IN句、CASE式、サブクエリ、動的SQLでの修正例をまとめます。
Oracle

【Oracle】ORA-01427の原因と解決方法|single-row subquery returns more than one row・サブクエリの直し方

OracleのORA-01427は、1行だけ返る前提のサブクエリが複数行を返したときに発生します。IN、EXISTS、JOIN、集約、条件追加、ROW_NUMBER、UPDATE、重複データ確認での修正例をまとめます。
Oracle

【Oracle】ORA-00936の原因と解決方法|missing expression・SELECT/WHERE/INSERTの構文ミスを直す

OracleのORA-00936は、SQLに必要な式や値が抜けているときに発生します。SELECT、WHERE、INSERT/UPDATE、CASE式、GROUP BY/HAVING、関数引数、動的SQLで起きるパターンと修正例をまとめます。
Oracle

【Oracle】ORA-00933の原因と解決方法|SQL command not properly ended・LIMIT・UPDATE JOINの注意点

OracleのORA-00933は、SQL構文の末尾や句の位置がOracle文法に合っていないときに発生します。LIMIT、UPDATE JOIN、ORDER BY、DELETE JOIN、Oracle 23aiの直接JOIN、FETCH FIRSTへの書き換えまで実例で解説します。
Oracle

【Oracle】ORA-01861の原因と解決方法|TO_DATE・日付フォーマット・NLS_DATE_FORMATの注意点

OracleのORA-01861は、文字列の日付と書式モデルが一致しないときに発生します。TO_DATE、DATEリテラル、TO_TIMESTAMP、NLS_DATE_FORMAT、暗黙変換を避ける実務パターンまで解説します。
Oracle

【Oracle】IN句の使い方|複数値指定・サブクエリ・NOT INとNULL・EXISTSとの使い分け

OracleのIN句の使い方を、基本構文、複数値指定、サブクエリ、NULL、NOT IN、EXISTS、1000件制限、空リスト、大量INの対策まで実務向けに整理します。
Oracle

【Oracle】バージョンを確認するSQL|V$VERSION・PRODUCT_COMPONENT_VERSION・SQL*Plusで確認

Oracle Databaseのバージョンを確認するSQLをまとめます。V$VERSION、PRODUCT_COMPONENT_VERSION、V$INSTANCE、DBMS_DB_VERSION、SQL*Plusの表示を使い分け、DB本体・パッチ・クライアントの違いを確認します。
Oracle

【Oracle】ORA-01795: リストに指定できる式の最大数は1000です の原因と回避方法

ORA-01795は、IN句などのリストに1000個を超える値を指定したときに起きるOracleエラーです。分割OR、一時表、JOIN、EXISTS、アプリ側の分割処理まで実務向けに整理します。
Oracle

【Oracle】ORA-00913: 値の個数が多すぎます の原因と解決方法

ORA-00913「値の個数が多すぎます」は、列数と値の数が合っていないときに起きるエラーです。INSERT、INSERT SELECT、サブクエリ、IN句で最初に見る箇所と修正例を整理します。
Oracle

【Oracle】expdpオプション一覧|よく使うパラメータ早見表・parfile例

Oracle expdpのよく使うオプションを目的別に整理。基本構文、対象指定、条件付きエクスポート、圧縮・並列化、parfile例までまとめます。
Oracle

【Oracle】V$SQLAREA・V$SQLTEXTとは|SQL本文・実行統計を確認する

OracleのV$SQLAREA・V$SQLTEXTとは何かを解説。SQL_ID検索、長文SQLの復元、実行統計の見方まで整理します。
Oracle

【Oracle】Oracle Wallet(SEPS)完全ガイド|mkstore でパスワードレス接続を実装する方法

Oracle Wallet を使った外部パスワードストア(Secure External Password Store / SEPS)を完全解説。mkstore コマンドでの cwallet.sso / ewallet.p12 作成、sqlnet.ora の WALLET_LOCATION と SQLNET.WALLET_OVERRIDE 設定、TNS_ADMIN の指定、パスワードレス接続(sqlplus /@db_alias)、SQL*Plus / RMAN / Data Pump / DGMGRL / Shell スクリプトからの利用、orapki による Auto Login Local(特定 OS ユーザー縛り)ウォレット、ALTER USER でのパスワード変更と modifyCredential による同期、マルチ DB を 1 ウォレットで統合管理するパターン、バッチ・CI/CD で平文パスワードを一切持たない自動化認証の実装まで網羅。
Oracle

【Oracle】プロキシユーザー(PROXY USER)完全ガイド|共有アカウントを監査可能にする CONNECT THROUGH

Oracle のプロキシユーザー(Proxy User / CONNECT THROUGH)を完全解説。ALTER USER ... GRANT CONNECT THROUGH 構文、AUTHENTICATED USING PASSWORD / DISTINGUISHED NAME の3種類の認証、WITH ROLE / WITH NO ROLES / WITH ROLE ALL EXCEPT によるロール制限、sqlplus proxy[target]/pw@db の接続構文、JDBC Thin でのプロキシセッション、DBA_PROXIES / V$SESSION.PROXY_SESSIONID での確認、SYS_CONTEXT('USERENV','PROXY_USER') と UNIFIED_AUDIT_TRAIL.DBPROXY_USERNAME による実ユーザー追跡まで、共有アカウント運用を監査可能な個人認証に移行する実務ノウハウを網羅。
Oracle

【Oracle】SYS・SYSTEM・SYSDBAの違い完全ガイド|管理ユーザーと管理権限の使い分け

Oracle の SYS と SYSTEM ユーザー、SYSDBA / SYSOPER / SYSBACKUP / SYSDG / SYSKM / SYSRAC / SYSASM の 7 種類の管理権限の違いを完全解説。データディクショナリ所有者としての SYS と一般管理者 SYSTEM の使い分け、AS SYSDBA 接続の内部動作、パスワードファイル認証と OS 認証の違い、GRANT SYSDBA / SYSBACKUP の付与方法、V$PWFILE_USERS・USERENV・SESSION_PRIVS での確認 SQL、ORA-01031 / ORA-28009 の対処、共有 SYSDBA 運用からジョブロール分離への移行まで、運用ベストプラクティスを網羅。
Oracle

【Oracle】ORA-00932 完全ガイド|inconsistent datatypes(データ型不一致)の原因と解決方法

Oracle の ORA-00932(inconsistent datatypes)エラーを完全解説。ORA-00932 が発生する原因(VARCHAR2 と NUMBER の比較・CLOB と VARCHAR2 の結合・DECODE / NVL での型不一致・UNION の列型不一致・IN リストの型混在)・TO_CHAR / TO_NUMBER / TO_DATE / TO_CLOB / CAST での型変換による解決方法・CLOB を DISTINCT / GROUP BY / ORDER BY で使う際の対処法・PL/SQL での暗黙変換と明示変換の使い分けまで解説します。
Oracle

【Oracle】ORA-12154 完全ガイド|TNS: could not resolve the connect identifier specified の原因と解決方法

Oracle の ORA-12154(TNS: could not resolve the connect identifier specified)エラーを完全解説。ORA-12154 が発生する原因(tnsnames.ora の記述ミス・TNS_ADMIN の不一致・サービス名の誤り)・tnsnames.ora の正しい書き方と配置場所の確認方法・TNS_ADMIN 環境変数の確認方法・tnsping で接続テストする方法・Easy Connect(ホスト名:ポート/サービス名)を使って tnsnames.ora なしで接続する方法・JDBC Thin / Python cx_Oracle / .NET ODP.NET での接続文字列の書き方まで解説します。
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)の設定まで解説します。