Rainbow Planet (GT×IT×SP×SA)

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

01_IT技術 (Technology) 02_OracleDB

SQL Developer接続エラーへの対処(ORA-12514, ORA-12505)

投稿日:2017年7月2日 更新日:

SQL Developer接続エラーへの対処

SQL Developerを起動してSYSTEMユーザで接続する際に発生した、下記2つのエラーの対処法について記載します。
エラー#1:ORA-12514「TNS: リスナーは接続記述子で要求されたサービスを現在認識していません」
エラー#2:ORA-12505「TNS: リスナーは接続記述子で指定されたSIDを現在認識していません」

目次

(手順0) 前提条件
(手順1) リスナーが正常に起動しているかを確認
(手順2) DBインスタンスを起動
(手順3) SQL Developerに接続する
(手順4) 例外対処

前提条件

前提条件として、今回私の環境においては以下の条件下でエラー(ORA-12514, ORA-12505)が発生しています。
(前提1) Linuxサーバにリモートデスクトップ接続する設定が完了している
(前提2) Oracle DBのインストールが完了している
(前提3) Netcaリスナーの設定が完了している
(前提4) DBCAによるデータベースの作成が完了している

上記の前提条件のもと、SQL Developerを起動して接続情報入力画面(下図)にて、SYSTEMユーザの情報を入力して接続を押下する際に当該エラーが発生しています。

(エラー画像)

目次にもどる

(手順1) リスナーが正常に起動しているかを確認

1-1.リスナーのステータスを確認

下記コマンドでリスナーの状態を確認します。”lsnrctl”は「リスナー制御ユーティリティ」の実行プログラムで、コマンドプロンプトから”lsnrctl”を実行すると、リスナー制御ユーティリティが起動します。

cd /u01/app/oracle/product/11.2.0/dbhome_1/bin/
./lsnrctl status

環境変数(ORACLE_HOMEなど)が設定出来ていない場合は下記の様なエラーが出ます。

1-2.環境変数の設定

上記の場合、下記コマンドで環境変数の設定を行います。

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl

1-3.リスナー起動コマンドの実行

環境変数を設定したら、リスナーの起動を行います。

./lsnrctl start

リスナーの起動が正常に処理されると”The command completed successfully”と表示されています。

目次にもどる

(手順2) DBインスタンスを起動

2-1.SQL*Plusを起動

ログインせず(/nolog)で起動します。

./sqlplus /nolog

(※一旦ログオン=DB接続をせずにSQL*Plusのセッションを作成し、セッション作成後にログイン(接続)を行います。このように2段階で実施する理由として、TeraTerm等から直接ログインしてしまうとコマンドの履歴等からログイン情報が見れてしまうリスクがある為と言われています)

2-2.管理者SYSDBAとしてログオン

下記コマンドを利用します。

SQL> CONN SYSTEM/(各自のpassword) AS SYSDBA


※インスタンスが起動されていないため”Connected to an idle instance.”のメッセージが出ています。

2-3.インスタンスの起動

下記コマンドを利用します。

SQL> STARTUP

Oracle DBが起動すると「SGA(System Global Area)」と呼ばれるメモリー領域が割当てられ、「バックグラウンドプロセス」が起動します。ユーザーはDBに対する操作を直接行わず、インスタンスを介して行う事で安全性やパフォーマンスを向上できます。これらのSGAとバックグラウンドプロセスを合わせて「インスタンス」と呼びます。

目次にもどる

(手順3) SQL Developerに接続する

3-1.SQL Developerを起動(リモートデスクトップ環境から)

OracleDBが利用可能なLinuxサーバに、リモートデスクトップ接続する。

3-2.接続情報を入力して接続する

各自の接続情報を入力し、接続をテストします。
図の様に”Success”が表示されればOK。

目次にもどる

(手順4) 例外対処

上記の対応でも解決しない場合、下記を試します。

SQL> show parameter local_listener
SQL> alter system set LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))' scope=both;

1行目のコマンドを実行して”VALUE”が空ならは、2つ目のコマンドも実行します。結果は次の様になります。

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-01_IT技術 (Technology), 02_OracleDB

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

PythonのPandas使用時に発生した「UnicodeEncodeError: ‘ascii’ codec can’t encode characters~」エラーの対処方法について

(0)目次&概説 (1) エラー対応1:UnicodeEncodeError  (1-1) 発生状況・エラーメッセージ   (1-1-1) エラーメッセージ   (1-1-2) エラーとなったソース …

サーバサイドJava(JSP&サーブレット)における画面遷移の手法とそのサンプルコードの紹介

(0)目次&概説 (1) 画面遷移の代表手法  (1-1) フォワード  (1-2) リダイレクト (2) 画面遷移手法のご紹介  (2-1) 方法1:formタグ+Submitボタン(JSP/Ser …

Linuxにおけるデーモンやサービスの意味や常用コマンドについて

(0)目次&概説 (1) 記事の目的  (1-1) 目的  (1-2) 前提条件 (2) デーモン/サービスとは?(CentOS6以前)  (2-1) デーモン/サービスとは?  (2-2) Syst …

Linux:サーバ死活管理スクリプト

システム構築では「運用」の中で死活監視を行いますが、その概要と簡単なLinuxでの例を紹介します。 ●死活監視とは サーバーが止まらずに動いているか?のチェックを行うことです。 最も身近な死活チェック …

CentOS6にVNCServerでリモート接続して日本語入力を可能にする方法

(0)目次&概説 (1) 記事の目的 (2) 日本語化の対応手順  (2-1) ibus系のインストール  (2-2) dbusインストール+エラー回避  (2-3) mocz系パッケージのインストー …

  • English (United States)
  • 日本語
Top