Chinaunix首页 | 论坛 | 博客
  • 博客访问: 567013
  • 博文数量: 287
  • 博客积分: 27
  • 博客等级: 民兵
  • 技术积分: 547
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-01 20:20
文章分类

全部博文(287)

文章存档

2015年(1)

2014年(95)

2013年(90)

2012年(101)

分类: Oracle

2014-03-10 21:55:49

SQL*Plus是一个交互式批查询工具,它随着DB被安装,有一个命令行接口。SQL*Plus有自己的命令和环境,提供了面向DB的入口。通过SQL*Plus,用户可以运行SQL,PL/SQL,SQL*Plus和系统命令,从而实现下述任务:
  对查询结构进行格式化、计算、存储和输出;
  检测表和对象定义;
  开发并运行批处理脚本;
  进行DB的管理
SQL*Plus可以交互式的,或者批处理的生成报告,输出到文件或者终端,或者是HTML格式的。

SQL*Plus架构


是一个两层的模型,包括
1. 客户端:一个基于字符终端的命令行接口
2. DB:数据库网络模块

启动SQL*Plus


对于刚刚安装的DB,可以用SYS或者个SYSTEM账户。当使用SYS或者/作为用户名,并且带有AS SYSDBA, 你的用户会由操作系统授权。这时登录系统的账户,必须是一个特殊用户组的成员。在Unix系统上,这个用户组是dba。
这种授权使你可以连接到一个还没有启动的数据库,从而能够启动它。

下面的命令可以启动 SQL*plus
sqlplus {username | /} [as sysdba]

例如:
$ sqlplus / AS SYSDBA
Enter password: password
如果使用SYS用户,必须附带 AS SYSDBA

HELP INDEX可以查看帮助信息
对于大多数语句,仅仅输入一个 / 可以重复执行上一次的命令。

配置SQL*Plus


SQL*Plus会查询一系列的环境变量来获得路径等信息,比如:
  LD_LIBRARY_PATH:库文件搜索路径。
  NLS_LANG:确定语言设置,比如american_america.utf8
  TNS_ADMIN:tnsnames.ora文件的路径
  SQLPATH:SQL脚本的位置,由分号分隔的一些列路径地址。搜索时,包括当前路径和SQLPATH以及其子目录。

对于每个会话,使用者可以设置SQL*Plus环境使用特定的配置。有两种不能范围的系统文件可以实现这一功能:
  站点配置文件$ORACLE_HOME/sqlplus/admin/glogin.sql,当连接建立时启动,对所有用户有效。
  用户配置文件login.sql,紧跟着生效,对当前用户有效。
两种配置文件都可以包含任意的SQL*Plus脚本,比如系统参数设定。
SET SQLPLUSCOMPAT[IBILITY] {x.y[.z]} 代码可以设定兼容模式的版本
下面是一个例子:
  1. -- login.sql
  2. -- SQL*Plus user login startup file.
  3. --
  4. -- This script is automatically run after glogin.sql
  5. --
  6. -- To change the SQL*Plus prompt to display the current user,
  7. -- connection identifier and current time.
  8. -- First set the database date format to show the time.
  9. ALTER SESSION SET nls_date_format = 'HH:MI:SS';


  10. -- SET the SQLPROMPT to include the _USER, _CONNECT_IDENTIFIER
  11. -- and _DATE variables.
  12. SET SQLPROMPT "_USER'@'_CONNECT_IDENTIFIER _DATE> "


  13. -- To set the number of lines to display in a report page to 24.
  14. SET PAGESIZE 24


  15. -- To set the number of characters to display on each report line to 78.
  16. SET LINESIZE 78


  17. -- To set the number format used in a report to $99,999.
  18. SET NUMFORMAT $99,999
可以备份和恢复系统参数
  1. # 备份
  2. SQL> STORE SET myenv
  3. Created file myenv

  4. SQL> SHOW PAGESIZE
  5. pagesize 14

  6. SQL> SET PAGESIZE 60
  7. SQL> SHOW PAGESIZE
  8. pagesize 60

  9. #恢复
  10. SQL> START myenv
  11. SQL> SHOW PAGESIZE
  12. pagesize 14

阅读(568) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~