一.
用户:
sys:超级管理员system:系统管理员
scott:测试账户 默认密码:tiger
基本命令:
1. conn 连接用户
语法: conn 用户名/密码
连接超级管理员: conn sys/system as sysdba;
conn scott/tiger;
2. show user; 显示当前用户
3. passw 修改密码
语法: passw
4. exit 退出sqlplus
5. commit 提交
6. select * from emp;
语法:select * from 表名;
7. set linesize 数字;设置行宽
案例: set linesize 150;
8. set pagesize 数字;
案例: set pagesize 16;
9. show linesize; 显示行宽
show pagesize; 显示页面高度
二.
1. 创建用户
语法: create user 用户名 identified by 密码;
注意:创建用户只能由管理员或者具有管理员权限的用户才可以创建
新创建的用户是没有任何权限,只能由管理员赋予权限
案例: 创建一个用户,用户名:abc,密码:123
步骤:
1. 切换管理员用户 conn sys/system as sysdba;
2. 创建用户
create user abc identified by 123;
赋予权限——只能由管理员或者超级管理员,或者是拥有管理员权限和赋予权限的用户才可以为其他用户赋予权限
语法: grant 权限 to 用户名;
grant create session to abc;
grant resource to abc; // 赋予创建一张数据库表,查询数据库,编辑表等等的能力
grant dba to abc; // 将dba(管理员)这个角色赋给abc用户。
DBA:数据库管理员,拥有所有管理权限
2. 修改用户密码
password 用户名;
修改abc的密码:
password abc;
3. 修改用户
管理员或者有管理员权限的用户才能修改用户
3.1 解锁用户
alter user scott account unlock;
3.2 锁定用户
alter user scott account lock;
3.3 修改用户密码
alter user abc identified by abc;
create user abc identified by abc;
4. 删除用户
drop user 用户名;
drop user abc;
如果当前用户拥有数据库表、视图、序列等等,删除用户就需要指定关键字:cascade。
drop user abc cascade;
二. 权限管理
Oracle权限:系统权限和用户权限(对象权限/角色权限)
1. 系统权限:创建表,创建用户,修改表或者用户,视图等等。
2. Oracle 对象之间访问数据库内容,需要用户名.表名访问。
对象与对象之间是不可以直接操作的,也是需要具备相应的权限。
对象权限:包含另外对象数据库信息的查询,修改等等操作的。
3.授予权限
语法:grant 权限/角色 to 用户名;
系统权限:create table,create session,drop user,drop table等等
角色权限:dba 管理员
connect:连接数据库
resource: 创建表的权限
案例1:创建用户abc1 赋予他连接数据库和创建表的权限:
grant connect, resource to abc1;
对象权限:用户名.表名
步骤:
1. 登录管理员: conn sys/system as sysdba;
2. 向abc1用户授予select scott 中 emp表的权限:
grant select on scott.emp to abc1;
3. 查询scott用户下emp表的内容:
a. 切换到abc1用户下:conn abc1/abc1;
b. 查询scott emp表的内容:
select * from scott.emp;
4. 向abc1用户授予scott 中 emp表的所有权限:
a. 登录管理员: conn sys/system as sysdba;
b. 授予abc1所有emp表的权限:
grant all on scott.emp to abc1; //abc1 就拥有了scott用户下emp表的所有操作
c. 切换到abc1用户下:conn abc1/abc1;
d. 向scott的emp表中插入一条数据:
insert into scott.emp(empno, ename) values(123, 'zhangsan');
4. 回收权限
管理员才可以回收其他用户的权限
语法: revoke 权限/角色 from 用户名;
回收abc1的conncet,resource权限回收
5. 给用户授予别的用户权限
with grant option:
with admin option:
语法:grant 权限/角色 to 用户名 with grant option;
grant 权限/角色 to 用户名 with admin option;
1) 系统权限 create table,drop table,drop user ....
案例:新创建一个用户ibm1,create table,create session 并且他拥有赋予别的用户的权限
步骤:
1. 先要连接数据库 sys/system 用户登录,
SQL> conn sys/system as sysdba;
2. 创建用户ibm1:
SQL> create user ibm1 identified by 123;
3. 给ibm1用户授权
SQL> grant create table,create session to ibm1 with admin option;
4. 切换到ibm1;
SQL> conn ibm1/123;
5. 切回到sys用户
SQL> conn sys/system as sysdba;
6. 创建用户ibm2;
SQL> create user ibm2 identified by 123;
7. 切换回ibm1用户
SQL> conn ibm1/123;
8. 授予ibm2,create session,create table权限
SQL>grant create session, create table to ibm2;
2) 对象权限 dba,connect, select on scott.emp, all on scott.emp