1、常用命令
安装完成oracle后,
点击开始
打开sol plus 后
密码是隐藏的
数据库链接成功
我们使用的是scott用户
alter user scott identified by 123;---------------------------------------------更改密码
修改用户密码
这个还是很常用滴,话不多说,往下看图;
切记:还是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. 新建用户abc1:create user abc1 identified by 123;
3. 给abc1用户授权:
Grant connect,resource to abc1;
---------------案例2: 授予abc1 查询scott 用户emp表的权限。
步骤:
1. sys管理员连接数据库:conn sys/system as sysdba;
2. 给abc1用户授权:
grant select on scott.emp to abc1;
---------------案例3: 授予abc1用户scott的emp表的所有权限。
步骤:
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对于scott的emp表的所有权限。
步骤:
1. sys管理员连接数据库: conn sys/system as sysdba;
2. 撤销abc1的权限:revoke all on scott.emp fromabc1;
3. 连接abc1:conn 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 session, create table to abc1 with adminoption;
3. 创建用户abc2:createuser abc2 identified by abc2;
4. abc1连接数据库: conn abc1/abc1;
5. abc1给abc2授权create session:grant 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. 创建用户abc3:createuser abc3 identified by abc3;
4. 给abc3用户授予连接数据库的权限:grant create session to abc3;
5. abc1连接数据库: conn abc1/abc1;
6. abc1给abc3授权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;