Oracle sqlplus基础

前提条件:

CentOS7.6

已安装Oracle 11g R2

拥有用户Oracle

一、安装rlwrap

Linux下sqlplus不能使用光标箭头,解决办法:安装rlwrap。

获取rlwrap

# wget https://github.com/hanslub42/rlwrap/releases/download/v0.43/rlwrap-0.43.tar.gz

安装readline*(rlwrap依赖)

# yum -y install readline*

解压安装rlwrap包

# tar -xzvf rlwrap-0.43.tar.gz
# cd rlwrap-0.43
# ./configure
# make
# make install

切换Oracle,添加sqlplus别名

# su - oracle
$ cd
$ vim .bash_profile

在文件中添加
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
:wq

$ source .bash_profile    #立即生效

这样在sqlplus中就敲命令就很方便了,类似mysql。

二、oracle用户sys和system

Oracle安装会自动的生成sys用户和system用户
(1)、sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install
(2)、system用户是管理操作员,权限也很大。具有sysoper角色,没有create database的权限,默认的密码是manager
(3)、一般讲,对数据库维护,使用system用户

sys和system这两个用户最大的区别是在于有没有create database的权限。

三、sqlplus工具简介

Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql语句。

我们通常所说的DML、DDL、DCL语句都是sql语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,

并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。

除了sql语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。它们执行完后,不保存在sql buffer的内存区域中,

它们一般用来对输出的结果进行格式化显示,以便于制作报表。

四、sqlplus常用命令

连接命令

1.conn[ect]
用法:conn 用户名/密码@网络服务名 [as sysdba/sysoper]
说明:当用特权用户身份连接时,必须带上as sysdba或是as sysoper
例如:

SQL> show user
USER 为 "SCOTT"
SQL> conn system/oracle@orcl
已连接。
SQL> show user
USER 为 "SYSTEM"

LINUX中以系统身份连接:
SQL>connect / as sysdba
或者
# sqlplus / as sysdba

以上命令实现类似切换用户的效果
2.disc/disconn/disconnect
说明: 该命令用来断开与当前数据库的连接
3.pssw[ord]
说明: 该命令用于修改用户的密码,如果要想修改其它用户的密码,需要用sys/system登录。
例如:

SQL> conn scott/oracle
已连接。
SQL> passw
更改 SCOTT 的口令
旧口令:
新口令:
重新键入新口令:
口令已更改
SQL>

4.show user
说明: 显示当前用户名
5.exit
说明: 该命令会断开与数据库的连接,同时会退出sql*plus
5.clear screen
清空屏幕

文件操作命令

1.start和@
说明: 运行sql脚本
案例:

sql>@ /home/oracle/a.sql
或是
sql>start /home/oracle/a.sql

2.edit
说明: 该命令可以编辑指定的sql脚本
案例:

sql>edit /home/oracle/a.sql

这样会把/home/oracle/a.sql这个文件打开

3.spool
说明:该命令可以将sql*plus屏幕上的内容输出到指定文件中去。

案例:

sql>spool /home/oracle/a.sql
sql>select * from emp; 
sql>spool off 

 

参考

https://www.cnblogs.com/muhehe/p/7816808.html

https://www.cnblogs.com/wdx8927304/p/7927613.html

 

posted @ 2020-07-31 13:45  弗拉宾教头  阅读(310)  评论(0编辑  收藏  举报