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

Oracle:SQLPlus 连接和断开连接

原创 小小亮 2022-12-19
4295

SQLPlus

连接数据库,我们通常使用sqlplus,Oracle 提供的一个基于文本的连接工具,方便客户端连接正在运行的数据库。因为sqlplus需要知道它应该去哪里,所以你应该另外提供一个正确的连接字符串。

连接字符串

我们应该提供给sqlplus的连接字符串的格式通常由 3 个部分组成。

<用户名>/<密码>@<tnsname>

第一和第二部分是用户名和密码,它们构成了一对用于数据库验证连接的凭据。第三个是目的地,我们通常使用本地命名别名。

域名

本地命名是一个连接别名系统,它由一个名为tnsnames.ora的本地配置文件管理,将我们复杂的连接信息组织成一个简短易记的别名

习惯上,我们称本地命名连接,别名管理系统简称为TNSNAME。这意味着,TNSNAME 代表您要连接到的目的地。

没有 TNSNAMES?

但是,你可以选择不使用TNSNAMES连接数据库的sqlplus,快速检查数据库是否可以连接也很实用,你可以看看。

接下来看看我们是如何通过SQLPlus进行连接和断开的。

  1. SQLPlus连接
  2. SQLPlus 断开连接

SQLPlus连接

有几种方法可以连接到sqlplus中的数据库。

在 sqlplus 上连接

我们可以将连接字符串附加到命令sqlplus以连接到数据库。

C:\Users\edchen>sqlplus hr/password@orclpdb
...
SQL> show user
USER is "HR"

或者不指定密码。

C:\Users\edchen>sqlplus hr@orclpdb
...
Enter password:

如您所见,sqlplus提示您输入密码。

在 sqlplus 中连接

进入sqlplus的交互模式后,我们就可以连接到数据库了您可以使用CONNECT或CONN来启动连接,它们是同义词。

C:\Users\edchen>sqlplus /nolog
...
SQL> conn hr/password@orclpdb
Connected.

或者不指定密码。

SQL> conn hr@orclpdb
Enter password:

如您所见,sqlplus提示您输入密码。

连接后连接

如果您已连接到一个数据库,则可以连接到另一个数据库。

SQL> conn hr/password@orclpdb
Connected.
SQL> conn sh/password@orclpdb
Connected.

在这种方式下,sqlplus隐式断开了之前的连接,然后按顺序处理新的连接请求。

SQLPlus 断开连接

sqlplus中有多种方法可以断开与数据库的连接。

在不离开 SQLPlus 的情况下断开连接

要在不离开sqlplus交互模式的情况下显式断开会话,您可以发出DISCONNECT或DISC,它们是同义词。

SQL> disconnect
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
SQL>

如您所见,我们仍处于sqlplus的交互模式。我们可能随时发起另一个新连接。

断开连接并离开 SQLPlus

如果您不再使用sqlplus,则可以发出EXIT或QUIT以断开会话并离开程序。

SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

C:\Users\edchen>

如您所见,我们退出了程序。

隐式断开连接

正如我们之前谈到的,如果你已经连接到一个数据库,你可以什么都不说就连接到另一个数据库。

SQL> conn hr/password@orclpdb
Connected.
SQL> conn sh/password@orclpdb
Connected.

在sqlplus中启动另一个连接将隐式断开当前会话与数据库的连接,并在同一程序中启动另一个新会话。

中断 SQLPlus

如果你一直卡在某个操作中,你可以按一个或多个Ctrl+c来强行中断程序,它会单方面终止连接,因为sqlplus没有机会通知数据库。

SQL> exec remote_update();
^C
C:\Users\edchen>

由于连接因中断而终止,数据库不知道会话发生了什么。一段时间后,PMON 将回收服务器进程并回滚任何未提交的事务。

对于会话来说,事务是否会在与数据库断开连接时隐式提交是一个大问题。这取决于您如何断开会话。我们已经在如何设置自动提交开和关中讨论过它


原文标题:SQLPlus Connect and Disconnect

原文作者:Ed Chen

原文链接:https://logic.edchen.org/sqlplus-connect-and-disconnect/

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论