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

oracle 创建create user 详解

 
阅读更多

 

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 

 

 


分享到:
评论

相关推荐

    详解oracle用户创建(create user)

    详解oracle用户创建(create user)(上) 转载 http://blog.itpub.net/26110315/viewspace-715882/ 用户能访问数据库前必须要有获得相应授权的账号,oracle中创建一个用户并为其分配密码很简单,但是在创建用户的同时...

    oracle 创建表空间命令

    在Oracle数据库管理系统中,创建表空间是管理数据库存储空间的关键操作。表空间是数据库中用于存储数据对象(如表、索引、视图等)的逻辑结构。它将物理磁盘上的一个或多个数据文件组织成一个逻辑单元,使得数据库...

    oracle oracle_dblink详解.

    Oracle 数据库链接详解 数据库链接(DBlink)是 Oracle 数据库中的一种对象,允许用户查询远程表和执行远程程序。在分布式环境中,数据库链接是必要的。数据库链接是单向的连接,在创建数据库链接时,Oracle 会在...

    oracle表空间操作详解

    Oracle 表空间操作详解 Oracle 表空间操作详解是数据库管理员在设计和管理 Oracle 数据库时的一项重要任务。通过表空间,可以控制用户对磁盘空间的使用,限制用户可以使用的磁盘空间大小,避免硬盘空间耗竭。 一、...

    oracle存储过程详解-开发技术

    ### Oracle存储过程详解 #### 一、存储过程概述 存储过程是一种存储在数据库中的SQL脚本集合,它可以接受输入参数并返回输出结果。在Oracle数据库中,存储过程使用PL/SQL语言编写,这是一种专为Oracle设计的过程化...

    Oracle Rman命令详解

    RMAN> sql "create tablespace user02 datafile '/opt/oracle/oradata/nicholas/users01.dbf' size 100m"; ``` 需要注意的是,如果SQL语句中包含单引号,那么需要使用两个单引号来表示一个单引号。 ##### 2.2 执行...

    oracle创建表空间创建用户分配权限例程详解

    ### Oracle 创建表空间、创建用户及分配权限的例程详解 #### 一、概述 在 Oracle 数据库管理中,创建表空间、用户以及为这些用户分配相应的权限是一项基础且重要的任务。通过合理地规划和设置,可以有效地管理和...

    oracle创建DBA用户

    ### Oracle 创建 DBA 用户知识点详解 #### 一、Oracle 创建 DBA 用户背景介绍 在 Oracle 数据库管理系统中,为了确保数据的安全性和管理的有效性,通常会根据不同的需求为不同的用户分配不同的权限。其中,DBA...

    ORACLE_PROFILE的使用详解

    - **SESSIONS_PER_USER**:限制用户同时可建立的会话数量。 - **CPU_PER_SESSION**:会话的CPU时间限制,单位为百分之一秒。 - **CPU_PER_CALL**:一次调用(解析、执行和提取)的CPU时间限制,单位为百分之一秒...

    Oracle 数据库 AWR 报告详解

    Oracle 数据库 AWR 报告详解 AWR(Automatic Workload Repository)是 Oracle 数据库 10g 中引入的一项关键特性,用于收集和存储数据库的历史性能数据。AWR 报告提供了详细的数据库性能信息,包括 CPU 使用率、磁盘...

    向Oracle数据库导入数据详解

    CREATE USER scott IDENTIFIED BY users; GRANT connect, resource TO scott; ``` 这里`users`是密码,`connect`和`resource`是授予用户的权限集。 ##### 3.2 配置ODBC数据源 为了能够从Access或其他应用程序中...

    oracle命令详解

    Oracle命令详解是一个面向初学者的教程,旨在帮助学习者掌握Oracle数据库的基本操作。在这个教程中,我们将重点关注如何解锁和管理用户账户,以及如何查询和调整数据库的配置参数。 首先,Oracle默认的`scott`用户...

    oracle数据库详解基础篇

    Oracle 数据库详解基础篇 Oracle 数据库是关系型数据库,也是面向对象的数据库,它是一个多层架构的数据库(C/S、B/S)。本文将对 Oracle 数据库的基础知识进行详细介绍,包括 Oracle 服务器的安装、自带工具 ...

    oracle 创建新用户 过程

    ### Oracle 创建新用户过程详解 在Oracle数据库管理中,创建新用户是一项常见的操作。通过创建新用户,可以为不同的人员或应用程序提供访问数据库的权限。本文将详细介绍如何在Oracle环境中创建新用户、备份用户...

    oracle创建表空间用户等

    ### Oracle 创建表空间、用户及分配权限详解 在Oracle数据库管理中,创建表空间和用户是常见的基础操作之一。本文将详细介绍如何在Oracle数据库中创建表空间、创建用户并分配相应的权限,以及如何设置表空间的自...

    Linux系统下的Oracle ProC数据库编程详解

    ### Linux系统下的Oracle ProC数据库编程详解 #### 一、引言 随着信息技术的发展,数据库管理系统(DBMS)已经成为现代企业信息系统的重要组成部分。Oracle数据库作为业界领先的关系型数据库管理系统之一,在企业和...

    oracle创建用户并授权

    ### Oracle 创建用户与授权详解 #### 一、创建用户 在 Oracle 数据库中,创建用户是一项常见的管理任务,用于确保数据库资源的安全访问控制。通过创建不同的用户账户,并为这些账户分配适当的权限,管理员可以实现...

    Oracle创建用户权限

    ### Oracle 创建用户与权限管理详解 #### 一、概述 在 Oracle 数据库中,创建用户并赋予相应的权限是一项重要的数据库管理工作。通过合理的权限设置,可以有效地控制不同用户对数据库资源的访问,确保数据的安全性...

Global site tag (gtag.js) - Google Analytics