Sunday, August 30, 2009

LISTENER AYARLARI VE TEK SİSTEMDE İKİ DATABASE ÇALIŞTIRMA

Bir isletim sistemi üzerine 2 tane Oracle database kurma islemi sirasinda bazen listener hatasi olabilirsiniz. Dinleyici bulunamadi vs ...
Burada normal bir sekilde oracle'nin arayüzünü ( Database Configuration Assistant ) kullanarak kurulumu yapiyorum. Burada Her bir database için ayri port numarası vermeye gerek yoktur.
tek bir porttan ve tek bir listenr ile birçok database'e (SID) bağlanabilirsiniz. Bu deneme yada test amaçlı sistemler için geçerlidir. Bu şekilde bir sistem performanslı olmayacaktır.
O portta ve listenerde yoğunluğa neden olabilir.
Ilk kurduğum database default kurulumda gelen ORCL ikinci kurdugum database ise RMAN database'i. RMAN database'inin kurmamdaki amaç RMAN için Katalog olarak kullanacağım.
Aslında ikisini de aynı sisteme kurmak yanlış. Backup Stratejisi için kötü bir durum.
Kurulum işlemi bittikten sonra SQL*PLUS ile baglaniyorum. Ilk ünce ORCL database'ime baglanacagim.

C:\Documents and Settings\rdcaates>sqlplus

SQL*Plus: Release 10.2.0.1.0 - Production on Per A­u 27 15:09:25 2009

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

Kullanici adini girin: sys/o123@orcl as sysdba

Bağlanti:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> select name,dbid from v$database;

NAME DBID
--------- ----------
ORCL 1223590477

SQL>

Ikinci olarak RMAN database'ine baglaniyorum.

C:\Documents and Settings\rdcaates>sqlplus

SQL*Plus: Release 10.2.0.1.0 - Production on Per A­u 27 15:16:53 2009

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

--burada hangisine baglanacagımı belirtmiyorum.

Kullanici adini girin: sys as sysdba
Parolayi girin:

Bağlanti:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> select name,dbid from v$database;

NAME DBID
--------- ----------
RMAN 1582417640

SQL>

Seklinde bir yapi kullaniyoruz. Burada su sekilde baglanacagi database'i belirterek yapinca hata aliyor. Sebebi listener'da tanımlamamış olmamız.

C:\Documents and Settings\rdcaates>sqlplus

SQL*Plus: Release 10.2.0.1.0 - Production on Per A­u 27 15:18:34 2009

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

--Asagidaki sekilde baglaninca hata aliyorum.

Kullanici adini girin: sys/o123@rman as sysdba
ERROR:
ORA-12514: TNS: Dinleyici su anda baglanti aüiklayicisinda belirtilen hizmeti
tanimiyor.

Bu arada listener.ora ve tnsnames.ora dosyalarim asagidaki sekildeler.


tnsnames.ora
/////////////////////////////////////////////////////////////////////////////////////////////////////////////

# tnsnames.ora Network Configuration File: c:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

RMAN =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = aates)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = rman)
)
)

ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = aates)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)



listener.ora
////////////////////////////////////////////////////////////////////////////////////////////////////////////

# listener.ora Network Configuration File: c:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

#burada listener listesine eklemeler yapıyorum.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = ORCL)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
#kendi SID ve oracle home bilgilerinizi girerek bu yapıyı kullanabilrisiniz.
# port bilgilerine dikkat etmeniz gerekiyor.
)

(SID_DESC =
(SID_NAME = RMAN)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
)

)

#burada tek bir listenerdan iki db'yi çalıştırıyom.
#tek bir port kullanıyorlar dikkat ederseniz.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = aates)(PORT = 1521))
)
)


////////////////////////////////////////////////////////////////////////////////////////////////////////////


Dosyalarimi yukaridaki sekilde tanimladiktan sonra windows service'den Oracle service'lerin RESTART ediyorum.

OracleOraDb10g_home1TNSListener

Yukaridaki islemeler ile database 2 tane listener tanimladik ve bunlari üalistirdik.
Listenerleri baslatma islemini windows ekraninin yanisira Command satirinda da yapabilrisiniz.
C:\Documents and Settings\rdcaates>lsnrctl
LSNRCTL> status
LSNRCTL> stop listener
LSNRCTL> status
LSNRCTL> start listener
LSNRCTL> status

Yukarıdaki işlemlerin arkasından başarı bir şekilde bağlanıyorum.

////////////////////////////////////////////////////////////////////////////////////////////////////////////


--burada bağlantı scritini veriyorum.

C:\Documents and Settings\aliates>sqlplus sys/o123@orcl as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Sun Aug 30 11:15:41 2009

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


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

--ORCL database'ini kapatıyorum.

SQL> shutdown abort;
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options


--şimdi Listener'ımı tekrar kontrol etmek için yeniden bağlanmayı deniyorum.

C:\Documents and Settings\aliates>sqlplus sys/o123@orcl as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Sun Aug 30 11:15:58 2009

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

Connected to an idle instance.
--hangi database açıldı görmek için bakmak istiyorum ama kapalı olduğu için SQL sorgularım çalışmıyor.
SQL> select name grom v$database;
select name grom v$database
*
ERROR at line 1:
ORA-01034: ORACLE not available

--database'i açıyorum.

SQL> startup;
ORACLE instance started.

Total System Global Area 603979776 bytes
Fixed Size 1250380 bytes
Variable Size 176163764 bytes
Database Buffers 419430400 bytes
Redo Buffers 7135232 bytes
Database mounted.
Database opened.

--kontrol ediyoruz.

SQL> select name from v$database;

NAME
---------
ORCL

SQL>

////////////////////////////////////////////////////////////////////////////////////////////////////////////

Aynı işlemleri değeri içinde yapıyorum :))

C:\Documents and Settings\aliates>sqlplus sys/o123@rman as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Sun Aug 30 11:16:36 2009

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


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> shutdown abort;
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Pr
oduction
With the Partitioning, OLAP and Data Mining options

C:\Documents and Settings\aliates>sqlplus sys/o123@rman as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Sun Aug 30 11:17:53 2009

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

Connected to an idle instance.

SQL> select name from v$database;
select name from v$database
*
ERROR at line 1:
ORA-01034: ORACLE not available


SQL> startup;
ORACLE instance started.

Total System Global Area 603979776 bytes
Fixed Size 1250380 bytes
Variable Size 171969460 bytes
Database Buffers 423624704 bytes
Redo Buffers 7135232 bytes
Database mounted.
Database opened.
SQL> select name from v$database;

NAME
---------
RMAN

SQL>

Listenerler ile ayritili bilgiyi adresinden alabilirsiniz.
http://download.oracle.com/docs/cd/B25329_01/doc/admin.102/b25107/network.htm#BHCDDAII

1 comment:

Anonymous said...

Gгeat blog hеre! Also your sitе loads up verу fаst!
What web hоst are you using? Ϲan I get your affiliаtе link to yοur host?
I wish my website loaded up аs quicκly as yours lol

Visit my blog :: ünlü oyunları