ORA-12514と格闘

にほんブログ村 サラリーマン日記ブログへ
ポチッとお願いします
気に入った記事があればコメント、シェアお願い致しますm(_ _"m)ペコリ
ORAエラー12514と悪戦苦闘したのでメモしておく

久々にLinuxPCを起動して、yum updateを実行後、SQLを起動しようとするとエラー発生。


ORA-12514: TNS:listener does not currently know of service requested in connect

ネットでORA-12514への対応を検索したところ、下記のアドレスが合っているかを確認する記事がたくさん存在しました。

$ORACLE_HOME/network/admin/tnsnames.oratnsnames.ora
$ORACLE_HOME/network/admin/tnsnames.oralistener.ora

確認してみましたが、どうも管理人の環境ではアドレスは一致しており理由は別に存在するよう

ネットを2日程さまよった結果、ビンゴ情報の記載サイトに辿り着きました!



Linux版Oracle 11g XEの設定など http://www.ajisaba.net/db/ora_linux_setting.html

まず、事象は以下のような状況

$ sqlplus [USER]/[PASSWORD]@[SID]

SQL*Plus: Release 12.1.0.2.0 Production on Tue Sep 27 22:55:44 2016

Copyright (c) 1982, 2014, Oracle. All rights reserved.

ERROR:
ORA-12514: TNS:listener does not currently know of service requested in connect
descriptor

リスナーを起動しようとするとエラー


TNS-12541: TNS:no listener


TNS-12711: TNS:protocol adapter error


TNS-00511: No listener


$ lsnrctl

LSNRCTL for Linux: Version 12.1.0.2.0 – Production on 27-SEP-2016 22:46:07

Copyright (c) 1991, 2014, Oracle. All rights reserved.

Welcome to LSNRCTL, type “help” for information.

LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12711: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS:no listener
TNS-12711: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
$ lsnrctl start

LSNRCTL for Linux: Version 12.1.0.2.0 – Production on 27-SEP-2016 22:49:37

Copyright (c) 1991, 2014, Oracle. All rights reserved.

Starting [$ORACLE_HOME]/bin/tnslsnr: please wait…

TNSLSNR for Linux: Version 12.1.0.2.0 – Production
System parameter file is [$ORACLE_HOME]/network/admin/l
Log messages written to [$ORACLE_BASE]/diag/tnslsnr/localhost/listener/alert/lo
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
STATUS of the LISTENER
————————
Alias LISTENER
Version TNSLSNR for Linux: Version 12.1.0.2.0 – Production
Start Date 27-SEP-2016 22:49:37
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File [$ORACLE_HOME]/network/admin/
Listener Log File [$ORACLE_BASE]/diag/tnslsnr/localhost/listener/alert/
Listening Endpoints Summary…
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully

[スポンサーリンク]

ここでリスナーログ(Listener Log File)を確認

type=’UNKNOWN’ level=’16’ host_id=’localhost.localdomain’
host_addr=’::1’>
<tx> WARNING: Subscription for node down event still pending
</txt>
</msg>

よくわからーん!( ゚д゚)ポカーン

とりあえずインスタンス起動を試みる

SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file ‘[$ORACLE_HOME]/dbs/init[SID]_DB.ora’

inithoge.oraが存在しない?なにそれ??

で、ORA-01078等でネット検索で彷徨っていいると上記サイト発見 ∀゚σ)゚+o。ミツケタ!

[スポンサーリンク]

SQL> create pfile = ‘[$ORACLE_HOME]/dbs/init[SID]_DB.ora’ from spfile = ‘[$ORACLE_HOME]/dbs/spfilestd.ora’

無事に起動!

SQL> startup
ORACLE instance started.

Total System Global Area 1711281088 bytes
Fixed Size 2924784 bytes
Variable Size 1006636816 bytes
Database Buffers 536870912 bytes
Redo Buffers 13848576 bytes
Database mounted.
Database opened.


[oracle@localhost ~]$ sqlplus [USER]/[PASSWORD]@[SID]

SQL*Plus: Release 12.1.0.2.0 Production on Tue Sep 27 23:20:49 2016

Copyright (c) 1982, 2014, Oracle. All rights reserved.

ERROR:
ORA-28002: the password will expire within 7 days


Last Successful login time: Mon May 04 2015 02:03:26 +09:00

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 – 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

ORA-28002(笑)久しぶりの起動感MAX(。・ ω<)ゞてへぺろ

とはいえ何とか無事解決!!


※1 下記は書き換え
[USER]
[PASSWORD]
[SID]
[$ORACLE_HOME]
[$ORACLE_BASE]


※2 環境情報
$ cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
SQL> select * from v$version;

BANNER CON_ID
——————————————————————————– ———-
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 – 64bit Production 0
PL/SQL Release 12.1.0.2.0 – Production 0
CORE 12.1.0.2.0 Production 0
TNS for Linux: Version 12.1.0.2.0 – Production 0
NLSRTL Version 12.1.0.2.0 – Production 0

ORACLE知っていて損することなんてないですよね・・・(汗)↓↓

[スポンサーリンク]

気に入った記事があればコメント、シェアお願い致しますm(_ _"m)ペコリ

コメントを残す

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

コメント

お名前 *

ウェブサイトURL