`
boss5518831534
  • 浏览: 230979 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Oracle数据库权限管理常用的SQL语句

阅读更多

1、 Oracle9g中的三个默认用户

   用户名                 密码

   sys                  change_on_install     [as sysdba]

   system               manager

   scott                 tiger

2、 用户登录

1) 开启监听

   C:\Users\Administrator>lsnrctl start

2) 开启数据库的实例

   C:\Users\Administrator>oradim -starup -sid orcl

3)超级管理员登录

   C:\Users\Administrator>sqlplus / as sysdba

4)创建普通用户并登录

   create user lisi identified by lisi;            //创建一个用户名为 lisi ,密码为 lisi 的用户

   default tablespace users                        //默认表空间为 users ,用来存放数据

   temporary tablespace temp                       //临时表空间 temp ,等于 windows 临时文件夹

   quota 50M on users                              //限定用户只能使用 users 表空间为 50M

   C:\Users\Administrator>sqlplus lisi/lisi        //lisi用户登录

5)限制用户

   用户加锁:alter User 用户名 Account Lock

   用户解锁:alter User 用户名 Account Unlock

   用户口令既刻失效:alter User  用户名 Password Expire

6)删除用户

   Drop user 用户名          用户下面没有对象

   Drop User 用户名  cascade   其中 CasCade 表示删除用户所有对象

7)断开正在连接的用户

   SQL>disconn

3、 系统权限

   grant create session to lisi;                 //授予 lisi 会话的权限

   grant create table to lisi;                   //授予 lisi 创建表的权限

   grant unlinited tablespace to lisi;            //授予 lisi 无限制使用表空间的权限    

   revoke create session from lisi;             //撤销 lisi 会话的权限

   revoke create table from lisi;               //撤销 lisi 创建表的权限

   revoke unlimited tablespace to lisi;          //撤销 lisi 无限制使用表空间的权限

4、 对象权限

   grant select on mytable to lisi;              //授予 lisi 查看 mytable 表的权限

   grant insert on mytable to lisi;              //授予 lisi mytable 表中插入数据的权限

   grant all on mytable to lisi;                //授予 lisi 操作 mytable 表所有的权限

   revoke select on mytable from lisi;            //撤销 lisi 查看 mytable 表的权限

   revoke insert on mytable from lisi;            //撤销 lisi mytable 表插入数据的权限

   revoke all on mytable from lisi;              //撤销 lisi 操作 mytable 表的所有权限  

5、 给所有用户授予权限

   grant create any table to public;              //把创建表的权限授予给所有用户

   grant create session to public;               //把会话的权限授予给所有的用户

   grant unlinited tablespace to public;          //把无限之使用表空间的权限授予给所有的用户

   grant select on mytable to public;             //把查看 mytable 表的权限授予给所有用户  

   revoke create any table from public;           //撤销所有用户创建表的权限

   revoke create session from public;            //撤销多有用户的会话权限

   revoke unlinited tablespace from public;        //撤销用户无限制使用表空间的权限

6、 使用数字字典

   select*from user_sys_privs;                 //查看当前用户拥有哪些系统权限

   select*from user_tab_privs;                 //查看当前用户拥有哪些对象权限

    select * from dba_users;                        // 查看数据库里面所有用户,前 dba权限的帐号, sys,system

    select * from all_users;                          // 查看你能管理的所有用户!

   s elect * from user_users;                       // 查看当前用户信息 !

7、 对象权限可以控制到列

   grant update(name) on mytable to lisi;        //授予 lisi 用户更新 mytable name 列的权限

   grant insert(id) on mytable to lisi;           //授予 lisi 用户在 mytable id 列插入数据的权限

   select*from user_col_privs;                  //查看当前用户拥有哪些列的对象权限

注意:查询和删除不能控制到列。                   //ddl  dml  dcl

8、 系统权限的传递

   grant alter any table to lisi with admin option;       //超级管理员授予 lisi 修改任意表的管理权限

9、 对象权限的传递

   grant select on  A  to lisi with grant option;         // A 表的查看权限授予给 lisi    

10、设置命令行屏幕的宽度

set linesize 400                                //设置行的宽度为 400

11、 角色

create role myrole;                           //创建角色

grant create session to myrole;               //授予会话权限给角色

grant create table to myrole;                 //授予创建表权限给角色

drop role myrole;                            //删除角色

Create table

Create any table

Alter any table

Drop any table

注意:有些系统权限无法直接赋予角色

Grant unlinited tablespace to myrole;

Alter table

Drop table

表是属于某一个用户的,而角色不属于任一用户的,是共同拥有的。

12、获取表:

select table_name from user_tables;                //当前用户的表       

select table_name from all_tables;                 //所有用户的表   

select table_name from dba_tables;                //包括系统表

select table_name from dba_tables where owner='用户名 '

user_tables

table_name,tablespace_name,last_analyzed

dba_tables

ower,table_name,tablespace_name,last_analyzed

all_tables

ower,table_name,tablespace_name,last_analyzed

all_objects

ower,object_name,subobject_name,object_id,created,last_ddl_time,timestamp,status

13、获取表字段:

select * from user_tab_columns where Table_Name='用户表 ';

select * from all_tab_columns where Table_Name='用户表 ';

select * from dba_tab_columns where Table_Name='用户表 ';

user_tab_columns

table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id

all_tab_columns 

ower,table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id

dba_tab_columns

ower,table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id

14、获取表注释:

select * from user_tab_comments

user_tab_comments table_name,table_type,comments

相应的还有dba_tab_comments all_tab_comments ,这两个比 user_tab_comments 多了 ower 列。

15、获取字段注释:

select * from user_col_comments

user_col_comments table_name,column_name,comments

相应的还有dba_col_comments all_col_comments ,这两个比 user_col_comments 多了 ower 列。

 

 

转载于:http://my.oschina.net/u/273709/blog/86116

分享到:
评论

相关推荐

    Oracle数据库常用sql语句的分类和常用函数.docx

    根据提供的文档信息,本文将详细解析Oracle数据库中的关键SQL语句分类、常用SQL语句以及Oracle函数的应用场景。此外,还将简要介绍Oracle数据库的一些基本管理命令,如启动与关闭服务、用户管理等。 ### 一、Oracle...

    Oracle数据库维护常用SQL语句集合

    进行Oracle数据库维护,掌握一些常用的SQL语句是必不可少的。本文将深入探讨Oracle数据库维护中的核心SQL语句,帮助你更好地管理和优化数据库。 1. **数据查询(SELECT语句)**:SELECT语句是SQL中最基本的语句,...

    ORACLE数据库常用的SQL语句[文].pdf

    本资源提供了ORACLE数据库中常用的SQL语句,包括用户管理、权限管理、表管理等多个方面的操作。 一、用户管理 在ORACLE数据库中,用户管理是非常重要的一部分。创建用户、授予权限、撤销权限都是DBA需要掌握的基本...

    Oracle Sql语句转换成Mysql Sql语句

    在使用这个工具时,开发者需要确保源代码中的SQL语句是标准的Oracle SQL格式,避免使用特定Oracle数据库的特性,以提高转换的成功率。同时,转换后还需要对生成的MySQL SQL进行测试,确保在目标数据库环境中能正常...

    数据库开发 Oracle数据库 SQL开发教程 全套PPT课件 共20个章节.rar

    数据库开发 Oracle数据库 SQL开发教程 第02章 编写简单的查询语句(共34页).pdf 数据库开发 Oracle数据库 SQL开发教程 第03章 限制数据和对数据排序(共37页).pdf 数据库开发 Oracle数据库 SQL开发教程 第04章 ...

    oracle数据库常用操作语句

    oracle数据库常用操作语句,实现对用户的管理和权限管理。

    Oracle数据库sql转换mysql数据库工具

    "Oracle数据库sql转换mysql数据库工具" 提供了解决这一问题的解决方案,允许用户将Oracle数据库中的SQL语句或数据结构转换为MySQL兼容的格式。 在数据库迁移过程中,这样的工具至关重要,因为它可以简化工作流程,...

    学生成绩管理系统Oracle全部SQL语句.txt

    (1)选定某一主题,创建一个oracle数据库,对其进行日常管理及应用(全部用SQL语句实现): 1、创建数据库实例,数据库表空间,创建管理员,普通用户,并分别授予相应权限; 2、至少建立5个表,以及表间关系,使用...

    oracle 数据库的学习资料, sql语句的详细学习资料

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其强大的功能和高效的数据处理能力深受企业和开发者的青睐。SQL(Structured Query Language)是与数据库交互的主要语言,对于理解和操作Oracle数据库至关...

    Oracle数据库语句大全.doc

    Oracle 数据库语句大全是 Oracle 数据库管理系统中的一系列语句,用于管理和操作数据库。这些语句可以分为五大类:数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)和事务控制语言(TCL)。 一....

    oracle常用sql语句大全 注释完整 放心使用

    本资料集包含了Oracle数据库中常用SQL语句的大全,注释完整,非常适合初学者和有经验的开发者参考使用。 1. **数据查询(SELECT语句)**: - `SELECT * FROM table_name;`:查询表table_name中的所有列。 - `...

    oracle 数据库 scott.sql 范例表

    - 使用"SYSTEM"用户登录Oracle数据库,因为SYSTEM具有足够的权限创建和管理其他用户。 - 执行"scott.sql"脚本,通常是通过命令行工具或图形界面工具完成的。命令行下,你可以输入`@路径\to\scott.sql`来执行脚本。...

    oracle数据库连接工具

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,用于存储、管理和检索复杂的数据。为了与Oracle数据库进行交互,我们需要可靠的连接工具。"Oracle数据库连接工具"指的是可以方便地连接到Oracle数据库并执行...

    Oracle数据库安全管理

    本文将深入探讨Oracle数据库安全的几个核心方面,包括概要文件、用户管理以及权限和角色的管理。 首先,概要文件是Oracle数据库安全策略的核心元素,它允许管理员对用户的资源使用进行约束,并管理用户的密码策略。...

    ORACLe数据库管理员教程

    DBA的职责广泛,包括理解Oracle数据库的体系结构、安装和升级数据库管理系统、控制数据库的启动和关闭、管理数据库用户、权限、存储空间以及执行数据库的备份和恢复操作。 Oracle数据库的体系结构主要由物理结构、...

    导入oracle数据库时的sql语句

    一般在导入数据库时,所要创建表空间、用户名,修改密码以及基本权限的赋予的sql语句。

    Oralce数据库SQL和pl_sql实例教程

    Oracle数据库是世界上最流行的数据库管理系统之一,SQL(Structured Query Language)是用于管理关系数据库的标准语言,而PL/SQL是Oracle数据库特有的编程语言,扩展了SQL的功能,使得能够编写复杂的存储过程和...

Global site tag (gtag.js) - Google Analytics