Oracle DatabaseをLinux環境で扱う場合、listener.ora や tnsnames.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を編集してみよう
リスナー構成ファイルは以下のように編集します。
▶ 編集手順
- ディレクトリ移動
cd $ORACLE_HOME/network/admin
- ファイルを開く
vi listener.ora
iキーで挿入モードに入り、以下を追記または修正:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
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専門のエージェントで非公開求人をチェックしてみませんか?




コメント