`
哇哈哈852
  • 浏览: 92106 次
文章分类
社区版块
存档分类
最新评论

Oracle 创建create user 及授权grant

阅读更多


查看登陆的用户:

以下都可以: 
  show   user; 
  select   sys_context('userenv','session_user')   from   dual; 
  select   user   from   dual;   

  查看所有登录的用户必须为DBA 用户: 
  select   username   from   v$session;

sys、system等DBA 用户查看 其他用户(test)中的对象(表):
SQL> select * from test.student;


创建一个普通用户都把该用户用起来的流程:
1、创建用户
SQL>create user test indentified by test;
这样就创建了一个用户名密码都为test的用户
但这个时候test还是不能登陆成功的,我们需要赋予相应的权限

2、赋予create session的权限
SQL>grant create session to test;
这样test用户就能成功登陆进去

但是此时用户还是不能创建表 我们需要赋予用户创建表的权限:
SQL>grant create table to test;
但是用户此时还不能创建表 因为需要有使用表空间的权限(相当于 用户有了进房间的钥匙 但是没有进大门的钥匙。。。)

所以也应该赋予相应的权限
SQL>grant unlimited tablespace to test;
这个时候用户就拥有了创建表的权限 由于表是用户test的 相应的他就拥有了对创建的表的增删查改的权限了

3、查看用户拥有什么权限可以通过查询一个系统的视图(数字字典)
SQL>select * from user_sys_privs;
这样就可以知道当前用户的权限

4、撤销权限
SQL> revoke create table from test;

-----------------------------
一些常用视图的区分
dba_tables  dba_all_tables  user_tables  user_all_tables  all_tables  all_all_tables
当前用户所属的所有表(注意大写)
SQL> select tablespace_name,table_name from user_all_tables where table_name='STUDENT';
SQL> select table_name,tablespace_name from user_tables where table_name='STUDENT';
TABLE_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------
STUDENT                        USERS

sys 要查看dba_all_tables,ALL_ALL_TABLES才能查看到 test 用户的表。
SQL> select owner,table_name,tablespace_name from dba_all_tables where owner='TEST';
SQL> select owner,table_name,tablespace_name from all_all_tables where owner='TEST';
SQL> select owner,table_name,tablespace_name from dba_tables  where owner='TEST';
SQL> select owner,table_name,tablespace_name from ALL_tables  where owner='TEST';
OWNER                          TABLE_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------ ------------------------------
TEST                           STUDENT                        USERS

1.DBA_ALL_TABLES describes all object tables and relational tables in the database. Its columns are the same as those in ALL_ALL_TABLES.
2.ALL_ALL_TABLES describes the object tables and relational tables accessible to the current user.
3.USER_ALL_TABLES describes the object tables and relational tables owned by the current user. Its columns (except for OWNER) are the same as those in
ALL_ALL_TABLES.
----------------------------------------------------------------------

情景一:
用户test 用户test1
test1的用户创建了个表mytab 并且插入了一些数据
那么 test用户是否可以访问到test1的mytab怎么访问?
答:不可以,必须先授权
test1必须授权给test :grant select on mytab to test;
那么这个时候test可以通过 select * from test1.mytab;来访问mytab中的数据
如果想把某个表(对象)的所有权限都赋予给test那么可以:
grant all on mytab to test;
撤销所有权限
revoke all on mytab to test;



总结
对于系统权限由sys来做
对于对象权限由 谁拥有谁授权

系统权限
    grant create session to test;
    grant create table to test;
   grant unlimited tablespace to test;

   revoke create session from test;
   revoke create table from test;
   revoke unlimited tablespase from test;
   grant create session to public;  //表示把创建表的权限赋予所有人
   select * from user_sys_privs;  //返回当前用户的所有系统权限

对象权限
    grant select on mytab to test;
   grant all on mytab to test;

   revoke select on mytab from test;
   revoke all on mytab from test;

   select * from user_tab_privs;  //返回当前用户所有的对象权限
  
   对象权限可以控制到列
   grant update(name) on mytab to test;
   grant insert(id) on mytab to test;

   select * from user_col_privs;
   注意、:查询和删除不能控制到列  
    需要有commit的 insert update insert

权限的传递
  系统权限的传递:
   grant alter table to A with admin option;
  那么A可以通过把该权限传递给B,如果想B也可以传递下去那么可以也带上with admin option
   grant alter table to B;
  对象权限的传递:
   grant select on mytab to A with grant option;
  那么A可以把在表mytab的select权限赋予给B,如果B想也能传递该select权限也可以带上with grant option
   grant select on mytab to B;


登陆EM 的用户必须有一下权限
创建了一个用户testem,并有如下授权
create user testem identified by testem;
grant create session,select any dictionary to testem;  // testem可以登陆EM,但是还不是em的管理员。
grant MGMT_USER to testem;

非em管理员:(在“管理”下面没有下图选项)


通过EM 登陆来增加 EM管理员:
名称:testem
电子邮件地址没有为此管理员定义电子邮件地址。
有权访问所有目标的超级管理员权限。
数据库系统权限: SELECT ANY DICTIONARY
数据库角色: MGMT_USER
  • 大小: 26.6 KB
分享到:
评论

相关推荐

    Oracle创建用户,并授权DBA权限

    ### Oracle 创建用户并授权 DBA 权限 在 Oracle 数据库管理系统中,用户管理与权限分配是维护数据库安全性和操作性的关键环节。本文将详细解析如何在 Oracle 中创建用户、分级授权以及对 DBA 权限的具体操作方法,...

    oracle创建用户并授权

    ### Oracle 创建用户与授权...以上就是关于 Oracle 创建用户及授权的详细讲解。正确管理和分配用户权限对于维护数据库的安全性和完整性至关重要。希望本篇内容能帮助您更好地理解和应用 Oracle 用户管理的相关知识。

    数据库创建用户并授权

    这将使得Createuser用户拥有几乎所有的数据库管理权限,包括但不限于创建任何类型的数据库对象、管理其他用户的权限等。 ##### 撤销权限 如果需要撤销之前授予的权限,可以使用REVOKE命令。例如,撤销Createuser...

    oracle_create

    sql>create user wwuser identified by wwuser default tablespace wwspace temporary tablespace temp 位置:D:\wwOracle\wwspace.dbf 用户名: wwuser 密码: wwuser 临时表:temp 3、创建角色 ...

    Oracle数据库创建和授权

    CREATE USER ELWY IDENTIFIED BY "ELWY" DEFAULT TABLESPACE ELWY_DATA TEMPORARY TABLESPACE ELWY_TEMP; -- 用户授权 GRANT CONNECT,RESOURCE TO ELWY; GRANT UNLIMITED TABLESPACE TO ELWY;

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

    创建用户通常需要使用特权用户,如 `sys`,通过 `create user` 命令实现。例如,创建名为 `lhdz_bj` 的用户并设置密码,同时指定默认表空间和临时表空间。一旦用户创建成功,可以使用 `grant` 命令授予相应的权限,...

    oracle添加表空间用户及授权

    根据提供的文件信息,本文将详细解释Oracle数据库中如何创建表空间、用户以及对用户进行授权的相关操作。 ### 创建临时表空间 #### SQL语句解析 ```sql create temporary tablespace tablespace_temp tempfile 'D:...

    oracle 添加用户 授权问题

    ### Oracle添加用户及授权问题详解 #### 一、Oracle用户管理概述 在Oracle数据库管理系统中,用户管理是一项非常重要的任务。正确地创建用户并授予适当的权限对于确保数据的安全性和完整性至关重要。本文将详细...

    oracle创建表空间,创建用户,授权给新建的用户实例全解

    GRANT CREATE TABLE, CREATE INDEX, CREATE VIEW, CREATE PROCEDURE TO test_user; ``` 3. **操作表权限**:允许用户对表进行读写操作。 ```sql GRANT SELECT, INSERT, UPDATE, DELETE ON schema_name.table_...

    oracle 创建表空间命令

    以下是对"Oracle 创建表空间命令"以及"Oracle 创建用户及表空间,及用户权限分配"的详细解释。 首先,让我们了解如何创建Oracle用户。Oracle用户是数据库系统中的身份实体,用于访问和操作数据库资源。创建用户的...

    oracle一个创建用户,创建表空间、授权、剪标的完整的过程

    在Oracle数据库管理中,创建用户、表空间及进行权限分配是一项基本且重要的任务。下面将详细介绍这一过程,包括创建用户、创建表空间、授予权限以及如何进行剪标(即删除对象)的操作步骤。 ### 一、创建用户 ####...

    Oracle创建表空间、创建用户以及授权、查看权限.doc

    ### Oracle 创建表空间、创建用户及授权、查看权限 #### 一、创建表空间 在 Oracle 数据库中,表空间是逻辑存储结构的基本单位。它由一个或多个数据文件组成,用于存储数据库对象(如表、索引等)。创建表空间通常...

    oracle创建用户及导入环境dmp

    根据给定的文件信息,我们可以总结出以下关于Oracle数据库中创建用户、导入环境DMP以及进行相关操作的知识点: ### 一、Oracle中创建与删除用户 #### 创建用户语法: 在Oracle中创建用户的基本语法是: ```sql ...

    oracle创建用户并附权限文档

    首先,创建用户通常通过SQL命令`CREATE USER`来完成。例如,创建一个名为`NEWUSER`的用户,我们可以使用如下命令: ```sql CREATE USER NEWUSER IDENTIFIED BY password; ``` 这里的`password`是用户的新密码,可以...

    创建Oracle表空间

    create temporary tablespace user_temp tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; 2. 创建数据表空间: 数据表空间是存储...

    Oracle创建表空间、临时表、用户及用户授权

    在Oracle数据库管理中,表空间...以上就是Oracle数据库中创建表空间、临时表、用户及用户授权的基本步骤。在实际操作中,DBA应根据业务需求和安全性考虑来合理规划和管理这些元素,确保数据库的稳定运行和数据的安全。

    Oracle创建表空间、创建用户、授权、授权对象的访问以及查看权限

    根据提供的文件信息,本文将详细解释Oracle数据库中的关键操作,包括创建表空间、创建用户、授予用户权限等重要步骤,并进一步解析如何实现对特定数据库对象的访问授权以及如何查看用户的权限。 ### 一、创建表空间...

    学习oracle创建一个表空间创建临时表空间创建用户表空间资源的权限

    创建和管理表空间及用户资源权限是数据库管理员(DBA)的重要工作之一。以下将详细介绍如何在Oracle中创建表空间、临时表空间以及赋予用户对表空间的权限。 首先,我们来了解如何创建一个常规表空间: 1. **创建表...

    Oracle创建用户和授权.docx

    ### Oracle 创建用户与授权知识点详解 #### 一、Oracle 数据库用户管理概述 在 Oracle 数据库管理系统中,用户管理是一项非常重要的任务。合理的用户管理能够确保数据的安全性和系统的稳定性。对于初学者而言,...

    oracle创建表空间和用户授权及删除表空间和用户

    在Oracle数据库管理中,创建与删除表空间以及用户授权是非常重要的操作。本文将详细介绍如何在Oracle环境下进行这些操作,包括创建表空间、为用户分配权限、以及如何删除表空间和用户。 ### 一、创建表空间 #### ...

Global site tag (gtag.js) - Google Analytics