Oracle設定ファイルをviで編集する方法

OS

Oracle DatabaseをLinux環境で扱う場合、listener.oratnsnames.ora といったネットワーク設定ファイルの編集が必要になる場面が必ずあります。

本記事では、初心者の方でも戸惑わないように、viエディタを使った設定ファイルの編集手順を、ファイルの場所・基本操作・よくあるトラブルまで丁寧に解説します。

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?


1. viエディタとは?

viとは、Linux/UNIX上で広く使用されている標準的なテキストエディタです。CLI(コマンドライン)上で動作し、GUI環境がないOracleサーバでも使用できます。

▶ viエディタの2つのモード

┌────────────┬────────────────────────────┐
│    モード名     │             内容              │
├────────────┼────────────────────────────┤
│   コマンドモード   │      移動・保存・削除などの操作が可能       │
│   挿入モード    │      文字入力や編集ができる            │
└────────────┴────────────────────────────┘

2. Oracleでよく編集する設定ファイル一覧とパス

Oracleでは以下の設定ファイルを手動で編集する機会があります。それぞれの役割と、デフォルトの格納ディレクトリも合わせて解説します。

▶ 主な設定ファイル一覧

┌────────────────┬────────────────────────────┬────────────────────────────────────────────┐
│ ファイル名 │ 役割 │ デフォルトのディレクトリパス │
├────────────────┼────────────────────────────┼────────────────────────────────────────────┤
│ listener.ora │ リスナーの接続受付設定 │ $ORACLE_HOME/network/admin │
│ tnsnames.ora │ 接続先データベースの定義 │ $ORACLE_HOME/network/admin │
│ sqlnet.ora │ 通信プロトコルやセキュリティ設定 │ $ORACLE_HOME/network/admin │
│ init<SID>.ora │ 初期化パラメータ(PFILE)設定 │ $ORACLE_HOME/dbs(Linux) │
│ spfile<SID>.ora │ 初期化パラメータ(SPFILE・バイナリ) │ $ORACLE_HOME/dbs(Linux) │
└────────────────┴────────────────────────────┴────────────────────────────────────────────┘

$ORACLE_HOME の実際のパスは環境によって異なります(例:/u01/app/oracle/product/19.0.0/dbhome_1


3. viでファイルを開く手順

ターミナルで以下のように入力してファイルを開きます:

vi listener.ora

この時点ではコマンドモードで起動します。


4. viの基本操作(これだけ覚えればOK)

▶ 操作モードの切り替え

操作コマンド
編集を始めるi(挿入モードに入る)
編集を終えるEsc(コマンドモードに戻る)

▶ 保存・終了

操作コマンド
編集内容を保存して終了:wq + Enter
編集せずに終了:q! + Enter

5. 例:listener.oraを編集してみよう

リスナー構成ファイルは以下のように編集します。

▶ 編集手順

  1. ディレクトリ移動
cd $ORACLE_HOME/network/admin
  1. ファイルを開く
vi listener.ora
  1. iキーで挿入モードに入り、以下を追記または修正:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
  1. Esc:wqで保存して終了

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?


6. 編集後はリスナーを再起動する

設定を反映させるには、リスナーの再起動が必要です:

lsnrctl stop
lsnrctl start

7. よくあるトラブルとその対処法

┌──────────────────────────────┬────────────────────────────────────┐
│ トラブル内容 │ 対処方法 │
├──────────────────────────────┼────────────────────────────────────┤
│ E212: Can't open file │ 書き込み権限がない → `sudo vi`で開く │
│ 編集内容が反映されない │ リスナーを再起動していない可能性 │
│ viの操作が分からずパニックになる │ `Esc` + `:q!`で即終了してやり直す │
└──────────────────────────────┴────────────────────────────────────┘

8. tnsnames.oraの編集練習(おすすめ)

こちらもよく修正するファイルです。

cd $ORACLE_HOME/network/admin
vi tnsnames.ora

以下のように記述します:

ORCLPDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = orclpdb)
)
)


listener.ora や tnsnames.ora については以下。


9. 補足:spfileはviで編集できません

spfile<SID>.oraバイナリファイルのためviで直接編集できません。以下のようにテキスト形式のPFILEを作成して編集します。

SQL> create pfile from spfile;

編集後、再度spfileへ戻すには:

SQL> create spfile from pfile;


spfile や pfile についてはコチラ。


まとめ:vi操作の最重要ポイント3つ

① i で挿入モードに入る
② Esc で戻る
③ :wq で保存終了 / :q! で破棄終了

Oracleのネットワーク設定はviで行うのが基本です。最初は難しく感じても、数回使えば確実に慣れていきます

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?

コメント

タイトルとURLをコピーしました