`
jayghost
  • 浏览: 440431 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Oracle用户相关操作

 
阅读更多

目前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文件中去修改。

分享到:
评论

相关推荐

    Linux下修改Oracle用户密码

    这一步骤非常重要,因为后续的操作需要在Oracle用户的环境下进行。 3. **启动SQL*Plus工具**:输入`sqlplus /nolog`命令进入SQL*Plus工具,这是一个用于与Oracle数据库交互的命令行工具。 4. **连接到Oracle数据库...

    Oracle EBS 操作手册

    本操作手册将详细介绍Oracle EBS系统的使用方法和功能特性,帮助用户熟悉并掌握其核心功能。 在Oracle EBS R12版本中,主要包含了以下关键知识点: 1. **财务模块**:Oracle EBS的财务模块提供了一整套全面的财务...

    oracle 数据库用户被锁定在linux下操作

    Oracle 数据库用户锁定解决方案在 Linux 下的操作记录 Oracle 数据库用户锁定是指用户账户被锁定,无法登录数据库的情况。这种情况可能是由于用户密码输入错误次数超过限制,或者是数据库管理员对用户账户进行了...

    oracle用户管理PPT

    Oracle用户管理是数据库管理系统中的核心组成部分,它涉及到数据库的安全性、权限控制以及不同角色的划分。在Oracle中,用户管理主要包括创建、管理、权限分配和撤销等操作,以确保数据库的稳定运行和数据的安全。 ...

    解决oracle下非oracle用户下执行sqlplus

    通常linux下用安装oracle后,只有切换至oracle用户下方可执行相关的数据库的sqlplus及imp\exp相关命令的操作,经过这里的此配置后方可解决此问题,所有用户下均可以执行上述相关操作

    Oracle ERP 用户操作文档

    Oracle ERP 用户操作文档,(深入浅出系列)

    C#版Oracle数据库通用操作类

    ### C# 版 Oracle 数据库通用操作类解析 在现代软件开发中,数据库操作是必不可少的一部分,而 C# 结合 Oracle 数据库的应用尤为广泛。本文将深入探讨一个用于简化 Oracle 数据库操作的 C# 类——`ConnForOracle`。...

    Oracle用户与对象权限与系统权限

    Oracle用户与对象权限是指用户在数据库中的访问权限和操作权限。Oracle用户可以拥有不同的权限,例如创建用户、修改用户、删除用户、访问数据库对象等。同时,Oracle用户也可以拥有模式权限,例如创建模式、修改模式...

    oracle用户密码重置

    #### 一、Oracle用户管理概述 在Oracle数据库系统中,用户管理是一项非常重要的任务,它涉及到数据的安全性和访问控制。Oracle提供了多种方式来管理和维护用户账号,其中包括创建新用户、修改用户属性、锁定或解锁...

    Oracle相关命令操作

    Oracle登录sqlplus的方式,Oracle表空间基本操作,Oracle用户的基本操作,Oracle导入导出基本操作,Oracle查看当前和断开会话连接 ,Oracle11g数据导入10g数据库

    Oracle_EBS_R12_操作手册

    首先,Oracle EBS R12系统提供了多个预定义的角色(职责)以便用户根据不同岗位权限进行操作,例如AlertManager、ApplicationDiagnostics、GlobalSuperHRMSManager、iProcurement等。每个角色都关联了特定的系统功能...

    Oracle用户(user)和表空间(tablespace).pdf

    本文主要探讨了 Oracle 用户(user)和表空间(tablespace)的相关概念、创建、配置、修改以及删除等核心操作,旨在为初学者提供一个清晰的学习路径。 首先,Oracle 用户是数据库的访问实体,它代表了数据库的认证...

    Oracle RAC重启操作手册

    - **背景**: 在Oracle RAC环境中,不同的操作需要不同的用户权限来执行。 - **目的**: 确保使用正确的用户来进行特定的操作。 - **操作方法**: - 切换到`grid`用户来查看集群状态和服务状态。 - 切换到`oracle`...

    Oracle基础操作手册

    3. 用户与模式:每个Oracle用户都有一个对应的模式,包含用户的所有对象。 四、SQL基础 1. DDL(Data Definition Language):用于定义数据库对象,如创建、修改和删除表、视图、索引等。 2. DML(Data ...

    Oracle禁用操作系统认证方式登陆及SYS远程登录

    本篇文章主要针对如何禁用Oracle数据库的操作系统认证方式以及禁止SYS用户远程登录两个方面进行详细介绍,旨在帮助读者理解和掌握相关技术要点。 #### 一、Oracle禁用操作系统认证方式登陆 Oracle数据库默认情况下...

    Oracle基本操作指南

    ### Oracle基本操作指南 #### 一、Oracle基本概念与组件 **1.1 用户权限** 在Oracle数据库系统中,用户权限的设计与管理是基于角色的,这意味着每一个数据库账户都有其对应的权限集。与Informix数据库相比,...

    Oracle专用Linux操作系统-OracleLinux-R6-U5-Server-x86_64

    这个操作系统的关键特性包括对性能的优化,特别是对于运行Oracle软件的服务器,以及与Red Hat Enterprise Linux的高度兼容性,使得用户可以在不改变现有基础设施的情况下,享受到Oracle提供的技术支持。 Oracle ...

    oracle数据库导入数据以及创建用户

    - 导入数据可能涉及锁定表,避免与其他用户操作冲突。 - 用户创建时要谨慎分配权限,避免权限过大导致安全风险。 - 定期审查和更新用户权限,以保持良好的数据库安全实践。 在实际操作中,可以参考给定的文档...

Global site tag (gtag.js) - Google Analytics