韩顺平老师ORACLE视频学习第一天

sql*plus的常用命令 

连接命令

1.conn[ect] 

conn 用户名/密码@网络服务名[as sysdba/sysoper]当用特权用户身份连

接时必须带上as sysdba或是as sysoper 

 

2.disc[onnect]

说明: 该命令用来断开与当前数据库的连接 

 

3.psssw[ord] 

说明: 该命令用于修改用户的密码如果要想修改其它用户的密码需要用sys/system登录。 

 

4.show user

说明: 显示当前用户名 

 

5.exit 

说明: 该命令会断开与数据库的连接同时会退出sql*plus 

 

文件操作命令

1.start 和@

说明: 运行sql脚本 

案例: sql>@ d:\a.sql或是sql>start d:\a.sql 

 

2.edit 

说明: 该命令可以编辑指定的sql脚本 

案例: sql>edit d:\a.sql,这样会把d:\a.sql这个文件打开 

 

3.spool

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

案例: sql>spool d:\b.sql 并输入 sql>spool off 

 

ν 交互式命令 

1.& 

说明可以替代变量而该变量在执行时需要用户输入。 

select * from emp where job='&job' 

2.edit 

说明该命令可以编辑指定的sql脚本 

案例SQL>edit d:\a.sql 

3.spool 

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

案例: sql>spool d:\b.sql 并输入 sql>spool off 

显示和设置环境变量

可以用来控制输出的各种格式set show如果希望永久的保存相关的设

置可以去修改glogin.sql脚本 

1.linesize

设置显示行的宽度默认是80个字符 

show linesize 

set linesize 90 

2.pagesize

设置每页显示的行数目默认是14 

用法和linesize一样 

至于其它环境参数的使用也是大同小异 

3.oracle

用户管理

 

创建用户 

在oracle中要创建一个新的用户使用create user语句一般是具有

dba(数据库管理员)的权限才能使用。 

create user 用户名 identified by 密码; (oracle有个毛病密码必须以字

母开头如果以字母开头它不会创建用户) 

 

给用户修改密码

如果给自己修改密码可以直接使用 

password 用户名 

如果给别人修改密码则需要具有dba的权限或是拥有alter user的系统权限 

SQL> alter user 用户名 identified by 新密码 

 

删除用户

一般以dba的身份去删除某个用户如果用其它用户去删除用户则需要具

有drop user的权限。 

比如 drop user 用户名 【cascade】 

在删除用户时注意  如果要删除的用户已经创建了表那么就需要在删除的时候带一个参数cascade; 

 

用户管理的综合案例

创建的新用户是没有任何权限的甚至连登陆的数据库的权限都没有需要为其指定相应的权限。给一个用户赋权限使用命令grant回收权限使用命令

revoke。 

案例:

SQL> conn xiaoming/m12; 

ERROR: 

ORA-01045: user XIAOMING lacks CREATE SESSION privilege; logon denied 

 

警告: 您不再连接到 ORACLE。 

SQL> show user; 

USER 为 "" 

SQL> conn system/p; 

已连接。 

SQL> grant connect to xiaoming; 

 

授权成功。  

SQL> conn xiaoming/m12; 

已连接。 

SQL> 

 

注意grant connect to xiaoming;在这里准确的讲connect不是权限而

是角色。。

 

 

 

* 希望xiaoming用户可以去查询emp表 

* 希望xiaoming用户可以去查询scott的emp表 

  grant select on emp to xiaoming 

* 希望xiaoming用户可以去修改scott的emp表 

  grant update on emp to xiaoming 

* 希望xiaoming用户可以去修改/删除查询添加scott的emp表 

  grant all on emp to xiaoming 

* scott希望收回xiaoming对emp表的查询权限 

  revoke select on emp from xiaoming 

 

//对权限的维护。 

* 希望xiaoming用户可以去查询scott的emp表/还希望xiaoming可以把这个

权限继续给别人。 

--如果是对象权限就加入 with grant option 

  grant select on emp to xiaoming with grant option 

操作过程 

SQL> conn scott/tiger; 

已连接。 

SQL> grant select on scott.emp to xiaoming with grant option; 

 

授权成功。 

 

SQL> conn system/p; 

已连接。 

SQL> create user xiaohong identified by m123; 

 

用户已创建。 

 

SQL> grant connect to xiaohong; 

 

授权成功。 

 

SQL> conn xiaoming/m12; 

已连接。 

SQL> grant select on scott.emp to xiaohong; 

 

授权成功。 

 

 

--如果是系统权限。 

system给xiaoming权限时 

grant connect to xiaoming with admin option 

 

问题如果scott把xiaoming对emp表的查询权限回收那么xiaohong会怎样 

答案被回收。 

下面是我的操作过程 

SQL> conn scott/tiger; 

已连接。 

SQL> revoke select on emp from xiaoming; 

 

撤销成功。 

 

SQL> conn xiaohong/m123;  已连接。 

SQL> select * from scott.emp; 

select * from scott.emp 

                    * 

第 1 行出现错误: 

ORA-00942: 表或视图不存在 

 

小红受到诛连了。。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值