SQL*NET에서 CLIENT IP를 이용하여 CONNECT를 제한하는 방법(protocol.ora)
제품 : SQL*NET
작성날짜 : 2005-07-05
SQL*Net을 통해 listener에 접속할 수 있는 Client Node를 제한하는 방법
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SQL*Net을 사용하면서 특정한 Client Node의 접근을 제한할 수 있으며,
이 기능은 Oracle V7.1이상에서 적용을 할 수가 있습니다.
Configuration은
~ 8i:
$ORACLE_HOME/network/admin/protocol.ora에 설정합니다.
9i: $ORACLE_HOME/network/admin/sqlnet.ora file에 설정합니다.
변수 지정의 예;
1. tcp.validnode_checking = yes
tcp.invited_nodes=( 152.68.18.73 )
이 경우는 오직 152.68.18.73 Node의 사용자만 접속을 할수 있으며,
그외의 Node에서는 접속이 거절됩니다. (ora-12537 발생) 여기서 조심할
사항은 반드시 자기 자신의 IP를 invited_nodes에 등록해줘야 합니다.
2. tcp.validnode_checking = yes
tcp.excluded_nodes=( 152.68.18.73 )
이 경우는 152.68.18.73 만 접속이 거절되며, 그외의 다른 machine
에서는 접속이 정상적입니다.
3. tcp.validnode_checking = yes
tcp.invited_nodes = (152.68.19.210, 152.68.18.74)
tcp.excluded_nodes = (152.68.18.73)
152.68.19.210, 152.68.18.74 Node의 사용자는 Listener에 접속을
할 수 있고, 152.68.18.73 Node의 사용자는 접속을 못합니다.
단, 하나 이상의 ip address 를 나열할 때는 single line 에 기록해야
합니다.
이렇게 설정 후에는 listener를 재기동합니다.
Similar Messages
-
How can I connect oracle without installing its SQL*Net client?
How can I connect oracle without installing its SQL*Net client?
Pls suggest, any possible solution, i cross checked from below link, and tried to install the instant clients, but
http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html
its showing me error of "This application has failed to start because OCI.dll was not found. Re-installing the application may fix this problem."
Let me know if you have any thing on this. -
SQL*NET SESSION의 DEAD CONNECTION 처리 방법
제품 : SQL*NET
작성날짜 : 1996-04-03
SQL*NET SESSION의 DEAD CONNECTION 처리 방법
==========================================
server에서 수행 중이던 프로그램이 비정상 종료한 경우에는 오라클의 smon이
자동으로 detection하여 수행 중이던 transaction을 rollback하여
정리하여 준다.
그러나, Client Server 환경에서 PC를 Client로 사용 시 비정상적인 방법으로
Server와 Disconnect 하면 Server 쪽에 있는 Dedicated Server가 남아 있다.
이는 Sql*net V1 & V2에서 발생하던 문제로 Sql*net V2.1 이후에는 아래와
같은 방법을 이용하면 Dead connection이 정상적으로 Disconnect 된다.
* 환경 : Server - Sql*net tcp/ip V2.1.3
Client - Sql*net V2.0
* Setup 방법 : Server와 Client에 있는
$ORACLE_HOME/network/admin/sqlnet.ora에
sqlnet.expire_time=n
으로 setting 한다.
여기서 n은 분 단위이며 실제 disconnect는 n분보다 더 걸린다.
일반적으로 sqlnet.expire_time=1로 설정하면 적당하다.Hi,
Probe send - client and application still there - all fine
Network cable on the client is removedAt the above stage if the Sever sents a probe then if does not receive any message from Client it is treated as DCD. (It will receive any error code or negative response from client instead of any active status communication)
Application is shut down
(Optionally the computer is rebooted)
Network cable is reattached
Next probe send from server
At this point, the client is reachable, the Oracle NET component on the client is there, but the application on the client is gone without properly saying good bye to the DB server.
Would DCD detect the dead connection in this sceanrio?If my above comment is dismissed and your case or assumptions continues, then we need to check the SQL_EXPIRE time which you have connected. If the every thing happens with in the time setted for Expire time then, still it will treat as DCD, your session is getting terminated the system got rebooted.
You understanding with DCD is correct.
We see sessions in V$SESSIONS that don't have a process on the client any more. We have SQLNET.EXPIRE_TIME set to 2 minutes on the server, but still these sessions show up after days. Sessions show up as inactive and are waiting on "SQL*NET message from client" for hours and days.See basically INACTIVE and DCD are different. Slight difference exits. As you said you find inactive sessions. If you want to cleanup those inactive sessions, as per oracle documenation, you can create a custom profile as per your requrement and assign some IDLE_TIME and update the respective user profile. That might help you out.
- Pavan Kumar N -
SQL*Net Client for Oracle 8i/9i ?
Hi..All,
Where do I download just the SQL*NET client for ORacle 8i/9i. ?
RegardsI have the same question: is there a stand-alone
installer for SQL*Net?No.
>
I need this for a Windows 2003 Server x64 platform.
The link provided just goes to the client, which is
far too large to transfer over my VPN connection to
a remote host.The alternative is the 'instant client'. You MIGHT be able to use that. -
Where can I download this SQL-Net Client software 8.1.6.3.8
What is the most current version of the SQL-Net Client software drivers that we should be using on our Windows Clients to hit our 8.1.6.3 server? Currently we are using 8.1.6.0.0 (per tnsping). According to the certification matrix, looks like 8.1.6.3.8, (right?)
Destination : Windows 98,NT,2000,XP Clients
Second, where can I download this SQL-Net Client software? And please don't tell me I have to download the entire server (I hoping, but if I do where?).
Thanks,
Jason
[email protected]I think you might be running into the issue that:
1) The Yoga 2 Pro does not have a DVD player built-in, and therefore they don't include DVD playback software
2) Windows 8 (or 8.1) no longer includes the codecs to play DVDs and such. You have to upgrade to the Professional edition of it. (silly, yes).
I would personally just grab VLC Player from videolan.org, and use that. Works perfectly fine, and it's free.
(Did the external USB DVD not come w/ software? That's actually strange). -
How do I get SQL*Net Client for Win95?
Specifically, which software package comes with the SQL*Net Client for Windows 95?
Any of the products that requires a client side installation will include it. Things like the server will also normally include a client side instalation kit. The JDBC drivers do not come bundled with a client (not when downloaded from technet at any rate).
-
IS there a Thin install SQL*NEt client only?
Is there something besides downloading the whole monster 9i for just a client install that I can do to get SQL*Net onto my linux box for Tora so I do not have to reboot into Windows to use TOAD?
Is there something besides downloading the whole monster 9i for just a client install that I can do to get SQL*Net onto my linux box for Tora so I do not have to reboot into Windows to use TOAD?
-
Is SQL*Net Client a Free Product?
Or do I have to pay for a license? If it is free, how do I get it without downloading a whole database package? Thank you.
I think it is 'free' as part of the database licence, so it's really just a component of Oracle Server. You cannot download it separately.
I'm curious as to why you might want just Oracle Net ...
Alison -
WINDOWS 용 SQL*NET 를 사용 시 ORA-3121
제품 : SQL*NET
작성날짜 : 1995-11-06
다음은 ORA-3121을 해결하기 위해 단계별 조치방법을 설명하겠습니다.
==========================
SQL*NET V2 에서의 ORA-3121
==========================
1) SQL*NET V2를 통해 연결하려 할 때 Connect String에 'tns:' prefix를 사용
하지 않으면 ORA-3121이 나오는 경우가 있습니다.
예를 들어서 tnsnames.ora 에 등록된 service name이 TORA라고 가정한다면
Connect String을
tns:TORA
와 같이 지정하면 됩니다.
Powerbuilder의 경우에는
@TORA 또는 @tns:TORA
로 주게 됩니다.
2) PC에 SQL*NET V2가 install이 안 되어 있는 경우에 Connect String을 TORA와
같이 SQL*NET V2 형식으로 주게되면 ORA-3121이 발생합니다.
ORACLE Installer를 실행하여 현재 인스톨 되어 있는 목록을 확인하여 SQL*NET
V2와 TCP/IP ADAPTER가 인스톨이 되어 있는지 확인합니다.
3) 만약 NETTEST나 TNSPING, SQLPLUS에서는 접속이 되는데 POWER BUILDER와 같은
3rd Party Tool에서 접속이 되지 않고 ORA-3121이 발생하면 이 때에는
C:\ORAWIN\BIN 또는 C:\ORAWIN95\BIN
디렉토리가 PATH에 설정이 되어 있지 않은 경우입니다.
PATH를 확인하시기 바랍니다.
4) 3rd PARTY TOOL로 개발된 16BIT APPLICATION 이라면 AUTOEXEC.BAT 화일에
다음을 추가하고 PC를 REBOOTING 합니다.
SET CONFIG=C:\WINDOWS\ORACLE.INI
=========================
SQL*NET V1에서의 ORA-3121
=========================
1. Windows에서 나와서 DOS 프롬프트로 가십시요.
2. DOS 프롬프트에서 PATH를 입력하고 <RETURN>을 누르십시요.
현재 경로에 있는 모든 드라이브를 적어 두십시요. (C:, D:)
3. 2에서 적은 DOS 경로의 모든 드라이브에서 ORA6WIN.DLL 이라는 화일을 찾으시
기 바랍니다.
(Norton에서 FILEFIND 유틸리티를 사용하거나 DOS 5.0 이상의 경우 Root 디렉토
리에서 간단하게 DIR ORA6WIN.DLL/S를 실행하는 것이 좋은 방법입니다.
Windows 파일 관리자의 파일 찾기 유틸리티를 사용할 수도 있습니다.)
ORA6WIN.DLL이 여러 개이면 한 가지만 제외하고 모든 복사본의 이름을 바꾸십
시요.
(ORA6WIN.DLL같은 것으로). 한 가지 예외는 4/13/92(285573 byte)
또는 10/15/92(380639 bytes)라고 적힌 ORA6WIN.DLL은 복사본입니다.
이들 두 버전의 ORA6WIUN.DLL은 Oracle Corporation이 적접 배포한 것입니다.
10/15/92이후 날짜로 되어있고 380639 바이트보다 큰 파일을 가지고 있다면 그
것을 사용해도 좋습니다.
( 이들 날짜의 ORA6WIN.DLL 복사본이 없으면 제3자 응용 프로그램 업체에 연락해
서 이 파일의 복사본을 구하십시요. 디스크 레이블이 "Windows Required
Support Files Version 6.0xx.x.x"인 Oracle 제품이라면, 틀림없이
ORA6WIN.DLL의 최신 복사본이 있을 것입니다.)
4. ORA6WIN.DLL이 있는 디렉토리를 적어 두십시요.
5. 현재 경로에 앞서 말한 디렉토리가 있는지 확인하십시요.
DOS Prompt에서 PATH를 입력하고 <RETURN>을 누르면 됩니다.
6. 현재 경로에 ORAWIN\BIN 디렉토리가 있는지 확인하십시요. (또는 Windows용
SQL*NET이 설치된 곳, 잘 모르겠으면 ORACLE_HOME\BIN 디렉토리를 보십시요.
ORACLE.INI 파일에 ORACLE_HOME이 정의되어 있습니다.)
또한 ORACLE_HOME\BIN 디렉토리에 SQL*NET DLL이 있는지 확인하십시요.
(예를 들어, Windows용 SQL*NET SPX의 경우는 SQLSPX.DLL과 SQLSPX1.DLL,
WINDOWS용 SQL*NET TCP/IP의 경우는 SQLTCP.DLL과 SQLTCP1.DLL).
ORACLE_HOME\BIN디렉토리에 ORA7WIN.DLL이 있는 지도 확인해야 합니다.
7. WINDOWS 디렉토리의 win.ini 파일을 편집하십시요.
다음과 같은 ORACLE이라는 그룹을 반드시 넣어야 합니다.
[Oracle]
ORA_CONFIG=C:\WINDOWS\ORACLE.INI
8. A) DOS 프롬프트에서 SET을 다시 입력하고 <RETURN>을 누르십시요.
CONFIG라는 DOS환경 변수가 CONFIG.ORA 라는 파일에 인쇄하도록 설정되어 있는지
점검하십시요.
CONFIG 환경 변수는 다음과 같아야 합니다.
<server : DOS, unix, tool : DOS>
CONFIG=C:\ORACLE6\CONFIG.ORA
B) 환경 변수에 CONFIG 변수가 설정되어 있지 않으면 AUTOEXEC.BAT 파일에
다음 명령문을 추가하고 나서 다시 부팅하십시요.
<server : unix, tool : windows>
SET CONFIG=C:\WINDOWS\ORACLE.INI
(Windows 디렉토리에 해당 경로에 넣으십시요)
CONFIG가 설정되지 않아서 8B) 단계를 수행했으면 9단계는 무시하십시요.
9. CONFIG.ORA와 ORACLE.INI FILE의 다음 매개변수를 일치 시키십시요.
(이들 파일의 위치에 대해서는 8단계를 참조하십시요.)
이들 매개변수 중에는 두 파일에 없는 것도 있습니다. 이들 매개 변수가 CONFIG.ORA나 ORACLE.INI에 있으면 정확히 일치하게 하십시요. 이들 매개변수 중
에 두 파일 중 어디에도 없는 것이 있다면, 그것을 추가하지 마십시요.
또한 이들 매개변수 중에 불필요한 것이 있을 수도 있지만, 그것을 CONFIG.
ORA와 ORACLE.INI에 모두 추가해도 전혀 문제는 없습니다.
매개변수 목록 :
WIN_LOCAL_SESSIONS
WIN_REMOTE_SESSIONS
LOCAL
REMOTE
INTERRUPT
XMMITR
TCP_HOSTS_FILE
TCP_SERVICES_FILE
SQLNET DBNAME
10. 지금 WINDOWS를 시작한 다음, 프로그램 관리자의 도움말(HELP)을 클릭하고
ABOUT PROGRAM MANAGER를 클릭하여 WINDOWS가 enhanced mode인지 확인해 보시
기 바랍니다.
WINDOWS용 SQL*NET은 표준 모드로 작동하지 않습니다.
11. 로그인 화면에 Connect String을 명시적으로 제공한 경우에는 Connect
String 앞에 '@'를 지정하지 마십시요.
다음 예와 같이 그냥 Connect String만을 입력하십시요.
t:orasrv:orasid 혹은 x:orasrv
12. ORACLE.INI와 CONFIG.ORA에 LOCAL 매개 변수가 있으면, 로그인 화면에서
Connect String을 지정하지 않고 Connect String field를 비워둘 수 있습니다.
LOCAL=t:orasrv:orasid
(Note): Oracle Corporation은 사용자의 \ORAWIN\BIN 디렉토리에 설치되는
NETTEST.EXE라는 WINDOWS 시험 프로그램을 배포합니다. 이 프로그램을 사용하면
Remote ORACLE 서버에 대한 연결을 시험할 수 있습니다. 이 프로그램은 연결되지
만 제3자 툴이 연결되지 않으면 해당 툴 업체에 문의하십시요.The last 16-bit ODBC driver was an Oracle7 driver. I don't believe it's certified for use with an 8i database.
Justin -
처음 사용자를 위한 SQL*NET V1/V2
제품 : SQL*NET
작성날짜 : 1997-10-10
처음 사용자를 위한 SQL*NET V1/V2
===============================
오라클에서는 기존의 통신프로토콜(TCP/IP 등)에 기반한 오라클 고유의 middleware
인 SQL*NET을 이용하여 client/server 간의 통신을 하게 됩니다.
sql*net은 v1,v2 의 두가지 버젼이 있는데 이것은 upgrade 차원의 개념이 아니고
독립적인 방식을 취하고 있기 때문에 서로간의 호환성이 없습니다.
따라서 client 에서 v1를 사용한다면 server에서도 v1을 지원해야만 접속이
가능합니다.
일반적으로는 서버와 클라이언트 양쪽에 sql*net v1,v2를 모두 다 인스톨
해놓고 사용합니다.
오라클 db 에 접속하려면 우선 db 를 startup 시켜야 하며 클라이언트
접속을 처리하기 위해서는 sql*net 프로세스도 함께 구동시켜야 합니다.
NT에서는 이들이 모두 제어판의 SERVICES에서 관리되므로 SERVICES에서 Oracle
이라는 문장이 들어 있는 모든 서비스들을 Started 상태로 기동시켜 주시면 됩니다.
단, v1 은 인스톨 후에 특별한 셋업과정이 필요없지만 v2의 경우는 간단한
셋업 과정이 필요합니다. (뒷부분 참조)
이렇게 해 둔 상태에서 client 에서 접속할 수 있습니다.
다음은 SQL*NET V1,V2를 사용하여 접속하는 방법입니다.
여기서 서버의 hostname은 krunix, <ORACLE SID>는 ORA7 이라고 가정합니다.
NT의 경우에는 DEFAULT로 <ORACLE SID>가 ORCL 입니다.
참고로 UNIX의 경우 <ORACLE SID>는 서버에 오라클 유저로 들어간 다음
echo $ORACLE_SID
라고 치면 확인할 수 있습니다.
그리고, 사용하는 유저는 오라클 인스톨시에 기본적으로 생성되는 scott 유저
(패스워드는 tiger)를 사용하도록 합니다.
그리고 hostname(krunix)가 들어가는 곳에 직접 ip address를 써 주어도 상관
없습니다 (접속 속도는 조금 빨라집니다)
========================
SQL*NET V1 으로 접속하기
========================
우선 서버에서 SQL*NET V1 프로세스를 구동하여야 합니다.
서버에 오라클 유저로 들어간 다음
tcpctl start
하면 됩니다.
NT의 경우에는 제어판의 서비스에서 OracleTCPListener가 기동된
상태이어야 합니다.
다음에 클라이언트에서는 다음과 같이 하여 접속을 할 수 있습니다.
역시 오라클 유저로 유닉스에 들어간 다음
sqlplus scott/tiger@t:krunix:ORA7
하면 접속이 됩니다.
PC에서 접속하는 경우에도 유사한 방법으로 하면 됩니다.
======================
SQL*NET V2 로 접속하기
======================
SQL*NET V2는 SQL*NET V1처럼 바로 사용할 수 없고 다음과 같이 간단한 셋업 과정을
거쳐야 합니다.
서버상에 오라클 유저로 접속한 다음,
1) Multi-threaded server 프로세스들을 먼저 기동을 하여야 한다.
기동하는 방법은 ORACLE_HOME/dbs/init<SID>.ora 화일에 다음과 같은 내용을
추가하고 DB 를 다시 startup 을 한다. <SID>를 ORA7이라고 가정하면 실제의
화일이름은 initORA7.ora 가 됩니다.
# Filename : $ORACLE_HOHE/dbs/init<SID>.ora
# Protocol : tcp
mts_dispatchers="tcp,3"
mts_max_dispatchers=10
mts_servers=2
mts_max_servers=10
mts_service=ORA7
mts_listener_address="(ADDRESS=(PROTOCOL=tcp)(port=1521)(host=krunix)"
mts_service 에는 <ORACLE SID>를 입력하는 것입니다.
2) /etc/services file 에 다음내용을 추가한다. services 화일은 Machine에
따라 디렉토리가 다를 수 있다. 이 작업은 root 유저로 합니다.
listener 1521/tcp
3) tnsnames.ora 및 listener.ora 를 작성한다. 이 화일들은 유닉스 환경변수를
TNS_ADMIN=$ORACLE_HOME/network/admin 와 같이 지정한 다음
$ORACLE_HOME/network/admin 디렉토리에 만들어 주면 된다.
예)
# File name : $ORACLE_HOME/network/admin/listener.ora
LISTENER =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = tcp)
(HOST = krunix)
(PORT=1521)
STARTUP_WAIT_TIME_LISTENER = 0
CONNECT_TIMEOUT_LISTENER = 0
TRACE_LEVEL_LISTENER = off
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = ORA7)
(ORACLE_HOME=/usr/oracle7)
여기서 <ORACLE SID>는 ORA7, ORACLE HOME DIRECTORY를 /usr/oracle7
이라고 가정하였습니다.
# Filename : $ORACLE_HOME/network/admin/tnsnames.ora
TORA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = tcp)
(HOST = krunix)
(PORT=1521)
(CONNECT_DATA =
(SID = ORA7)
4)listener 프로세스를 start 한다(오라클 유저로 START한다.)
$lsnrctl start
여기서 에러가 발생하면 listener.ora 가 잘못 만들어진 것입니다.
정상적으로 start가 되면 tnslsnr이라는 프로세스가 뜹니다.
5)클라이언트에 앞에서 만든 tnsnames.ora 화일을
$ORACLE_HOME/network/admin 디렉토리에 copy 한 다음
다음과 같이 접속한다.
sqlplus scott/tiger@TORA
=======================================================================
<PC의 SQLPLUS에서 접속>
SQL*Plus 등에서 username, password, connect string 주는 부분을 다음과 같이
주면 됩니다.
username scott
password tiger
connect string t:hostname:SID
여기서 hostname 대신에 server의 ip address 를 써도 되고 SID 부분은
WORKGROUP SERVER 라면 DEFAULT가 ORCL 입니다. 확인하려면 Unix 에 oracle
유저로 들어가서 env 를 쳐보시면 환경변수가 출력되는데 거기서 ORACLE_SID로
지정된 부분입니다.
v2 의 경우는 tnsnames.ora 라는 화일에 alias 와 관련정보를 기록한 다음
connect string에 alias 를 바로 주면 연결이 됩니다.
SQL*NET V2는 서버와 PC 양쪽에 간단하게 셋업을 해주셔야 합니다.
PC쪽은 서버쪽의 $ORACLE_HOME/network/admin 디렉토리에 있는 화일들을
모두 PC 의 C:\orawin\network\admin 디렉토리로 COPY 하기만 하면 됩니다.
그리고 connect 시에 connect string 으로 tnsnames.ora 에 등록한
service name(자료에는 TORA 로 되어 있음)을 주면 접속이 됩니다. 위와 같이
셋업을 하였을 경우라면 예를 들면 다음과 같습니다.
username scott
password tiger
connect string TORA
그리고 PC의 c:\orawin\network\admin 디렉토리의 sqlnet.ora 화일은 삭제하고
접속하시기 바랍니다.
<WINDOWS NT의 경우>
간단히 말씀드리면 V2의 경우에는 c:\orant\network\admin 디렉토리에 listener.ora
를 만들어 주어야 하고 PC의 c:\orawin\network\admin 디렉토리에는 tnsnames.ora
를 만들어 주어야 합니다.
NT는 인스톨 하게 되면 기본적으로 SQL*NET V1,V2 프로세스가 자동으로 서비스에
등록되어서 실행이 되기 때문에 서버쪽에서 특별히 셋업하실 것은 없고 클라이언
쪽만 셋업을 하시면 됩니다(V2만 셋업하면 됩니다.)Depending on how large is your database you can use either exp/imp utility to migrate the data after installing the Oracle8i on your O/S or Inplace db upgrade. Otherwise backup your current Oracle7.x release and install the Oracle8i Software only without the database. Open old database using the Oracle8i svrlmgrl utility. Upgrade using the upgrade scripts available in $ORACLE_HOME/rdbms directory. Also read the documentation for any additional information on issues on the upgrades.
I am not sure about the SQL Net versions, but SQL Net Version 2 should work against net8 listener. You could try v1 too.
Hope this helps
null -
제품 : SQL*NET
작성날짜 : 1997-10-10
Introduction
~~~~~~~~~~~~
For most problems you need to identify the relevant parts of a
connection to trace. To do this consider which scenario you are
having problems with and where tracing needs to be enabled.
Note that tracing produces a lot of output , especially at higher
trace levels.
There are 3 main areas of SQL*Net that can produce trace output:
1 = the SQL*Net 'client'
2 = the 'listener' process
3 = the SQL*Net 'server'.
a) Establishing a connection:
Client ----> Listener ----> Server
1 2 3
b) An established connection:
Client --------> Server
1 3
c) Opening a database link:
Client ----> Server ----> Listener -----> Server2
1 3 1 2 3
Note here that the Oracle server process is also a SQL*Net
client when it makes an outgoing call to a listener to
open a database link. Database links are OPENED when first
used. They should then remain open until closed.
d) An established database link:
Client ----> Server -----> Server2
1 3 1 3
In each case here there are several potential sampling points. You
should be able to identify quickly which of these scenarios matches
your setup. As these scenarios are likely to involve connections
between different machines you should remember that tracing for any
process is controlled by the configuration details that the process
reads WHEN IT IS STARTED. This is especially important when looking
at MTS connections as the SQL*Net server is the 'dispatcher' process.
Some dispatchers are started when the database instance is started
and others may start at a later time (on demand). Each dispatcher will
read their SQL*Net configuration WHEN THEY START.
7.2 Client Tracing
~~~~~~~~~~~~~~
For client TOOLS edit or create the file $HOME/.sqlnet.ora and add
the lines:
trace_level_client=16
trace_file_client=cli
trace_directory_client=/tmp # Or a known directory
trace_unique_client=true # Add '_pid' to trace filename
This will turn on FULL tracing for your user account only producing
output in a file called /tmp/cli_<PID>.trc .
(For some SQL*Net versions the file will be just /tmp/cli.trc)
For client 'ORACLE' process (as in the case of database links) put this
same information into $TNS_ADMIN/sqlnet.ora file.
On versions up to and including Oracle 7.0.16 client trace may not
add a process ID to the name of the trace file. This means two
processes may end up writing to the same trace file unless you
take care to control which processes write trace output to each file.
7.3 Listener Tracing
~~~~~~~~~~~~~~~~
Listener tracing can ONLY be configured in the listener.ora file.
Add the lines below to the listener.ora file:
trace_level_listener=16
trace_file_listener=listener
trace_directory_listener=/tmp # Or a known directory
This will define FULL listener tracing to the file /tmp/listener.trc.
You can enable this tracing by either:
lsnrctl reload
OR
lsnrctl stop;
lsnrctl start;
TCP/IP
~~~~~~
It is often useful to confirm that a listener is listening on a
specified address. Most Unix machines include a command called
'netstat' (Often in /etc or in /usr/etc). The command netstat -a
should list all TCP/IP end points on which a listener is listening.
Eg:
For a listener listening on HOST=... PORT=1580 there should be a
netstat entry of the form:
RecvQ SendQ Local Address Foreign Address TCP state
0 0 *.1580 *.* LISTEN
Note: Some versions of netstat will only list established connections
and not listen end points. See the man page on your machine.
7.4 Server Tracing
~~~~~~~~~~~~~~
Server side trace is not required as often as the other two traces
mainly because most problems are related to establishing a connection.
Once a connection has been established the client and server processes
are communicating. It is sometimes useful to see exactly what SQL
commands have been received by the server, and what data it has sent
back out.
The file $TNS_ADMIN/sqlnet.ora controls the server side tracing. Add
the lines below to this file:
trace_level_server=16
trace_file_server=server
trace_directory_server=/tmp # Or a known directory
Output should be sent to the file /tmp/server_<PID>.trc
Note: Server side tracing acts on the SQL*Net server side.
For dedicated connections this is the Oracle process on the
server machine.
For MTS connections this is the DISPATCHER and NOT the shared
server. Data is passed between the dispatcher and the shared
servers via the SGA and this does NOT involve SQL*Net.
It is also important to note that as a dispatcher handles
several client processes the dispatcher trace output can be a
mix of trace from many client processes making it VERY difficult
to follow. The general advice for such problems is:
a) See if the problem reproduces WITHOUT using MTS - if
so the trace is much cleaner
b) If a problem ONLY reproduces under MTS ensure the machine
is in a controlled environment so you can be sure that only
YOUR process is using the dispatcher.
7.5 Trace Summary
~~~~~~~~~~~~~
1) Identify where you need to trace.
2) Identify which files on which machines control tracing at these
points. Tracing is controlled in the following files:
Client Server Listener
~~~~~~ ~~~~~~ ~~~~~~~~
Files: $HOME/.sqlnet.ora sqlnet.ora listener.ora
sqlnet.ora
3) Add in the relevant trace parameters (See Below)
4) Restart any processes that need to read the new trace values.
Reload the listener as required.
5) Reproduce your problem
6) Save all your trace output immediately
7) Disable the tracing
7.6 Main Trace Parameters
~~~~~~~~~~~~~~~~~~~~~
trace_level_listener = off
trace_file_listener = Filename *1
trace_directory_listener = Directory *2
*1 Unquoted (") filenames will be translated into lower case.
*2 You CANNOT use environment variables in the Filename or Directory
name.
7.7 Diagnosing Trace output
~~~~~~~~~~~~~~~~~~~~~~~
Trace output can be very difficult to follow. Before looking at a
trace file make sure:
a) You are familiar with the sequence of events in setting up
a connection. SQL*Net connections follow a sequence of
events - you will need to determin where in the sequence
the problem occurs.
b) Do not be misled by error reports in the trace files. You
must follow the context of the errors - an error may be
quite valid at that point in a sequence. Eg: For client
connections a list of addresses to call is built - if the
first address yeilds no response the next address is tried.
This next address may yeild a response and the 'true' error
occurs at this point in the sequence.
c) Do not be misled by unusual 'Bequeath' connections in the
trace. If an error is received over SQL*Net the client
may use a "Bequeath" operation to spawn an oracle process
which it then uses to get the TEXT of the error. A very short
exchange of packets occurs and the bequethed process exits.
The 'TRUE' problem is likely to be before this bequeath
operation.
Useful trace 'tags':
The following are useful items to follow in trace files - these
are not guaranteed to be valid across all SQL*Net releases and
are for guidance only. Entries are assumed to be taken at trace
level 16 to allow data packets to be seen. This will produce a
LOT of trace output.
-<ERROR>-
Error information follows. Remember the error may be acceptable
osntns: Calling address
Shows address list constructed for a call OUT to a listener
nricall: Making call with following address information: ...
Shows the ACTUAL address being called from the above list
nsopen: entry
We are about to try and open a connection.
nsopen: transport is open
nsopen: error exit
A connection to the called address has been made / failed.
nsclose: ...
An established connection is being closed - check nearby
for errors.
nscall: redirected
The client has been redirected to a differenct address.
The next step should be to call the new address. The address
should appear in an earlier data packet.
nspsend / nsprecv
Outgoung / Incoming dataThis forum is for Oracle Migration Workbench issues, i.e. migration using the workbench from a non Oracle database to an Oracle database.
Here are some pointers that may be useful, but you may need to get more information elsewhere, for example Oracle Customer Support.
a Oracle 7.1 client (including your example) will connect to an Oracle 8.1.5 server.
Is the server correctly configured (can a client connect from another machine)?
Tracing can be turned on in the client, server and/or listener to get further information.
Turloch -
SQL*NET V1 FOR APPC/LU6.2 TEST
제품 : SQL*NET
작성날짜 : 1995-06-05
Olivetti system에서 SQL*Net V1 for APPC/LU6.2 test 결과입니다.
customer : 한국컴퓨터
Test System : Olivetti UNIX System 2대
O / S version : SVR4 2.4
1. Server Install
1.1 Shared Memory Parameter
SHMMAX8388608
SHMSEG6
SHMMIN1
SHMMNI100
1.2 Kernel Parameter
SVMMLIM0x7FFFFFFF
HVMMLIM0x7FFFFFFF
SFSZLIM0x7FFFFFFF
HFSZLIM0x7FFFFFFF
파라메터가 이보다 적으면 oracle kernel을 만들면서 에러가 발생함.
1.3 Oracle Server Install 시 relink option 에서 Yes 선택.
LU6.2를 사용하기 위해서 반드시 해주어야 함.
1.4 Version이 2.3이하인 경우 kernel 생성시 에러 발생.
2. SQL*Net Install
2.1 Transaction Program 을 Generate.
$ $ORACLE_HOME/bin/gentpn ORACLE_SID Max_RU_size Min_RU_size
RU_size는 256 에서 1024 범위내에서 set 해야함.
ex) $ gentpn ORA7 512 512
generate 후 TPORA7 이라는 Transaction Program 이 generate
되었다는 message가 떨어짐
TP name은 ORACLE_SID 앞에 TP가 붙어서 생성.
generate후 $ORACLE_HOME/lu62/server directory 에 TPORA7
이라는 binary file이 생성.
2.2 TPORA7을 APPC Services에 등록.
sysadm tool을 이용하여 등록.
TP_Name : TPORA7
TP_Filespec : /home/oracle7/lu62/server/TPORA7
3. Connection.
3.1 Connect String
- @L:remote_LU_name::local_LU_name:mode_name:TP_name
remote_LU_name, local_LU_name, mode_name 의 value는 APPC
service에 등록이 되어있슴.
ex) $ sqlplus scott/tiger@L:BBBBBBBB::AAAAAAAA:CCCCCCCC:TPORA7
4. 특이사항.
-. gentpn시 Max_RU_size와 Min_RU_size 256으로 set:
sqlplus에서 접속시 SQL> prompt가 떨어지지 않고 waiting 상태.
반면 상대방 remote system에 session 은 연결됨.
-. gentpn시 Max_RU_size와 Min_RU_size 512으로 set:
sqlplus에서 접속은 됨.
그러나 512를 넘어서는 데이타일경우에는 ORA-6412 에러가 떨어지면서
disconnect 가 되어버림. (ORA-6412:bad read length)
remote에서 select 된 데이타는 local system 까지는 가져옴.
data size 는 548.
sqlplus 에서 array size를 '1'로 하면 정상적으로 작동.
ex) 1). select empno, ename from emp; ----> 정상
2). select * from emp; ----> disconnect
3). select empno, ename, hiredate, sal,
mgr, comm, deptno
from emp; ----> disconnect
4). set array 1
select * from emp; ----> 정상
-. gentpn시 Max_RU_size와 Min_RU_size 1024으로 set:
데이타 사이즈가 1024를 넘어설경우 동일한 현상발생.great to hear some one talking of sql*net for dos
hi
you can't connect from v1 to net8
you can conn from v1 to v2
don't start net8
on the server
start sql*net 2.?? at the server
hope this helps
I need drivers for sql*net on dos
where can i down load these from
thnkx
Adrian Maier (guest) wrote:
: Here is my problem:
: I have some DOS applications written for Oracle 6 for DOS.
: I want that these connect to an Oracle Server using SQL*Net.
: For the start, I want to connect to the server with sqlplus,
: from DOS. For testing I have a small TCP/IP network with two
: computers:
: 1. the SERVER, running Linux(Debian 2.1) and Oracle 8.0.5
: 2. the CLIENT, running MSDOS, PSNFS as networking software
: and SQL*Net Client v1 for DOS.
: Question: Is this version of SQl*Net client compatible with
: Net8 which comes with Oracle8?
: From win95 I've bben able to connect to the server, so I
: believe the serevr is correctly configured. When I'm trying
: to connect from DOS with sqlplus, the ethernet card's leds
: blink two or three times, which means that some data is
: transmitted through network. After that, sqlplus waits for
: an indefinite period of time.
: If I stop the listener, sqlplus generates the error ORA-06136
: and asks for a new username. If I don't stop the listener,
: sqlplus remains blocked.
: In SQLNet documentation I've found:
: "ORA-06136: Error during connection handshake.
: Cause: The destination server was unable to obtain enough
: information to complete the connection.
: Action: Check that the configuration of the server is correct,
: blah, blah .... "
: I think that the server might not understand this version
: of client, but Net8 should be "backward compatible"!
: SQL*Net client v1 was the only DOS version I could find.
: Are there any other newer DOS SQl*Net clients available?
: If you have any idea about what could I do, please let me know.
: Best regards,
: Adrian Maier
: [email protected]
null -
I am New to oracle please tell me how and from where, i can install sql*net client.
thanksAssuming you are on Windows, you can download the client installable from
http://download.oracle.com/otn/nt/oracle10g/10201/10201_client_win32.zip -- for Oracle 10g client
http://download.oracle.com/otn/nt/oracle11g/win32_11gR1_client.zip -- for Oracle 11g client
If you are looking for any other version, please mention the same. -
WINDOWS 용 SQL*NET 사용 시 TNS-12545
제품 : SQL*NET
작성날짜 : 1995-11-10
WINDOWS 용 SQL*NET 사용 시 TNS-12545
====================================
에러 TNS-12545 "TNS:name lookup failure"는 TCP/IP 프로토콜 어댑터를 가진
SQL*NET V2를 통해 툴에서 연결하려는데 TCP/IP 프로토콜 어댑터가 TNSNAMES.ORA
파일의 ADDRESS 부분에 제공된 호스트 이름을 분석할 수 없을 때 발생합니다.
TNS-12545는 SQL*NET TCP/IP V1에서 발생하는
ORA-6105 "NETTCP:remote host is unknown"과 비슷합니다.
* TNS-12545를 진단하는 단계
1. 호스트 이름을 이용하여 호스트에 대해 TELNET과 PING을 실행해 보십시요. 즉
PING <server> 또는 TELNET <server>를 실행해 보십시요. 호스트 이름을
사용하여 PING이나 TELNET을 성공적으로 실행할 수 없으면, 먼저 TCP/IP 구성을
점검해야 합니다. PING나 TELNET의 WINDOWS 버전을 사용하여 해 보십시요. 몇몇
DOS 버전이 잘 작동하더라도 WINDOWS 구성에 문제가 있으면 WINDOWS 버전에서
에러가 발생할 수 있습니다.
2. 서버에서 루프백을 수행하여 서버쪽이 정확하게 설정되었는지 확인하십시오.
루프백을 수행하려면 데이타베이스가 있는 MACHINE에서 아무 툴이나 호출하고,
TNSNAMES.ORA에 WINDOWS 클라이언트에 사용한 것과 같은 ADDRESS 매개 변수를
사용하여 SQL*NET V2를 통해 데이타베이스에 연결해 보십시요.
3. 다음에는 사용자의 TCP/IP 소프트웨어가 IP 주소의 이름 분석을 위해 PC에서
DOMAIN NAME SERVICE(DNS)를 사용하는지 아니면 파일 찾아보기를 사용하는지
점검하십시요.
4. DNS를 사용한다면, DNS에 해당하는 모든 드라이버를 올리도록 하십시요. 예를
들어, SUN PC/NFS는 RNMNIS.EXE를 올려야만 Naming Information Service를
사용할 수 있게 됩니다.
5. DNS를 사용하지 않는다면, HOST 파일에 연결해야 할 호스트의 항목이 있는
지 확인하고, 만약 없으면 추가하십시요. WINDOWS용 TCP/IP 어댑터는 원래
TCP/IP 업체가 예상한 디렉토리에 상주하는 HOST 화일을 사용합니다. HOST
파일의 각 항목 뒤에는 반드시 키리지 리턴을 넣어야 합니다. 또한 그러한
서비스에 필요한 드라이버를 모두 점검해야 합니다. 예를 들어, SUN PC/NFS는
그러한 서비스를 올리려면 RNMFILE.EXE가 필요합니다.
6. WINDOWS 호출을 사용하지 않고 open() 호출을 사용했기 때문에 파일 핸들이
초과할 수 있습니다. SQL*NET V1은 여기에 해당하지 않습니다. 이 버그는 버전
2.1.5에 와서 해결되었습니다.
7. 연결을 시도하여 여전히 TNS-12545가 나오면, TNSNAMES.ORA 파일의 ADDRESS
부분 아래에 있는 HOST 매개 변수에 호스트 이름을 지정하지 말고 IP 주소를
지정하는 것도 한 가지 해결책이 될 수 있습니다. 다음 예를 참조하십시요.
HOST=139.141.61.64I've downloaded 11i.10.2 from the edelivery site, and unzipped all files to E:, so
my staging area looks like E:\startCD, E:\oraDB, etc.You have to correct the set up of the stage area directory. The installation file system must contain a directory, Stage11i, in which the downloaded files will be unzipped. The file structure under that top-level directory will be automatically created when unzipping the files.
So, all what you need to do is the following:
- Create new directory E:\Stage11i
- Place all the zip files you have downloaded under this directory
- Unizip the files within this directory
By the end, you should have a directory structure similar to the following:
E:\Stage11i\startCD
E:\Stage11i\oraDB
E:\Stage11i\oraAppDB
E:\Stage11i\oraiAS
E:\Stage11i\oraApps
E:\Stage11i\oraNLS
Run Rapid Install from the Stage11i directory. -
Can't connect to sql*net, ORA-12638: Credential retrieval failed
after installed oracle9i, I can use sqlplus, but when I try to use sql navigator, I can't connect to sql*net.
I found out the following error message in logfile:
Fatal NI connect error 12638, connecting to:
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=BEQ)
(PROGRAM=oracle)
(ARGV0=oracleoms)
(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))'))
(CONNECT_DATA=(SID=oms)(CID=(PROGRAM=c:\oracle\ora92\bin\ORACLE.EXE)(HOST=JZQGG31)(USER=OraUser))))
VERSION INFORMATION:
TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
Oracle Bequeath NT Protocol Adapter for 32-bit Windows: Version 9.2.0.1.0 - Production
Time: 11-MAR-2004 17:04:17
Tracing not turned on.
Tns error struct:
nr err code: 0
ns main err code: 12638
TNS-12638: Credential retrieval failed
ns secondary err code: 0
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0
=============================================
Hope somebody can help me! Thanks!change in sqlnet.ora file
find under oracle home\network\admin\sqlnet
and
SQLNET.AUTHENTICATION_SERVICES = (NTS)
CHANGE TO
SQLNET.AUTHENTICATION_SERVICES = (NONE)
hope it will solve u r problem
kuljeet pal singh
Maybe you are looking for
-
i have an iphone 3g with 3.1.2 os. i had jsut dropped it today and and it will say no service frequently and other times it will have full bars. I have always hard service in the area I have lived in. I had tried restoring the network settings , rest
-
What can I expect in switching from a PC (Sony Vaio) to Mac laptop?
I plan to purchase a new 14" iBook and use it to take my online classes, as well as archive photos of my artwork. Soon after, I'd like to use it to maintain the website I will be creating. What sort of transitions or problems might I expect with the
-
Hi Experts, Please Clear my confusion regarding the below points..... 1. Previousy based on the vendor payment we are doing the transfer from interim GL to Target GL account., Now rules have benn changed, we can use based on accrual(Irrespective of p
-
How to instal screen saver on mac?
how to instal screen saver on mac?
-
Smooth transition between frames
Hi. Say If I have an animation which runs to frame 80 and the loops. On a button press, it goes to frame 81 and continues from there. Currently, when the button is pressed, there is a very noticable jump from the current frame to frame 81. The lo