SQL Plus是用户和服务器之间的一种接口,用户可以通过它使用SQL语句交互式访问数据库。
可以实现以下功能:
- 输入SQL命令,对SQL Plus环境进行配置
- 输入、编辑、存储、读取和运行SQL命令以及PL/SQL块
- 与终端用户进行交互
- 将查询结果输出到报表表格中,设置表格格式和计算公式,不可以把表格存储
- 启动与关闭数据库
- 定义变量
- 捕捉PL/SQL程序错误
- 列出表的列定义
- 执行数据库管理
运行SQL Plus
用户名的格式如下:用户名 AS 连接身份
SQL Plus的命令列表
示例
- 使用SELECT语句从V$VERSION系统视图中查看Oracle的详细版本信息:
SELECT * FROM V\$VERSION;
- 从视图PRODUCT_COMPONENT_VERSION中也可以查看Oracle数据库及各组件的版本信息,视图PRODUCT_COMPONENT_VERSION中包含以下3列:
PRODUCT,表示Oracle组件的名称。
VERSION,表示Oracle组件的版本。
STATUS,表示Oracle组件的安装状态。
COL PRODUCT FORMAT a35
COL VERSION FORMAT a15
COL STATUS FORMAT a15
SELECT * FROM PRODUCT_COMPONENT_VERSION;
- 在SQL Plus环境中输入LIST命令,结果如下
1* SELECT NAME, CREATED FROM V$DATABASE
返回的结果是最后执行的SQL语句。序号1后面有一个“*”符号,表示当前行为第1行 - 使用SAVE命令保存SQL语句的方法。在SQL Plus环境中输入以下命令:
SAVE C:\SELECT.SQL
命令的功能是将当前缓冲区中的语句保存到c:\select.sql脚本文件中
网络配置工具
Oracle数据库服务和数据库实例标识
对于客户端而言,Oracle数据库是一个服务,一个数据库可以与多个服务相关联。
在客户端看来,数据库服务名就代表它们要访问的Oracle数据库。
在默认情况下,数据库服务名等于全局数据库名。全局数据库名是区分于其他数据库的唯一标识,由数据库名和域名组成,格式如下:
<数据库名>.<域名>
连接描述符
要连接Oracle数据库服务,客户端必须通过连接描述符(connection descriptor)来提供数据库的位置和数据库服务的名称。示例:
[]表示可选项
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=tcp)(HOST=oracleserver)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=sales.oracleserver.com)
[(INSTANCE_NAME=sales1))//需要连接指定的数据库实例]
[(SERVER=shared))//指定服务处理器类型为共享服务器 ]
)
监听器接收到客户端的请求后的操作:
- 直接将连接请求传递给调度器进程
- 向客户端发送一个重定向消息,其中包含调度器进程或专用服务器进程的地址。客户端将直接与调度器进程和专用服务器进程连接
- 生成一个专用服务器进程,然后将客户端连接传送给专用服务器进程
一旦监听器帮助客户端完成了连接操作,客户端将直接与Oracle数据库通信,而不需要监听器的参与。监听器将继续监听接入的网络会话
连接字符串的命名方法
用户通过连接字符串来初始化到Oracle服务器的连接请求,命令格式如下:
CONNECT 连接字符串
连接字符串包括用户名、口令和连接标识符。连接标识符可以是前面介绍的连接描述符,也可以是代表连接描述符的名称。定义连接字符串的方法称为命名方法
最常用的连接标识符是网络服务名。下面是使用完整的连接描述符作为连接标识符的示例
CONNECT scott/tiger@
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=tcp)(HOST=oracleserver1)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=sales.oracleserver.com)))
也可以使用网络服务器来标识要访问的数据库服务器
CONNECT scott/tiger@sales
根据命名方法中定义的目标来创建客户端会话的过程 :
- 客户端通过提供连接标识符来初始化一个连接请求。
- 通过命名方法将连接标识符解析成连接描述符。
- 客户端根据连接描述符中的地址生成一个连接请求。
- 监听器接收到连接请求,并将其转向指定的数据库服务器。
- 数据库服务器接受连接请求
Oracle4种命名方法
- 本地命名:在本地的名为tnsnames.ora的配置文件中保存网络服务名和连接描述符。
- 目录命名:将连接描述符存储在一个中央目录服务器,用于访问数据库服务。
- 简单连接命名:允许客户端通过TCP/IP连接字符串连接Oracle数据库服务器。TCP/IP连接字符串由主机名、端口号和服务名组成(后面两者为可选项)。例如:
CONNECT username/password@host[:port][/service_name]
简单连接命名方法不需要配置,可以直接使用。 - 外部命名:将网络服务名以支持的非Oracle命名服务方式存储。支持的第3方服务包括网络信息服务(NIS)外部命名和分布式计算环境(DCE)单元目录服务(CDS)