目前orcl数据库用sys as sysdba创建用户:
create user epa_dev identified by epa_dev default tablespace NNC_DATA01 temporary tablespace temp;
grant create session to epa_dev;
grant create table to epa_dev;
grant dba to epa_dev;
alter user epa_dev quota unlimited on NNC_DATA01;
create user eprk_dev identified by eprk_dev default tablespace NNC_DATA01 temporary tablespace temp;
grant dba to eprk_dev;
alter user eprk_dev quota unlimited on NNC_DATA01;
create user wujian identified by wujian default tablespace users temporary tablespace temp;
grant create session to wujian;
grant create table to wujian;
--改变用户在表空间上的配额,10gR2后不能在temp分配
alter user wujian quota unlimited on users;
--分配dba角色
grant dba to wujian;
--分配all对象权限
grant all on wujian."user" to wujian;
--查询用户所拥有的系统权限
select * from dba_sys_privs where lower(grantee)='wujian';
--查询用户所拥有的对象权限
select * from dba_tab_privs where lower(grantee)='wujian';
转:http://www.cnblogs.com/linjiqin/archive/2012/01/31/2332616.html
三、oracle 用户管理一
一、创建用户
概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用。
create user 用户名 identified by 密码;
注意:oracle有个毛病,密码必须以字母开头,如果以数字开头,它不会创建用户
eg、create user xiaoming identified by oracle;
二、给用户修改密码
概述:如果给自己修改密码可以直接使用
SQL> password 用户名或passw
如果给别人修改密码则需要具有dba的权限,或是拥有alter user的系统权限
SQL> alter user 用户名 identified by 新密码
三、删除用户
概述:一般以dba的身份去删除某个用户,如果用其它用户去删除用户则需要具有drop user的权限。
比如drop user 用户名 【cascade】
注意:在删除用户时,如果要删除的用户,已经创建了表,那么就需要在删除的时候带一个参数cascade,即把该用户及表一同删除;
四、权限
权限分为系统权限和对象权限。
何为系统权限?
用户对数据库的相关权限,connect、resource、dba等系统权限,如建库、建表、建索引、建存储过程、登陆数据库、修改密码等。
何为对象权限?
用户对其他用户的数据对象操作的权限,insert、delete、update、select、all等对象权限,数据对象有很多,比如表,索引,视图,触发器、存储过程、包等。
执行SELECT * FROM Dba_Object_Size;语句可得到oracle数据库对象。
五、角色
角色分为预定义角色和自定义角色。
六、用户管理的综合案例
概述:创建的新用户是没有任何权限的,甚至连登陆的数据库的权限都没有,需要为其指定相应的权限。给一个用户赋权限使用命令grant,回收权限使用命令revoke。
为了讲清楚用户的管理,这里我给大家举一个案例。
SQL> conn xiaoming/oracle
ERROR:
ORA-01045: user XIAOMING lacks CREATE SESSION privilege; logon denied
警告: 您不再连接到 ORACLE。
SQL> show user
USER 为 ""
SQL> conn system/oracle
已连接。
SQL> grant connect to xiaoming;
授权成功。
SQL> conn xiaoming/oracle
已连接。
SQL>
注意:grant connect to xiaoming;在这里,准确的讲,connect不是权限,而是角色。
现在说下对象权限,现在要做这么件事情:
* 希望xiaoming用户可以去查询emp表
* 希望xiaoming用户可以去查询scott的emp表
grant select on scott.emp to xiaoming
* 希望xiaoming用户可以去修改scott的emp表
grant update on scott.emp to xiaoming
* 希望xiaoming 用户可以去修改/删除,查询,添加scott的emp表
grant all on scott.emp to xiaoming
* scott希望收回xiaoming对emp表的查询权限
revoke select on scott.emp from xiaoming
七、权限的传递
//对权限的维护。
* 希望xiaoming用户可以去查询scott的emp表/还希望xiaoming可以把这个权限传递给别人。
--如果是对象权限,就加入with grant option
grant select on emp to xiaoming with grant option
我的操作过程:
SQL> conn scott/oracle;
已连接。
SQL> grant select on scott.emp to xiaoming with grant option;
授权成功。
SQL> conn system/oracle;
已连接。
SQL> create user xiaohong identified by oracle;
用户已创建。
SQL> grant connect to xiaohong;
授权成功。
SQL> conn xiaoming/oracle;
已连接。
SQL> grant select on scott.emp to xiaohong;
授权成功。
--如果是系统权限。
system给xiaoming权限时:grant connect to xiaoming with admin option
问题:如果scott把xiaoming对emp表的查询权限回收,那么xiaohong会怎样?
答案:被回收。
下面是我的操作过程:
SQL> conn scott/oracle;
已连接。
SQL> revoke select on emp from xiaoming;
撤销成功。
SQL> conn xiaohong/oracle;
已连接。
SQL> select * from scott.emp;
select * from scott.emp
*
第 1 行出现错误:
ORA-00942: 表或视图不存在
结果显示:小红受到诛连了。。
八、with admin option与with grant option区别
1、with admin option用于系统权限授权,with grant option用于对象授权。
2、给一个用户授予系统权限带上with admin option时,此用户可把此系统权限授予其他用户或角色,但收回这个用户的系统权限时,这个用户已经授予其他用户或角色的此系统权限不会因传播无效,如授予A系统权限create session with admin option,然后A又把create session权限授予B,但管理员收回A的create session权限时,B依然拥有create session的权限,但管理员可以显式收回B create session的权限,即直接revoke create session from B.
而with grant option用于对象授权时,被授予的用户也可把此对象权限授予其他用户或角色,不同的是但管理员收回用with grant option授权的用户对象权限时,权限会因传播而失效,如grant select on table with grant option to A,A用户把此权限授予B,但管理员收回A的权限时,B的权限也会失效,但管理员不可以直接收回B的SELECT ON TABLE 权限。
四、oracle 用户管理二
一、使用profile管理用户口令
概述:profile是口令限制,资源限制的命令集合,当建立数据库时,oracle会自动建立名称为default的profile。当建立用户没有指定profile选项时,那么oracle就会将default分配给用户。
1.账户锁定
概述:指定该账户(用户)登陆时最多可以输入密码的次数,也可以指定用户锁定的时间(天)一般用dba的身份去执行该命令。
例子:指定scott这个用户最多只能尝试3次登陆,锁定时间为2天,让我们看看怎么实现。
创建profile文件
SQL> create profile lock_account limit failed_login_attempts 3 password_lock_time 2;
SQL> alter user scott profile lock_account;
2.给账户(用户)解锁
SQL> alter user scott account unlock;
3.终止口令
为了让用户定期修改密码可以使用终止口令的指令来完成,同样这个命令也需要dba的身份来操作。
例子:给前面创建的用户test创建一个profile文件,要求该用户每隔10天要修改自己的登陆密码,宽限期为2天。看看怎么做。
SQL> create profile myprofile limit password_life_time 10 password_grace_time 2;
SQL> alter user test profile myprofile;
二、口令历史
概述:如果希望用户在修改密码时,不能使用以前使用过的密码,可使用口令历史,这样oracle就会将口令修改的信息存放到数据字典中,这样当用户修改密码时,oracle就会对新旧密码进行比较,当发现新旧密码一样时,就提示用户重新输入密码。
例子:
1)建立profile
SQL>create profile password_history limit password_life_time 10 password_grace_time 2
password_reuse_time 10 //password_reuse_time指定口令可重用时间即10天后就可以重用
2)分配给某个用户
SQL> alter user test profile password_history;
三、删除profile
概述:当不需要某个profile文件时,可以删除该文件。
SQL> drop profile password_history 【casade】
注意:文件删除后,用这个文件去约束的那些用户通通也都被释放了。。
加了casade,就会把级联的相关东西也给删除掉
十一、oracle 数据库管理员
一、数据库管理员
每个oracle数据库应该至少有一个数据库管理员(dba),对于一个小的数据库,一个dba就够了,但是对于一个大的数据库可能需要多个dba分担不同的管理职责。那么一个数据库管理员的主要工作是什么呢:
1.安装和升级oracle 数据库
2.建库,表空间,表,视图,索引…
3.制定并实施备份和恢复计划
4.数据库权限管理,调优,故障排除
5.对于高级dba,要求能参与项目开发,会编写sql 语句、存储过程、触发器、规则、约束、包
二、管理数据库的用户主要是sys和system(sys好像是董事长,system好像是总经理,董事长比总经理大,但是通常是总
经理干事)
在前面我们已经提到这两个用户,区别主要是:
1.最重要的区别,存储的数据的重要性不同
sys:所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle 的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。sys用户拥有dba,sysdba,sysoper角色或权限,是oracle权限最高的用户。
system:用于存放次一级的内部数据,如oracle的一些特性或工具的管理信息。system用户拥有dba,sysdba 角色或系统权限。
注意:sysdba可以建数据库,sysoper不能建数据库
2. 其次的区别,权限的不同。
sys用户必须以as sysdba或as sysoper形式登录。不能以normal方式登录数据库。
system如果正常登录,它其实就是一个普通的dba用户,但是如果以as sysdba登录,其结果实际上它是作为sys用户登录的,从登录信息里面我们可以看出来。
sysdba和sysoper权限区别图,看图:
sysdba>sysoper>dba
可以看到:只要是sysoper拥有的权限,sysdba都有;蓝色是它们区别的地方。(它们的最大区别是:sysdba可以创建数据库,sysoper不可以创建数据库)
dba权限的用户
dba用户是指具有dba角色的数据库用户。特权用户可以执行启动实例,关闭实例等特殊操作,而dba用户只有在启动数据库后才能执行各种管理工作。(相当于说dba连startup和shutdown这两个权限都没有)。
两个主要的用户,三个重要权限,他们的区别和联系,大家要弄清楚。
三、管理初始化参数
1)、管理初始化参数(调优的一个重要知识点,凭什么可以对数据库进行调优呢?是因为它可以对数据库的一些参数进行修改修正)
初始化参数用于设置实例或是数据库的特征。oracle9i提供了200多个初始化参数,并且每个初始化参数都有默认值。
2)、显示初始化参数:show parameter
3)、如何修改参数
需要说明的是如果你希望修改这些初始化的参数,可以到文件D:\oracle\admin\myoral\pfile\init.ora文件中去修改。
相关推荐
Oracle ERP 用户操作文档,(深入浅出系列)
通常linux下用安装oracle后,只有切换至oracle用户下方可执行相关的数据库的sqlplus及imp\exp相关命令的操作,经过这里的此配置后方可解决此问题,所有用户下均可以执行上述相关操作
自己在linux 下处理oracle 用户锁定的操作记录,希望能方便有需要的人。
ORACLE中一个用户操作另一个用户的某些表 oracle同义词
Oracle创建表空间、创建用户并指定表空间、给用户授予权限
Oracle登录sqlplus的方式,Oracle表空间基本操作,Oracle用户的基本操作,Oracle导入导出基本操作,Oracle查看当前和断开会话连接 ,Oracle11g数据导入10g数据库
oracle用户的权限详细说明以及赋权的操作,帮助新手理解用户以及赋权的过程
3. oracle用户、组 (linux用户、组的操作命令、切换用户) 4. oracle安装需要的包(软件)支持 5. linux软件安装、解压缩的命令,yum工具 6. oracle需要的网络设置(linux主机名,网络配置、网络查看) 7. oracle存储...
在cmd下创建用户,以及用户相关的一些操作。
本文在作者测试通过的基础上,采用图文相结合的格式和方式,对用户和表空间的概念和使用方法进行了详尽说明,零基础入门级读者只需按照本文内容逐步进行学习和操作,即可完成 Oracle 用户和表空间的学习和掌握。
详细介绍oracle中各种用户操作,包括创建、权限设置等
资源名称:Oracle 11g R2 DBA操作指南内容简介:Oracle数据库是一款优秀且应用广泛的关系数据库管理系统。本书全面、详细地讲解了Oracle llgR2数据库管理技术,是学习0racle数据库管理的实用教材和参考书。 本书共...
详解oracle用户创建(create user)(上) 转载 http://blog.itpub.net/26110315/viewspace-715882/ 用户能访问数据库前必须要有获得相应授权的账号,oracle中创建一个用户并为其分配密码很简单,但是在创建用户的同时...
自己总结的Oracle用户管理的基本操作,适合初学者
Oracle数据库后台操作的脱敏处理.pdf
oracle数据库导入、导出数据、创建表空间、创建用户、用户授权等操作
Oracle禁用操作系统认证方式登陆及禁止SYS远程登录。Oracle数据库默认允许操作系统登录,尝试登录获取SYS权限将带来极大安全威胁。另外禁止SYS远程登录能有效保证数据库安全。
Oracle设置用户权限,不同权限操作不同表信息。里面有其他信息。
Oracle discover基本操作手册
oracle数据库账户被锁原因查找及处理,oracle修改用户密码后账号死锁原因查找及解决办法(Windows操作系统,Linux操作系统套路一样)