Oracle创建表空间、创建用户以及授权、查看权限
2015-08-14 18:24
711 查看
创建临时表空间
CREATE TEMPORARY TABLESPACE test_temp
TEMPFILE 'C:\oracle\product\10.1.0\oradata\orcl\test_temp01.dbf'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
创建用户表空间
CREATE TABLESPACE test_data
LOGGING
DATAFILE 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\TEST_DATA01.DBF'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
创建用户并制定表空间
CREATE USER username IDENTIFIED BY password
DEFAULT TABLESPACE TEST_DATA
TEMPORARY TABLESPACE TEST_TEMP;
给用户授予权限
GRANT
CREATE SESSION, CREATE ANY TABLE, CREATE ANY VIEW ,CREATE ANY INDEX, CREATE ANY PROCEDURE,
ALTER ANY TABLE, ALTER ANY PROCEDURE,
DROP ANY TABLE, DROP ANY VIEW, DROP ANY INDEX, DROP ANY PROCEDURE,
SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE
TO username;
将role这个角色授与username,也就是说,使username这个用户可以管理和使用role所拥有的资源
GRANT role TO username;
给用户撤销权限
基本语法同grant,关键字为revoke
例如:revoke drop any view,drop any table from scott;
-----------------------------------------------查看用户权限---------------------------------------------------------
查看所有用户
SELECT * FROM DBA_USERS;
SELECT * FROM ALL_USERS;
SELECT * FROM USER_USERS;
查看用户系统权限
SELECT * FROM DBA_SYS_PRIVS;
SELECT * FROM USER_SYS_PRIVS;
查看用户对象或角色权限
SELECT * FROM DBA_TAB_PRIVS;
SELECT * FROM ALL_TAB_PRIVS;
SELECT * FROM USER_TAB_PRIVS;
查看所有角色
SELECT * FROM DBA_ROLES;
查看用户或角色所拥有的角色
SELECT * FROM DBA_ROLE_PRIVS;
SELECT * FROM USER_ROLE_PRIVS;
-------遇到no privileges on tablespace 'tablespace '
alter user userquota 10M[unlimited] on tablespace;
normal 是普通用户 ;
sysdba拥有最高的系统权限,登陆后是 sys;
sysoper主要用来启动、关闭数据库,sysoper 登陆后用户是 public;
sysdba和sysoper属于system privilege,也称为administrative privilege,拥有例如数据库开启关闭之类一些系统管理级别的权限。
CREATE TEMPORARY TABLESPACE test_temp
TEMPFILE 'C:\oracle\product\10.1.0\oradata\orcl\test_temp01.dbf'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
创建用户表空间
CREATE TABLESPACE test_data
LOGGING
DATAFILE 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\TEST_DATA01.DBF'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
创建用户并制定表空间
CREATE USER username IDENTIFIED BY password
DEFAULT TABLESPACE TEST_DATA
TEMPORARY TABLESPACE TEST_TEMP;
给用户授予权限
GRANT
CREATE SESSION, CREATE ANY TABLE, CREATE ANY VIEW ,CREATE ANY INDEX, CREATE ANY PROCEDURE,
ALTER ANY TABLE, ALTER ANY PROCEDURE,
DROP ANY TABLE, DROP ANY VIEW, DROP ANY INDEX, DROP ANY PROCEDURE,
SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE
TO username;
将role这个角色授与username,也就是说,使username这个用户可以管理和使用role所拥有的资源
GRANT role TO username;
给用户撤销权限
基本语法同grant,关键字为revoke
例如:revoke drop any view,drop any table from scott;
-----------------------------------------------查看用户权限---------------------------------------------------------
查看所有用户
SELECT * FROM DBA_USERS;
SELECT * FROM ALL_USERS;
SELECT * FROM USER_USERS;
查看用户系统权限
SELECT * FROM DBA_SYS_PRIVS;
SELECT * FROM USER_SYS_PRIVS;
查看用户对象或角色权限
SELECT * FROM DBA_TAB_PRIVS;
SELECT * FROM ALL_TAB_PRIVS;
SELECT * FROM USER_TAB_PRIVS;
查看所有角色
SELECT * FROM DBA_ROLES;
查看用户或角色所拥有的角色
SELECT * FROM DBA_ROLE_PRIVS;
SELECT * FROM USER_ROLE_PRIVS;
-------遇到no privileges on tablespace 'tablespace '
alter user userquota 10M[unlimited] on tablespace;
normal 是普通用户 ;
sysdba拥有最高的系统权限,登陆后是 sys;
sysoper主要用来启动、关闭数据库,sysoper 登陆后用户是 public;
sysdba和sysoper属于system privilege,也称为administrative privilege,拥有例如数据库开启关闭之类一些系统管理级别的权限。
相关文章推荐
- 使用Apache JMeter对SQL Server、Mysql、Oracle压力测试(四)
- win7 or xp 下oracle 导入or导出
- oracle 根据一个表生成另一个新表和一个现有表给一个新的表赋值
- oracle 操作表
- oracle 分组后,求和
- 重装Oracle 10g RAC如何干净的清理系统
- 使用Apache JMeter对SQL Server、Mysql、Oracle压力测试(三)
- 配置 Oracle 11g侦听器来使用SQL操作ST_Geometry(DLL路径问题)
- Windows下Oracle数据库自动备份批处理脚本
- 使用Apache JMeter对SQL Server、Mysql、Oracle压力测试(二)
- 蓝色的成长记录——追逐DBA(8):为了夺回SP报告,回顾oracle的STATSPACK实验
- Oracle rman中restore和recover的区别
- Oracle导入:转储文件可能是原始的导出文件
- 使用Apache JMeter对SQL Server、Mysql、Oracle压力测试(一)
- Oracle 11g安装图文攻略
- Oracle 11g系统自动收集统计信息的一些知识
- oracle server配置:监听程序未启动或数据库服务未注册到该监听程序
- sap使用DB13和brtools发起oracle数据库备份
- 简析Oracle数据库常见问题及解决方案
- ORACLE删除用户的有的表的方法