一 oracle用户管理的基本命令
1 创建一个用户(只有system和sys用户有创建一个新用户的权限)
SQL>create user zhaoming identified by Zhaoming262350;
zhaoming是用户名,Zhaoming262350是用户密码。
2 用户的切换(可以由任意一个用切换到另一个用户,包括从普通用scott到系统用户system,也可以从system用户切换到scott用户)
SQL>conn system/manager;
system代表系统用户,manager代表密码;
3 查看当前登陆的是哪一个用户
SQL>show user;
看目前正在对数据库操作的是系统用户还是普通用户;
4 修改用户密码
SQL>password zhaoming;
修改zhaoming这个用户的密码;
注意:在删除用户时,如果要删除已经创建的表,那么就要在删除时带一个参数(cascade)。
新创建的用户没有登录数据库的权限,必须对这个数据库赋给权限才可以登录数据库。
5 给数据库赋权限,权限分为系统权限和对象权限。
系统权限: 用户对数据库的相关权限。(create session)
对象权限:用户对其他用户数据对象的权限 (select,insert,update,delete,all,create,index)
SQL>grant connect to zhaoming;
给zhaoming这个数据库普通用户赋予登录数据库的权限,这个权限必须有系统用户赋予。
6 创建一个表test
SQL>create table test (userId varchar2(30) ,userName varchar2(30));
创建一个表,包括用户编号和用户名。
7 赋给空间资源权限给一个用户这样用户就可以在自己的表空间建表。
resource:在任何一个表空间建表。
SQL>grant resource to zhaoming;
8 查看表结构
SQL>desc test;
9 对象权限的授权
SQL>grant select on emp to zhaoming;
希望zhaoming这个用户可以去查询emp这个表,也就是简单的对象授权。
10 对表的行距进行设置
SQL>set linesize 120;
(120 是自己设置的一个数据,这个数据可由自己设置)。
11 通过普通用户scott查询一个简单的表emp.
SQL>select * from scott.emp;
12 授权用户zhaoming去修改scott的emp表
SQL>grant update on emp to zhaoming;
13 授权用户zhaoming可以对emp表可以进行全部操作
SQL>grant all on emp to zhaoming;
14 scott用户收回用户zhaoming对emp的操作权利
SQL>revoke select on emp from zhaoming;
15 用户的权限是可以传给其他用户的,用户zhaoming可以把查询scott表emp的权限可以传给其他的用户。
SQL>grant select on emp to zhaoming with grant option;
这样传出的是对象权限,如果是系统权限:
SQL>grant connect to zhaoming with admin option;
二 用户口令(profile)
profile是口令限制,资源限制的命令集合,当建立数据库时,oracle会自动建立名称为default的profile,当建立用户没有指定profile选项,那oracle就会将default分配给用户。
账户锁定:指定该账户登录时最多可以输入密码的次数,也可以指定用户锁定的时间,一般都用dba的身份去执行该命令。
eg:scott用户最多只能尝试登陆三次,锁定时间为两天,如何实现?
创建profile文件:
SQL>create profile *** limit failed-login-attemps 3 password-lock-time 2;
***表示的是profile的名称,登陆次数3和锁定的时间可由自己设定。
SQL>alter user scott profile ***;
如何给一个用户解锁:
SQL>alter user scott account unlock;
这个用户scott可以改变,例如用户zhaoming
终止口令:为了让用户定期修改密码,可以使用终止口令的指令来完成,同样这个命令要用dba 的身份来操作。
eg:给用户zhaoming创建一个profile文件要求用户每隔10天改一次登陆密码,宽限期为两天,如何实现?
SQL >create profile *** limit password-life-time 10 password-grace-time 2 ;
SQL>alter user zhaoming profile ***;(把profile 文件分配给用户)
口令历史:如果用户在修改密码时,不能使用以前的口令历史,因为会存到数据词典。
SQL>create profile *** limit password-life-time 10 password-grace-time 2 password-rease-time 10;
如何删除profile;
SQL>drop profile *** [cascade];
三 oracle 的用户与权限
sys:超级用户,权限最高,他的角色是dba,默认密码是change-on-install.
system:系统管理员,权限也很高,角色是dbaoper,密码manager。
scott:是一个普通用户,密码是tiger。
sys有create database的权限,而system没有,其他类似。
sys相当于一个董事长,而system相当于一个总经理。
sys与system的区别:
1,存储数据的重要性不同。sys:所有oracle的数据词典的基表和视图都存放在sys用户中,基表和视图对于oracle的运行至关重要,由数据自己维护,任何用户都不能手动修改,sys用户拥有dba,sysdba,sysoper角色或权限,oracle权限最高的用户。
2,权限的不同。sys用户必须以as sysdba或as sysoper 形式登录,不能以normal的形式登录数据库。system如果正常登录,它其实就是一个普通的dba用户,但是如果以as sysdba登录,其结果实际上是sys用户登录的,从登录信息里面我们可以看出来。
以一个系统管理员的身份如何登录数据库?
SQL> conn sys/change-on-install as sysdba;
注意:sysoper拥有的权限sysdba都有,但是sysdba拥有的权限sysoper不一定有。
在sysdba,sysoper,dba这个用户中,sysdba的级别最高,sysoper次之,dba的级别最低。
dba用户是指拥有dba角色的数据库用户,特权用户可以执行启动,关闭实例等特殊操作,而dba用户只有启动数据库后才能执行各种管理工作。
SQL>shut down;(关闭数据库)
SQL>start up ;(启动数据库)
关闭和启动数据库只有sysdba和sysoper有这个权限,dba不具有。
1 创建一个用户(只有system和sys用户有创建一个新用户的权限)
SQL>create user zhaoming identified by Zhaoming262350;
zhaoming是用户名,Zhaoming262350是用户密码。
2 用户的切换(可以由任意一个用切换到另一个用户,包括从普通用scott到系统用户system,也可以从system用户切换到scott用户)
SQL>conn system/manager;
system代表系统用户,manager代表密码;
3 查看当前登陆的是哪一个用户
SQL>show user;
看目前正在对数据库操作的是系统用户还是普通用户;
4 修改用户密码
SQL>password zhaoming;
修改zhaoming这个用户的密码;
注意:在删除用户时,如果要删除已经创建的表,那么就要在删除时带一个参数(cascade)。
新创建的用户没有登录数据库的权限,必须对这个数据库赋给权限才可以登录数据库。
5 给数据库赋权限,权限分为系统权限和对象权限。
系统权限: 用户对数据库的相关权限。(create session)
对象权限:用户对其他用户数据对象的权限 (select,insert,update,delete,all,create,index)
SQL>grant connect to zhaoming;
给zhaoming这个数据库普通用户赋予登录数据库的权限,这个权限必须有系统用户赋予。
6 创建一个表test
SQL>create table test (userId varchar2(30) ,userName varchar2(30));
创建一个表,包括用户编号和用户名。
7 赋给空间资源权限给一个用户这样用户就可以在自己的表空间建表。
resource:在任何一个表空间建表。
SQL>grant resource to zhaoming;
8 查看表结构
SQL>desc test;
9 对象权限的授权
SQL>grant select on emp to zhaoming;
希望zhaoming这个用户可以去查询emp这个表,也就是简单的对象授权。
10 对表的行距进行设置
SQL>set linesize 120;
(120 是自己设置的一个数据,这个数据可由自己设置)。
11 通过普通用户scott查询一个简单的表emp.
SQL>select * from scott.emp;
12 授权用户zhaoming去修改scott的emp表
SQL>grant update on emp to zhaoming;
13 授权用户zhaoming可以对emp表可以进行全部操作
SQL>grant all on emp to zhaoming;
14 scott用户收回用户zhaoming对emp的操作权利
SQL>revoke select on emp from zhaoming;
15 用户的权限是可以传给其他用户的,用户zhaoming可以把查询scott表emp的权限可以传给其他的用户。
SQL>grant select on emp to zhaoming with grant option;
这样传出的是对象权限,如果是系统权限:
SQL>grant connect to zhaoming with admin option;
二 用户口令(profile)
profile是口令限制,资源限制的命令集合,当建立数据库时,oracle会自动建立名称为default的profile,当建立用户没有指定profile选项,那oracle就会将default分配给用户。
账户锁定:指定该账户登录时最多可以输入密码的次数,也可以指定用户锁定的时间,一般都用dba的身份去执行该命令。
eg:scott用户最多只能尝试登陆三次,锁定时间为两天,如何实现?
创建profile文件:
SQL>create profile *** limit failed-login-attemps 3 password-lock-time 2;
***表示的是profile的名称,登陆次数3和锁定的时间可由自己设定。
SQL>alter user scott profile ***;
如何给一个用户解锁:
SQL>alter user scott account unlock;
这个用户scott可以改变,例如用户zhaoming
终止口令:为了让用户定期修改密码,可以使用终止口令的指令来完成,同样这个命令要用dba 的身份来操作。
eg:给用户zhaoming创建一个profile文件要求用户每隔10天改一次登陆密码,宽限期为两天,如何实现?
SQL >create profile *** limit password-life-time 10 password-grace-time 2 ;
SQL>alter user zhaoming profile ***;(把profile 文件分配给用户)
口令历史:如果用户在修改密码时,不能使用以前的口令历史,因为会存到数据词典。
SQL>create profile *** limit password-life-time 10 password-grace-time 2 password-rease-time 10;
如何删除profile;
SQL>drop profile *** [cascade];
三 oracle 的用户与权限
sys:超级用户,权限最高,他的角色是dba,默认密码是change-on-install.
system:系统管理员,权限也很高,角色是dbaoper,密码manager。
scott:是一个普通用户,密码是tiger。
sys有create database的权限,而system没有,其他类似。
sys相当于一个董事长,而system相当于一个总经理。
sys与system的区别:
1,存储数据的重要性不同。sys:所有oracle的数据词典的基表和视图都存放在sys用户中,基表和视图对于oracle的运行至关重要,由数据自己维护,任何用户都不能手动修改,sys用户拥有dba,sysdba,sysoper角色或权限,oracle权限最高的用户。
2,权限的不同。sys用户必须以as sysdba或as sysoper 形式登录,不能以normal的形式登录数据库。system如果正常登录,它其实就是一个普通的dba用户,但是如果以as sysdba登录,其结果实际上是sys用户登录的,从登录信息里面我们可以看出来。
以一个系统管理员的身份如何登录数据库?
SQL> conn sys/change-on-install as sysdba;
注意:sysoper拥有的权限sysdba都有,但是sysdba拥有的权限sysoper不一定有。
在sysdba,sysoper,dba这个用户中,sysdba的级别最高,sysoper次之,dba的级别最低。
dba用户是指拥有dba角色的数据库用户,特权用户可以执行启动,关闭实例等特殊操作,而dba用户只有启动数据库后才能执行各种管理工作。
SQL>shut down;(关闭数据库)
SQL>start up ;(启动数据库)
关闭和启动数据库只有sysdba和sysoper有这个权限,dba不具有。