set arraysize 200 set load batch_rows 200 UNLOAD TABLE SCOTT.EMP DIR /datadisk1/exportDo not use semicolon after the end of the command!
Minimalistic Oracle contains a collection of practical examples from my encounters with Oracle technologies. When relevant, I also write about other technologies, like Linux or PostgreSQL. Many of the posts starts with "how to" since they derive directly from my own personal experience. My goal is to provide simple examples, so that they can be easily adapted to other situations.
Showing posts with label SQLcl. Show all posts
Showing posts with label SQLcl. Show all posts
Thursday, November 20, 2025
How to unload rows in an Oracle database to disk using sqlcl
In sqlcl, execute these lines to unload SCOTT.EMP to disk:
Tuesday, June 6, 2023
How to use sqlcl with / as sysdba
Creds to the findings of Rodrigo Jorge:
Make sure the environment variable LD_LIBRARY_PATH is set, and if so, includes $ORACLE_HOME/lib:
Make sure the environment variable LD_LIBRARY_PATH is set, and if so, includes $ORACLE_HOME/lib:
oracle@testserver01.oric.no:[testdb01]# export LD_LIBRARY_PATH=$ORACLE_HOME/libThe following files are important for sqlcl to work:
cd $ORACLE_HOME/lib ls -la *ocijdbc19* -rw-r--r-- 1 oracle dba 166082 Apr 5 2019 libocijdbc19.a -rw-r--r-- 1 oracle dba 1812344 Apr 6 17:24 libocijdbc19_g.so -rw-r--r-- 1 oracle dba 153648 Apr 6 17:24 libocijdbc19.soConnect with sqlcl as sysdba, just the way you used to with sqlplus:
sql / as sysdba SQLcl: Release 21.4 Production on Tue Jun 06 08:46:27 2023 Copyright (c) 1982, 2023, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.19.0.0.0
Wednesday, August 18, 2021
Solution for no ocijdbc18 in java.library.path when using sqlcl
sqlnet.ora:
tnsnames.ora
Using tnsping:
My experience is that sqlcl doesn't seem to accept multiple tnsnames.ora aliases.
Solution: Split up the tnsnames.ora entry in two different entries.
Change it from
to
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) NAMES.DEFAULT_DOMAIN = oric.no
testdb01,testdb01.oric.no =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = testserver.oric.no)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testdb01)
)
)
Using tnsping:
C:\>tnsping testdb01
TNS Ping Utility for 64-bit Windows: Version 19.0.0.0.0 - Production on 17-AUG-2021 12:42:14
Used parameter files:
C:\app\client\vegard\network\admin\sqlnet.ora
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = testserver.oric.no)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = testdb01)))
OK (40 msec)
Using sqlplus:
C:\>sqlplus system/mypassword@testdb01 SQL*Plus: Release 19.0.0.0.0 - Production on Tue Aug 17 12:39:47 2021 Version 19.3.0.0.0 Last Successful login time: Tue Aug 17 2021 12:36:35 +02:00 Connected to: Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Version 18.14.0.0.0Using sqlcl:
C:\>sql.exe system/mypassword@testdb01
SQLcl: Release 19.2.1 Production on Tue Aug 17 12:44:36 2021
Copyright (c) 1982, 2021, Oracle. All rights reserved.
USER = system
URL = jdbc:oracle:oci8:@testdb01
Error Message = no ocijdbc18 in java.library.path
USER = system
URL = jdbc:oracle:thin:@testdb01
Error Message = IO Error: could not resolve the connect identifier "testdb01
USER = system
URL = jdbc:oracle:thin:@testdb01:1521/testdb01
Error Message = IO Error: could not resolve the connect identifier "testdb01:1521/testdb01"
Username? (RETRYING) ('system/*********@testdb01'?)
Why is sqlcl having trouble connecting, when the listener is accepting requests and connections over sqlplus are indeed accepted?
My experience is that sqlcl doesn't seem to accept multiple tnsnames.ora aliases.
Solution: Split up the tnsnames.ora entry in two different entries.
Change it from
testdb01, testdb01.oric.no =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = testserver.oric.no)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testdb01)
)
)
testdb01 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = testserver.oric.no)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testdb01)
)
)
testdb01.oric.no =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = testserver.oric.no)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testdb01)
)
)
Subscribe to:
Comments (Atom)