暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SQL*Plus工具的继任者--Oracle sqlcl

DBA巫师 2024-04-18
326

点击上方蓝字关注我们

加入我们,你将获得不仅仅是知识,还能享受免费GPT4-tubro微信机器人+Oracle MOS免费查询+ACE大佬交流很多志同道合的小伙伴,欢迎加群一起探讨、一起学习、一起进步!

扫描下方联系方式二维码添加作者微信,回复“加入DBA群”即可开启你的数据库和IT学习之旅。


简 介 



  Oracle SQLcl(SQL Command Line)是Oracle提供的一款现代化的命令行工具,用于与Oracle数据库交互。它是传统SQL*Plus工具的继任者,添加了许多新功能和改进,使得与数据库的交互更加高效和用户友好。SQLcl构建于Java基础之上,支持所有主流操作系统,包括Windows、Linux和macOS。

主要功能和特点



1. 兼容性:

    SQLcl 完全兼容 SQL*Plus,这意味着所有SQL*Plus脚本和命令在 SQLcl 中无需修改即可运行。

2. 优化的命令行界面:

  • 支持命令自动补全和语法高亮,提高了命令行操作的便利性和可读性。

  •  支持命令历史功能,可以方便地回溯和重新执行以前的命令。

  • 提供更丰富的格式化选项,使输出结果更易于阅读和分析。

3. 扩展命令:

  • 引入了新的命令,如 `info`、`history`、`cd`、`ls` 等,增强了与数据库对象的互动。

  •  `info` 命令用于快速查看表、视图、索引等对象的详细信息,类似于GUI工具中的对象浏览器。

  •  `history` 命令可以查看和重新执行历史命令。

4. 脚本执行和调试:

  • 支持JavaScript和SQL的混合编写,可在SQLcl中直接运行JavaScript代码。

  •  提供调试工具,帮助检查和修正SQL脚本中的错误。

5. 输出格式化:

  • 支持多种输出格式,包括 CSV、HTML、JSON、XML、Delimited 和 Fixed 等,方便数据的进一步处理和展示。

  • 用户可以通过设置来调整输出格式,以适应不同的报告和数据分析需求。

6. 集成开发环境支持:

    虽然是命令行工具,SQLcl 也可以与Oracle SQL Developer无缝集成,提供图形界面和命令行操作的灵活选择。

7. 轻量级工具:

    作为一个基于Java的工具,SQLcl 可以在任何支持Java的平台上运行,且安装简单,便于携带和使用。


使用场景



数据库管理:数据库管理员可以使用SQLcl进行数据库的日常管理任务,如执行SQL脚本、管理用户权限、监控数据库状态等。

开发和测试:开发者可以利用SQLcl进行数据库查询、脚本调试和性能优化等工作。

自动化任务:SQLcl的命令行特性使其非常适合用于自动化脚本和批处理任务,可以简化复杂的数据库操作流程。

安装步骤与用例



    下载地址:
    https://pan.baidu.com/s/14M6PuQ1lwrBWHfCqQR6unw?pwd=1234
    提取码:1234

    安装前注意:SQLcl需要Java 11及以上版本才能运行。

    1、解压sqlcl安装包

      [root@localhost oracle]# unzip sqlcl-24.1.0.087.0929.zip
      ##修改sqlcl工具的属组
      [root@localhost oracle]# chown oracle:oinstall -R sqlcl

      2、运行sqlcl

        [root@localhost oswbb]# su - oracle
        [oracle@localhost.localdomain:/home/oracle]$cd u01/app/oracle/sqlcl/bin
        [oracle@localhost.localdomain:/u01/app/oracle/sqlcl/bin]$ls -lsrt
        total 220
        -rw-rw-rw- 1 oracle oinstall   3198 Mar 27 09:30 dependencies.txt
        -rw------- 1 oracle oinstall      0 Apr 17 13:24 history.log
        -rwxr-xr-x 1 oracle oinstall  29816 Mar 27 09:29 sql
        -rw-r--r-- 1 oracle oinstall 180288 Mar 27 09:30 sql.exe
        -rw-rw-rw- 1 oracle oinstall 152 Mar 27 09:30 version.txt
        [oracle@localhost.localdomain:/u01/app/oracle/sqlcl/bin]$./sql sys/oracle@10.10.120.198/orcl as sysdba


        常用 SQLcl 命令



        1. CONNECT

           用于连接到数据库。

          CONNECT username/password@hostname:port/service_name

          2. DESCRIBE (DESC)

             显示表、视图或其他对象的结构。

               DESC employees

            3. SELECT

            查询命令

              SELECT * FROM employees WHERE department_id = 10;

              4. EXECUTE (EXEC)

                 执行单个 PL/SQL 语句。

                 EXEC dbms_stats.gather_table_stats('SCOTT', 'EMP');

                5. INFO

                   提供指定对象的详细信息。

                  INFO employees

                  6. HELP

                     帮助命令

                    HELP

                    7. SCRIPT

                       运行 SQL、PL/SQL 或 JavaScript 脚本文件。

                        SCRIPT path/to/script.sql

                      8. HISTORY

                         显示或执行历史命令。

                           HISTORY
                        HISTORY 3 RUN

                        9. LOAD

                           将数据从文件加载到表中。 

                             LOAD data.csv INTO TABLE employees APPEND

                          10. SPOOL

                              将查询结果或命令输出重定向到文件。

                                SPOOL output.log
                            SELECT * FROM employees;
                            SPOOL OFF


                            11. CTAS

                                使用 `CREATE TABLE AS SELECT` 快速创建表 

                               CTAS t1 new_t1;

                              12. EDIT

                                  直接执行 SQL 文件,不显示内容。

                                EDIT /path/to/file.sql



                                    Oracle SQLcl 为数据库专业人员提供了一个强大、灵活且易于使用的工具,极大地增强了Oracle数据库的交互体验。


                                往期推荐

                                Oracle oswbb工具安装与介绍

                                Oracle应急使用指南

                                Oracle的SQL调化健康检查脚本介绍

                                Oracle 11.2.0.4 RAC环境节点重新添加

                                DBA如何平衡Oracle与国产数据库的工作需求


                                文章转载自DBA巫师,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                评论