In this article you will learn how to setup sqlcl in your macbook -
Step 1) Download the zip file from below url -
https://www.oracle.com/in/database/sqldeveloper/technologies/sqlcl/download/
Step 2) Go to the destination now -
base) karandodwal@Karans-MacBook-Air Downloads % pwd
/Users/karandodwal/Downloads
(base) karandodwal@Karans-MacBook-Air Downloads % ls -ltr sqlcl-24.4.1.042.1221.zip
-rw-r--r--@ 1 karandodwal staff 92394919 22 Feb 23:05 sqlcl-24.4.1.042.1221.zip
Step 3 ) Unzip the software now
unzip sqlcl-24.4.1.042.1221.zip
Archive: sqlcl-24.4.1.042.1221.zip
creating: sqlcl/
creating: sqlcl/bin/
creating: sqlcl/lib/
creating: sqlcl/lib/ext/
inflating: sqlcl/NOTICES.txt
inflating: sqlcl/lib/hk2-api.jar
inflating: sqlcl/LICENSE.txt
inflating: sqlcl/lib/javassist.jar
inflating: sqlcl/THIRD-PARTY-LICENSES.txt
inflating: sqlcl/lib/jersey-apache-connector.jar
inflating: sqlcl/lib/sshd-contrib.jar
inflating: sqlcl/24.4.1.042.1221
inflating: sqlcl/lib/httpclient.jar
inflating: sqlcl/bin/version.txt
inflating: sqlcl/lib/httpcore.jar
inflating: sqlcl/bin/dependencies.txt
inflating: sqlcl/lib/jackson-datatype-jsr310.jar
inflating: sqlcl/bin/sql
inflating: sqlcl/lib/jackson-databind.jar
inflating: sqlcl/bin/sql.exe
inflating: sqlcl/lib/vavr-match.jar
inflating: sqlcl/lib/oci-java-sdk-databasetools.jar
inflating: sqlcl/lib/pom.xml
inflating: sqlcl/lib/oci-java-sdk-common.jar
inflating: sqlcl/lib/ext/dbtools-cpat.jar
inflating: sqlcl/lib/oci-java-sdk-identity.jar
inflating: sqlcl/lib/ext/cpat.jar
inflating: sqlcl/lib/ext/dbtools-data.jar
inflating: sqlcl/lib/ext/poi.jar
inflating: sqlcl/lib/ext/poi-ooxml.jar
inflating: sqlcl/lib/ext/poi-ooxml-lite.jar
inflating: sqlcl/lib/ext/xmlbeans.jar
inflating: sqlcl/lib/ext/commons-collections4.jar
inflating: sqlcl/lib/ext/log4j-api-2.20.0.jar
inflating: sqlcl/lib/ext/log4j-core-2.20.0.jar
inflating: sqlcl/lib/ext/dbtools-datapump.jar
inflating: sqlcl/lib/ext/dbtools-apex.jar
inflating: sqlcl/lib/vavr.jar
inflating: sqlcl/lib/ext/commons-lang3.jar
inflating: sqlcl/lib/ext/text-tree.jar
inflating: sqlcl/lib/bcpkix-jdk15to18.jar
inflating: sqlcl/lib/ext/commons-text.jar
inflating: sqlcl/lib/sshd-sftp.jar
inflating: sqlcl/lib/ext/json-flattener.jar
inflating: sqlcl/lib/bcprov-jdk15to18.jar
inflating: sqlcl/lib/ext/json-base.jar
inflating: sqlcl/lib/resilience4j-circuitbreaker.jar
inflating: sqlcl/lib/ext/commons-compress.jar
inflating: sqlcl/lib/ext/commons-codec.jar
inflating: sqlcl/lib/ext/opencsv.jar
inflating: sqlcl/lib/ext/snakeyaml.jar
inflating: sqlcl/lib/ext/dbtools-liquibase.jar
inflating: sqlcl/lib/ext/liquibase-core.jar
inflating: sqlcl/lib/ext/dbtools-dg.jar
inflating: sqlcl/lib/resilience4j-core.jar
inflating: sqlcl/lib/ext/dbtools-aq.jar
inflating: sqlcl/lib/ext/dbtools-blockchain.jar
inflating: sqlcl/lib/sshd-scp.jar
inflating: sqlcl/lib/ext/dbtools-modeler-cli-ext.jar
inflating: sqlcl/lib/oci-java-sdk-secrets.jar
inflating: sqlcl/lib/ext/dbtools-modeler-common.jar
inflating: sqlcl/lib/ext/dbtools-jobs.jar
inflating: sqlcl/lib/oci-java-sdk-bastion.jar
inflating: sqlcl/lib/ext/dbtools-copy.jar
inflating: sqlcl/lib/sshd-osgi.jar
inflating: sqlcl/lib/ext/dbtools-sqlcl-awr-extension.jar
inflating: sqlcl/lib/oci-java-sdk-workrequests.jar
inflating: sqlcl/lib/ext/pushd-popd-dirs.jar
inflating: sqlcl/lib/sshd-putty.jar
inflating: sqlcl/lib/ext/dbtools-project.jar
inflating: sqlcl/lib/ext/org.eclipse.jgit.jar
inflating: sqlcl/lib/ext/dbtools-mdb.jar
inflating: sqlcl/lib/ext/ucanaccess.jar
inflating: sqlcl/lib/ext/jackcess.jar
inflating: sqlcl/lib/ext/hsqldb.jar
inflating: sqlcl/lib/ext/dbtools-mle-command-extension.jar
inflating: sqlcl/lib/dbtools-sqlcl.jar
inflating: sqlcl/lib/xmlparserv2_sans_jaxp_services.jar
inflating: sqlcl/lib/antlr-runtime.jar
inflating: sqlcl/lib/antlr4-runtime.jar
inflating: sqlcl/lib/jakarta.json-api.jar
inflating: sqlcl/lib/parsson.jar
inflating: sqlcl/lib/dbtools-core.jar
inflating: sqlcl/lib/ojdbc11.jar
inflating: sqlcl/lib/xdb.jar
inflating: sqlcl/lib/dbtools-arbori.jar
inflating: sqlcl/lib/sqlcl-jline.jar
inflating: sqlcl/lib/jansi.jar
inflating: sqlcl/lib/jline.jar
inflating: sqlcl/lib/dbtools-net.jar
inflating: sqlcl/lib/jackson-annotations.jar
inflating: sqlcl/lib/jackson-core.jar
inflating: sqlcl/lib/jackson-jr-objects.jar
inflating: sqlcl/lib/jackson-jr-stree.jar
inflating: sqlcl/lib/low-level-api.jar
inflating: sqlcl/lib/dbtools-common.jar
inflating: sqlcl/lib/ucp11.jar
inflating: sqlcl/lib/guava.jar
inflating: sqlcl/lib/orai18n.jar
inflating: sqlcl/lib/orai18n-utility.jar
inflating: sqlcl/lib/orai18n-mapping.jar
inflating: sqlcl/lib/oraclepki.jar
inflating: sqlcl/lib/ST4.jar
inflating: sqlcl/lib/orajsoda.jar
inflating: sqlcl/lib/commons-io.jar
inflating: sqlcl/lib/dbtools-http.jar
inflating: sqlcl/lib/slf4j-jdk14.jar
inflating: sqlcl/lib/slf4j-api.jar
inflating: sqlcl/lib/httpclient5.jar
inflating: sqlcl/lib/httpcore5.jar
inflating: sqlcl/lib/httpcore5-h2.jar
inflating: sqlcl/lib/dbtools-oci.jar
inflating: sqlcl/lib/oci-java-sdk-common-httpclient-jersey3.jar
inflating: sqlcl/lib/oci-java-sdk-common-httpclient.jar
inflating: sqlcl/lib/jakarta.ws.rs-api.jar
inflating: sqlcl/lib/oci-java-sdk-database.jar
inflating: sqlcl/lib/jakarta.annotation-api.jar
inflating: sqlcl/lib/jersey-common.jar
inflating: sqlcl/lib/jakarta.inject-api.jar
inflating: sqlcl/lib/osgi-resource-locator.jar
inflating: sqlcl/lib/jersey-client.jar
inflating: sqlcl/lib/jersey-media-json-jackson.jar
inflating: sqlcl/lib/hk2-utils.jar
inflating: sqlcl/lib/jersey-entity-filtering.jar
inflating: sqlcl/lib/oci-java-sdk-circuitbreaker.jar
inflating: sqlcl/lib/jcl-over-slf4j.jar
inflating: sqlcl/lib/jdbcrest.jar
inflating: sqlcl/lib/jackson-module-jakarta-xmlbind-annotations.jar
inflating: sqlcl/lib/jakarta.activation.jar
inflating: sqlcl/lib/jakarta.xml.bind-api.jar
inflating: sqlcl/lib/jersey-hk2.jar
inflating: sqlcl/lib/hk2-locator.jar
inflating: sqlcl/lib/aopalliance-repackaged.jar
inflating: sqlcl/lib/eddsa.jar
Step 4) launch sqlcl now, make sure your path is correct i.e - /Users/karandodwal/git/sql/sqlcl/bin should be the value of the $PATH -
% echo $PATH
/Users/karandodwal/git/sql/sqlcl/bin
Step 5) Launch sqlcl now with command sql , the key thing to note us sql is command because in the bin folder you will see sql file as an executable as -
cd /Users/karandodwal/git/sql/sqlcl/bin
(base) karandodwal@Karans-MacBook-Air bin % ls -ltr
total 416
-rwxr-xr-x@ 1 karandodwal staff 29954 11 Feb 12:20 sql
-rw-r-----@ 1 karandodwal staff 152 11 Feb 12:23 version.txt
-rw-r-----@ 1 karandodwal staff 3704 11 Feb 12:23 dependencies.txt
-rwxr-xr-x@ 1 karandodwal staff 169984 11 Feb 12:24 sql.exe
-rw-------@ 1 karandodwal staff 0 22 Feb 23:10 history.log
Now fire the sql command with ./sql or sql as our path is already sorted above.
(base) karandodwal@Karans-MacBook-Air ~ % sql
SQLcl: Release 24.4 Production on Sun Feb 23 00:07:50 2025
Copyright (c) 1982, 2025, Oracle. All rights reserved.
Username? (''?)
# In the next article you will learn how to connect to autonomous database using sqlcl, stay tuned.