Listener / Tnsname.ora
1# Check if listner is present
2ps -edf | grep lsn
3
4# Prompt Listner
5lsnrctl
6LSNRCTL> help
7The following operations are available
8An asterisk (*) denotes a modifier or extended command:
9
10start stop status services
11version reload save_config trace
12spawn quit exit set*
13show*
14
15lsnrctl status
16lsnrctl start
17
18# Logs
19less /opt/oracle/product/12c/db/network/admin/listener.ora
Local Listner
1# in Oracle prompt
2show parameter listener;
3NAME TYPE VALUE
4------------------------------------ ----------- ------------------------------
5listener_networks string
6local_listener string LISTENER_TOTO
7remote_listener string
- First LISTENER_TOTO must be defined in the
tnsnames.ora
.
1# in Oracle prompt
2alter system set local_listener='LISTENER_TOTO' scope=both;
3alter system register;
1lsnrctl status
2
3LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 29-APR-2021 18:58:48
4Copyright (c) 1991, 2016, Oracle. All rights reserved.
5Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
6STATUS of the LISTENER
7------------------------
8Alias LISTENER
9Version TNSLSNR for Linux: Version 12.2.0.1.0 - Production
10Start Date 29-APR-2021 18:11:13
11Uptime 0 days 0 hr. 47 min. 34 sec
12Trace Level off
13Security ON: Local OS Authentication
14SNMP OFF
15Listener Log File /u01/oracle/base/diag/tnslsnr/myhost/listener/alert/log.xml
16Listening Endpoints Summary...
17 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=myhost.example.com)(PORT=1521)))
18Services Summary...
19Service "+ASM" has 1 instance(s).
20 Instance "+ASM", status READY, has 1 handler(s) for this service...
21Service "+ASM_DATA" has 1 instance(s).
22 Instance "+ASM", status READY, has 1 handler(s) for this service...
23Service "+ASM_FRA" has 1 instance(s).
24 Instance "+ASM", status READY, has 1 handler(s) for this service...
25Service "IANA" has 1 instance(s).
26 Instance "IANA", status READY, has 1 handler(s) for this service...
27Service "IANAXDB" has 1 instance(s).
28 Instance "IANA", status READY, has 1 handler(s) for this service...
29The command completed successfully
Static Listner: TNSnames.ORA
Services have to be listed in tnsnames.ora
of client hosts.
by default: $ORACLE_HOME/network/admin/.
change take effect after listner restart.
- Example of
tnsnames.ora
used byclient SQLplus
andTNSping
:
1XE =
2 (DESCRIPTION =
3 (ADDRESS = (PROTOCOL = TCP)(HOST = shigerum-pc)(PORT = 1521))
4 (CONNECT_DATA =
5 (SERVER = DEDICATED)
6 (SERVICE_NAME = XE)
7 )
8 )
- An other with service name:
1# vi ${ORACLE_HOME}/network/admin/tnsnames.ora
2# vi ${ORACLE_HOME}/client/network/admin/tnsnames.ora
3LOCAL =
4 (DESCRIPTION =
5 (ADDRESS = (PROTOCOL= TCP)(Host= 10.0.0.3)(Port= 1521))
6 (CONNECT_DATA = (SID = REMOTE))
7 )
8
9# then connect with:
10sqlplus user/password@LOCAL
[Debug] TNSping
- After defining on app server
tnsnames.ora
and make sure network is open:
1# tnsping <service_name> <count>
2$ tnsping GRACELANV8_GRA901m 5
3
4TNS Ping Utility for Solaris: Version 9.2.0.1.0 - Production on 03-JAN-2003 14:47:09
5
6Copyright (c) 1997 Oracle Corporation. All rights reserved.
7
8Used parameter files:
9/usr/oracle/9.2.0/network/admin/sqlnet.ora
10
11Used TNSNAMES adapter to resolve the alias
12Attempting to contact (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=gracelan)
13(PORT=1525)) (CONNECT_DATA= (SID=GRA901m)))
14OK (80 msec)
15OK (10 msec)
16OK (10 msec)
17OK (0 msec)
18OK (10 msec)
NB - first result longer since:
- read alias GRACELANV8_GRA901m from tnsnames.ora
- resolv dns
- connect
- second 10ms since all cache
SQLplus Connexion
- Connect as root (sysdba) in local
1su - oracle
2sqlplus <Login>/<pwd> as sysdba
- Connect silent mode (avoid banner)
1sqlplus -s / as sysdba
- Connect local specific db
1# sid correspond to a $ORACLE_SID
2sqlplus user/password@sid
3sqlplus 'system/PWD'@sid as sysdba
- Connect to distante db
1sqlplus user/password@'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.0.2)(PORT=1521)))(CONNECT_DATA=(SID=REMOTE)))'
2
3# Service defined in tnsnames.ora (SERVICE_NAME = XE)
4sqlplus login/mdp@service
SQLplus scripting
- Execute Script:
1sqlplus username/password@databasename @"c:\my_script.sql"
- Execute Command line:
1sqlplus username/password@database < "EXECUTE some_proc /"
- Execute Command in multi-lines:
1sqlplus username/password@database <<EOF
2EXECUTE some_proc;
3EXIT;
4EOF
- Another example:
1###########
2export ORACLE_HOME=/oracleClient/app/oracle/product/version
3export DBUSER=fooUser
4export DBPASSWD=fooPW
5export DBNAME=fooSchema
6echo "select * from someTable;" | $ORACLE_HOME/bin/sqlplus $DBUSER/$DBPASSWD@$DBNAME
Variables in SQLplus
two types:
- user vars - used in SQL requests and for SQLplus internal usage.
1-- # Users vars can be call back with `&my_variable`
2DEF[INE] [my_variable = what_inside]
3
4-- # List all vars
5DEF
6
7-- # Delete a var
8UNDEF
- link variables for PL/SQL commands
1-- # Define a link variable
2VAR[IABLE] [nom [NUMBER | CHAR(n)]]
3
4-- # Show content of the var
5VARIABLE my_var
6
7-- # Inside sql script can be used with :my_var
Buffer
1sql> LIST or L -- list the last command
2sql> RUN or / -- rerun the last command
3sql> define_ed=vi -- then ed command open vi with last command.
4sql> set history on
5sql> history
6sql> S[AVE] save_output_in_file {[CREATE]|[REPLACE]|[APPEND]} // file is create with output of the sql command
Parameters
1SET pagesize 100
2SET LINESIZE 300
3SET TIMING ON -- get the request timing
4SET TIME ON -- get time before command is launch
5SET SQLPROMPT "_user on _connect_identifier> " -- change prompt with user and instance name
6SET TRIMSPOOL {ON|OFF}
7
8set lines 200 pages 2000
9col COMP_NAME for a60
10COLUMN my_research_column FORMAT A25
11
12-- save parameters for next login
13<ORACLE_HOME>/sqlplus/admin/glogin.sql
Comments