oracle 解锁、登陆、链接等+oracle用户管理

1、常用命令

安装完成oracle后,

点击开始

打开sol plus 后

密码是隐藏的

数据库链接成功

我们使用的是scott用户

 alter user scott account unlock;----------------------------------------------解锁
commit;切记:后面的commit一定不要忘了,否则是无效滴

alter user scott identified by 123;---------------------------------------------更改密码
conn scott;------------------------------------------------------------------------使用scott用户

 

修改用户密码

这个还是很常用滴,话不多说,往下看图;



切记:还是commit别忘了

2、用户管理

 

 (1)创建用户:create user 用户名identified by 密码;

新建的用户是没有任何权限的,包括连接数据库的权限。所以需要给予开通权限:

 

(2)赋予用户连接数据库的权限:grant create session to zhansgan;

 

赋予用户dba的角色:grant dba to zhangsan;

dba是数据库管理员,它除了重启数据库 修改字符集的权限没有外 具有其它全部权限

 

(3)修改密码

oracle中如果要修改自己的密码直接使用passw[ord]命令,如果要修改其他用户的密码则必须具备dba角色或alteruser权限

修改其他用户的密码

语法:alter user 用户名 identified by 密码;

 

(4)解锁用户/锁定用户

解锁用户: alter user 用户名account unlock;

锁定用户:alter user 用户名 account lock;

(5)

 

----------角色权限:dba 管理员

 

---------------- connect:连接数据库

 

-----------------resource: 创建表的权限

 

----------------案例1:创建用户abc1,并赋予他连接数据库和创建表的权限。

 

步骤:

 

1. sys管理员连接数据库:conn sys/system as sysdba;

 

2. 新建用户abc1create user abc1 identified by 123;

 

3. abc1用户授权:

 

Grant  connectresource  to  abc1;

 

 

---------------案例2: 授予abc1 查询scott 用户emp表的权限。

 

步骤:

 

1.       sys管理员连接数据库:conn sys/system as sysdba;

 

2.       abc1用户授权:

 

grant  select  on  scott.emp  to  abc1;

 

---------------案例3: 授予abc1用户scottemp表的所有权限。

 

步骤:

 

1. sys管理员连接数据库:conn sys/system as sysdba;

 

2. abc1用户授权:

 

grant all on scott.emp to abc1;

 

3. abc1 连接数据库:conn abc1/abc1;

 

4. scott emp表中插入一条数据:

 

insert into scott.emp(empno,ename) values(123, ‘zhangsan’);

 

(6)回收权限

 

Oracle中只有管理员才可以回收权限。

 

语法:revoke 权限/角色from 用户名;

 

--------------案例1: 回收abc1对于scottemp表的所有权限。

 

步骤:

 

1. sys管理员连接数据库: conn sys/system as sysdba;

 

2. 撤销abc1的权限:revoke all on scott.emp fromabc1;

 

3. 连接abc1conn abc1/abc1;

 

4. 查询下scott 用户的emp表:select * from scott.emp;

 

-------------案例2: 回收abc1对于连接数据库的权限。

 

步骤:

 

1.       sys管理员连接数据库: conn sys/system as sysdba;

 

2.       撤销abc1的权限:revoke connect from abc1;

 

3.       abc1连接数据库:conn abc1/abc1;

 

(7)给其他用户授权的能力

 

with admin option: 授予系统相关的admin权限

 

with grant option:授予对象相关的grant 权限

 

 

 

语法:grant 权限to 用户名 with admin option;

 

  grant 权限 to 用户名with grant option;

 

--------------案例.1:给abc1赋予连接数据库,创建表和授予别的用户的权限的权限,并授予abc2用户连接数据库的权限。

 

步骤:

 

1.       sys管理员连接数据库: conn sys/system as sysdba;

 

2.       abc1用户授权: grant create sessioncreate table to abc1 with adminoption;

 

3.       创建用户abc2createuser abc2 identified by abc2;

 

4.       abc1连接数据库: conn abc1/abc1;

 

5.       abc1abc2授权create sessiongrant create session to abc2;

 

6.       abc2连接数据库:conn abc2/abc2;

 

 

 

--------------案例2:给abc1赋予scott用户下emp表的所有权限和授予别人权限的权限,并给abc3用户授予scott用户下emp表的所有权限。

 

步骤:

 

1.       sys管理员连接数据库: conn sys/system as sysdba;

 

2.       abc1用户授权: grant all on scott.emp to abc1with grant option;

 

3.       创建用户abc3createuser abc3 identified by abc3;

 

4.       abc3用户授予连接数据库的权限:grant create session to abc3;

 

5.       abc1连接数据库: conn abc1/abc1;

 

6.       abc1abc3授权all on scott.emp grant all on scott.emp to abc3;

 

7.       abc3连接数据库:conn abc3/abc3;

 

8.       abc3查询scott用户下emp表的内容:select * from scott.emp;

 

 

(8)查询当前有多少用户(必须用管理员身份才可以查询)

Select *from all_users;

查询dba:select * from dba_users;

查询当前用户的信息:select * from user_users;

 

 

 

posted @ 2018-09-05 13:58  yangyang1182  阅读(144)  评论(0编辑  收藏  举报