连接并登陆
sqlplus “用户名/密码[@主机名 as 身份]”
先连接再登陆
sqlplus /nolog
conn 用户名/密码[@主机名 as 身份]
退出:
quit
展示当前用户
show user;
–激活普通用户
解锁普通用户scott来做练习:
1:加密码:Alter user scott identified by 密码
2:解锁: alter user scott account unlock;
conn sys/pwd as sysdba
alter user scott identified by tiger;
alter user scott account unlock;
quit
–关闭实例
SHUTDOWN NORMAL:不允许新的连接、等待会话结束、等待事务结 束、做一个检查点并关闭数据文件。启动时不需要实例恢复。
SHUTDOWN TRANSACTIONAL:不允许新的连接、不等待会话结束、等
待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。SHUTDOWN IMMEDIATE:不允许新的连接、不等待会话结束、不等待事
务结束、做一个检查点并关闭数据文件。没有结束的事务是自动rollback的。 启动时不需要实例恢复。SHUTDOWN ABORT:不允许新的连接、不等待会话结束、不等待事务结 束、不做检查点且没有关闭据文件。启动时自动进行实例恢复。
-关闭数据库的时间从长到短,相反,开启的时候是从短到长
–启动实例
startup [nomout/mount/open]
nomount:仅打开实例
mount: 读取控制文件,但不读数据文件
open 读取数据文件,打开数据库
一般在需要备份时,mount
默认是open
–查看帮助
help index 列出所有的帮助选项
要查具体的命令的用法:
Help 命令
如 help edit
—注意: sqlplus中的这些命令不要和sql语句混为一谈
我们输入的sql命令,会被sqlplus储存在缓冲区里,
熟练利用缓冲区,可以提高我们书写sql的效率
因为缓冲区的内容 可以 修改/删除,再执行
用list / l 查看缓冲区内容
list 行号
作用:显示缓冲区中某一行的内容
Del 行号
作用:删除缓冲的sql语句
比如 del 2 删除缓冲区的第2行
Del 2 4 删除缓冲区的第2到4行
注意: list N后,第N行理解为当前行
再 del * 5, 即可删除当前行到第5行
Input : 往缓冲增加内容
典型用法:
L1 列出缓冲区第1行
Input xxxxx ,在第1行后追回xxxxx内容
Input是增加一行
C/change 修改缓冲区的某一行
典型用法:
L行号 列出某一行
c /修改内容/新内容
append 在某一行后追回内容
典型用法:
L行号, 列出行的内容
Append xxxx ,把xxxx内容追回到当前行的后面
/ 执行缓冲区
ed/edit 用外部编辑器编辑缓冲区
linux中先添加环境变量/home/oracle/.profile
export EDITOR=vim
window下使用的文本编辑器
–sqlplus与外部文本文件夹的交互
Get 路径/文件名
作用:是把外部文件的内容读到缓冲区,显示出来,但不执行.
@ 路径/文件名
作用:把外部文件内容读到缓冲区,不显示,并执行
Start 路径/文件名 同上
Run 路径/文件名
作用:读取外部文件内容读到缓冲区,显示出来,并执行
Save 路径/文件名 [create/append/replace]
作用:把缓冲区的内容保存到外部文件
–在sqlplus客户端中使用变量
场景:有时我们需要反复执行一个系列的sql语句,这些sql语句只有参数不同。
例:
Select &num from dual;
请输入num的值:
我们可以反复执行该语句,并输入num的值
也可以先定义一个变量及其值,再使用
语法: define 变量名=变量值
用法: select &变量名
注销变量:
Undefined 变量名
也可以在外部文件中 用 &1 &2…&n来预留变量
当@ 路径/文件名时,可以按顺序写 数字 参数,并会顺序赋&1 &2….&n
如:@ 路径/文件名 2 8