sqlplus 命令语法
sqlplus [ [] [{logon | /nolog}] [] ]
为: [-C ] [-L] [-M ""] [-R ] [-S]
-C 将受影响的命令的兼容性设置为 指定的版本。该版本具有"x.y[.z]" 格式。例如, -C 10.2.0
-L 只尝试登录一次, 而不是 在出错时再次提示。
-M "" 设置输出的自动 HTML 标记。选项的格式为:
HTML [ON|OFF] [HEAD text] [BODY text] [TABLE text][ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMAT] {ON|OFF}]
-R 设置受限(restricted)模式, 以禁用与文件系统交互的SQL*Plus 命令。级别可以是 1, 2 或 3。最高限制级别为 -R 3, 该级别禁用与文件系统交互的所有用户命令。
-S 设置无提示(slient)模式, 该模式隐藏命令的提示和回显 的显示。
为: {[/][@] | / }[AS {SYSDBA | SYSOPER | SYSASM}] [EDITION=value]
指定数据库帐户用户名, 口令和数据库连接的连接标识符。如果没有连接标识符, SQL*Plus 将连接到默认数据库。
AS SYSDBA, AS SYSOPER 和 AS SYSASM 选项是数据库管理权限。
的形式可以是 Net 服务名或轻松连接。
@[ | [//]Host[:Port]/]
是服务的简单名称, 它解析为连接描述符。
示例: 使用 Net 服务名连接到数据库, 且数据库 Net 服务名为 ORCL。
sqlplus myusername/mypassword@ORCL
Host 指定数据库服务器计算机的主机名或 IP地址。
Port 指定数据库服务器上的监听端口。
指定要访问的数据库的服务名。
示例: 使用轻松连接连接到数据库, 且服务名为 ORCL。
sqlplus myusername/mypassword@Host/ORCL
/NOLOG 选项可启动 SQL*Plus 而不连接到数据库。
EDITION 指定会话版本的值。
为: @|[.] [ ...]
使用将分配给脚本中的替代变量的指定参数从 Web 服务器 (URL) 或本地文件系统 (filename.ext)运行指定的 SQL*Plus 脚本。
在启动 SQL*Plus 并且执行 CONNECT 命令后, 将运行站点概要文件 (例如, $ORACLE_HOME/sqlplus/admin/glogin.sql) 和用户概要文件例如, 工作目录中的 login.sql)。这些文件包含 SQL*Plus 命令。
支持的功能很全,但常用的几种连接方式也就几种:
1. sqlplus / as sysdba
操作系统认证,不需要数据库服务器启动listener,也不需要数据库服务器处于可用状态。比如我们想要启动数据库就可以用这种方式进入sqlplus,然后通过startup命令来启动。
无需数据库进入可用状态,就可用用该命令登录,运行startup来启动。
2. sqlplus username/pwd
连接本机数据库,不需要数据库服务器的listener进程,但是由于需要用户名密码的认证,因此需要数据库服务器处于可用状态才行。(注意,这里是oracle数据库的用户名密码,而非OS的), 如:
sqlplus system/oracle
3. sqlplus usernaem/password@orcl 通过网络连接,这是需要数据库服务器的listener处于监听状态。
4. sqlplus username/password as sysdba 如:
sqlplus sys/admin as sysdba
5. sqlplus username/pwd@host/service_name 如:
sqlplus tiger/scott@localhost/orcl
sqlplus tiger/[email protected] /orcl
6.sqlplus username/pwd@host:ip/service_name 如: sqlplus tiger/[email protected] :1521/orcl 或者
sqlplus system/oracle@//192.168.232.134:1521/orcl
以用户名/密码、IP:Port、服务名 为参数登录。可以指定IP,适合远程连接。
7. sqlplus /nolog
先使用sqlplus命令,而不连接数据库,然后用conn命令登录。
conn tiger/scott conn tiger/[email protected] /orcl
这种方式比第6种方式安全,因为第3种方式登录后,通过ps查看到的进程是带用户名和密码的。
notes:以上几种方式没有指定service_name或者sid的(这里是orcl),都只能在本地服务端连接本地的oracle;对于指定service_name或者sid的可以在远程client端连接服务端的数据库(如3,5,6)。