oracle 的用户管理 sqlplus的常用命令

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

SQL> create user scw identified by 123;

用户已创建。

SQL>

在oracle中创建用户只能由管理员或者具有管理员的权限的用户创建

修改密码:

1.修改自己的密码:

SQL> passw;
更改 SCW 的口令
旧口令:
新口令:
重新键入新口令:
口令已更改
SQL> conn scw/123;
ERROR:
ORA-01017: invalid username/password; logon denied


警告: 您不再连接到 ORACLE。
SQL> conn scw/234;
已连接。

2.修改其他用户密码  需要权限;

SQL> conn system/123;
已连接。
SQL> alter user scw identified by 123;

用户已更改。

SQL>

解锁用户/锁定用户:

SQL> alter user scw account unlock;

用户已更改。

SQL> conn scw/123;
已连接。
SQL> conn system/123;
已连接。
SQL> alter user scw account lock;

用户已更改。

SQL> conn scw/123;
ERROR:
ORA-28000: the account is locked


警告: 您不再连接到 ORACLE。

删除用户:

drop user 用户名;
                                   如果当前用户拥有数据库表、视图、序列等等,删除用户就需要指定关键字:cascade.
drop user zhangsan cascade;

授权:

新建的用户是没有任何权限的,包括连接数据库的权限。
新创建的用户是没有任何权限的,直接登录会报如下错误:

SQL> conn scw/123;
ERROR:
ORA-01045: user SCW lacks CREATE SESSION privilege; logon denied


警告: 您不再连接到 ORACLE。

如果新建的用户想要连接数据库,就需要被赋予权限,只有管理员才能赋予新用户权限。

系统权限:create table,create session,drop user,drop table等等
角色权限:dba 管理员
               connect:连接数据库
                resource: 创建表的权限

赋予用户连接数据库的权限:

grant create session to zhansgan;
SQL> conn system/123;
已连接。
SQL> grant create session to scw;

授权成功。

SQL> conn scw/123;
已连接。
SQL>

system赋予用户dba的角色:

SQL> grant dba to scw;
grant dba to scw
*
第 1 行出现错误:
ORA-01031: 权限不足


SQL>

SQL> conn system/123;
已连接。

SQL> grant dba to scw;

授权成功。

SQL>

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

用Scott给其他用户查看的权限:

SQL> conn scott/123;
已连接。
SQL> grant select on emp to scw;

授权成功。

SQL> conn scw/234;
已连接。
SQL> select * from scott.emp;

用system给其他用户查看的权限:

SQL> grant select on scott.emp to scw;                        grant all on scott.emp to scw; (查看所有表)  
授权成功。

SQL>

给其他用户授权的能力:

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

注意多级权限的回收;

撤销权限:

revoke 权限 from 用户   

注意:多级权限的回收:

对于对象权限,sys——>abc1——>abc3,当sys回收abc1权限的时候,abc3的权限也被回收了。

总结:对于系统权限,sys——>abc1——>abc2,然后由sys将abc1的权限回收,abc2依然可以连接数据库。

对表的操作:

查看当前用户的所有表:

SQL> conn scott/123;
已连接。
SQL> select * from user_tables;

查看当前用户所有表的表名:

SQL> select table_name from user_tables;

TABLE_NAME
------------------------------------------------------------
SALGRADE
BONUS
EMP
DEPT

查看用户:

查看所有用户(必须要有管理员权限):

Select *from all_users;
查询dba:select * from dba_users;
查询当前用户的信息:select * from user_users;

查看权限:

查询所有具有系统权限的dba:

Select *from dba_sys_privs where grantee='DBA';

查看所有角色role;

Select *from dba_roles;

profile管理用户
u 创建profile文件与指定给用户  
案例1. 如果用户连续3次登陆失败,锁定用户,锁定时间2天.lock
步骤:
1.先创建一个profile文件
  create profile lock_account(文件名) limit failed_login_attempts3 password_lock_time 2;
2.将profile文件指定给用户
alter user abc2 profilelock_account;
 
3.abc2连续三次登陆失败,账号锁定。
4.       解锁abc2用户 alter userabc2 account unlock;(管理员身份解锁)
 
u 解除用户的profile文件   
Alter user abc2 profile default;
 
案例2:用户每隔10天修改密码,宽限2天。
步骤:
1.sys管理员连接数据库:conn sys/system as sysdba;
2.新建profile文件,用来限制用户十天修改密码,宽限期是2天。
create profile change_pwd limit password_life_time 10password_grace_time 2;
3.将profile配置文件指定给相应的用户
Alter user abc2profile change_pwd;
案例3:限制用户修改密码不能使用以前用过的密码
步骤:
1.sys管理员连接数据库:conn sys/system as sysdba;
2.新建profile文件,限制用户修改密码,不能使用用过的密码
Create profilepassword_history limit password_life_time 10 password_grace_time 2 passworh d_reuse_time 2;
 
3.abc2连接数据库,然后连续两次修改密码:
 
u 查询所有的profile文件
select *from dba_profiles;
u 删除profile文件
drop profileprofile文件名;
drop profilepassword_history;
如果profile文件已经指定给用户了,就需要加上cascade关键字。

SQL> create profile lock_account limit failed_login_attempts 3 password_lock_time 2;

配置文件已创建

SQL> alter user scw profile lock_account;

用户已更改。
SQL> drop profile lock_act;

配置文件已删除。
SQL> conn system/123;
已连接。
SQL> alter user scw account unlock;

用户已更改。
SQL> conn scw/111;
ERROR:
ORA-01017: invalid username/password; logon denied


警告: 您不再连接到 ORACLE。
SQL> conn scw/111;
ERROR:
ORA-01017: invalid username/password; logon denied


SQL> conn scw/111;
ERROR:
ORA-01017: invalid username/password; logon denied


SQL> conn scw/123;
ERROR:
ORA-28000: the account is locked


SQL> alter userabc2 account unlock;

 

进入SQL Plus
要想使用sqlplus,自然得先打开sqlplus界面,打开界面有两种方式
⦁ 从开始菜单中的oracle安装目录直接打开,如下图;

 


选择SQL Plus快捷方式,会进入到sqlplus界面,进入之前会让你先登录, 

 


⦁ 从cmd命令窗口进入(如何打开cmd界面不再详述,不会的,出门右转去问度娘),如下图

 


连接数据库
连接数据库也有两种方式
⦁ 进入sqlplus界面或者在cmd界面输入指令sqlplus,都会提示“请输入用户名”,如下图
开始菜单打开的

 


CMD打开的

 


在cmd界面把sqlplus和登录信息一起输入,直接登录到数据库,如下图;

 


到这里,就表示连接成功啦
用户解锁
首先必须使用system登录,因为只有数据库管理员才有修改用户状态的权限,比如我要解锁scott账户;

 


切记:后面的commit一定不要忘了,否则是无效滴
用户加锁
这个可能不太常用,用户解锁会用的比较多,但是还是说一下,也以scott账户举栗;

 


切记:和解锁时一样,后面的commit一定不要忘了,否则是无效滴
修改用户密码
这个还是很常用滴,话不多说,往下看图;

 


切记:还是commit别忘了,>_<;
显示和设置环境变量
Linesize:用于控制每行显示多少个字符,默认显示80个字符
Set linesize 1000;


posted on 2018-09-04 15:41  孙崇武  阅读(4225)  评论(0编辑  收藏  举报

导航