Oracle对表空间、用户、用户权限的操作
一、对表空间的操作
1、创建表空间(create tablespace)
-- 'hpdb_tablespace' 指定表空间名称
-- 'e:\hpdb.dbf' 指定表空间数据文件名称
-- size 指定表空间的初始化大小
-- autoextend on next 30M 指定当表空间不足时,自动扩增的空间大小
-- autoextend off 停止自动扩展表空间
-- maxsize unlimited 表空间的最大空间不设置上限
create tablespace hpdb_tablespace datafile 'e:\hpdb.dbf' size 100M autoextend on next 30M maxsize unlimited;
create tablespace table datafile 'e:\aa.dbf' size 10M;
2、修改表空间的大小
alter database datafile 'e:\hpdb.dbf' resize 30M;
3、为表空间设置自动扩展
alter database datafile 'e:\hpdb.dbf' autoextend on next 30M maxsize unlimited;
4、关闭表空间自动扩展
alter database datafile 'e:\hpdb.dbf' autoextend off
5、为表空间添加一个数据文件
alter tablespace hpdb_tablespace add datafile 'e:\22.dbf' size 100m;
6、删除表空间中的一个数据文件
alter tablespace hpdb_tablespace drop datafile 'e:\\22.dbf'
7、 删除表空间
-- 只删除表空间,对应的数据文件并没有删除
drop tablespace hpdb_tablespace;
-- 同时删除表空间和数据文件
-- (1)先将表空间offline
alter tablespace hpdb_tablespace offline;
-- (2)删除表空间和数据文件
-- 删除表空间、数据文件
drop tablespace hpdb_tablespace including contents and datafiles;
--删除表空间、数据文件、关联
drop tablespace hpdb_tablespace including contents and datafiles cascade constraint;
二、对临时表空间的操作
1、创建临时表空间(create temporary tablespace)
-- 和创建表空间的方式很相似
-- 注意:表空间通过create tablespace来创建;临时表空间通过create temporary tablespace类创建;表空间通过datafile为表空间指定数据文件的名称;临时表空间通过tempfile为其指定数据文件的名称
-- 临时表空间的作用:临时表空间主要用途是在数据库进行排序运算、管理索引、访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理。
create temporary tablespace hpdb_tmp tempfile 'e:\hpdb_tmp.dbf' size 100M autoextend on next 30M maxsize unlimited;
2、查看临时表空间
--查看临时表空间
select name from v$tempfile
--查看当前用户的临时表空间
select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';
3、修改临时表空间的大小
alter database tempfile 'e:\hpdb_tmp.dbf' resize 30M;
4、为临时表空间设置自动扩展
alter database tempfile 'e:\hpdb_tmp.dbf' autoextend on next 20M maxsize unlimited;
5、关闭临时表空间的自动扩展
alter database tempfile 'e:\hpdb_tmp.dbf' autoextend off;
6、为临时表空间添加一个数据文件
alter tablespace hpdb_tmp add tempfile 'e:\2.dbf' size 100M;
7、删除临时表空间中的一个数据文件
--删除2.dbf文件
alter tablespace hpdb_tmp drop tempfile 'e:\2.dbf';
8、删除临时表空间
--删除表空间,不删除.dbf文件
drop tablespace hpdb_tmp including contents and datafiles cascade constraints;
9、删除默认的临时表空间
默认的临时表空间不能直接删除,我们只能通过以下步骤间接的删除默认的临时表空间:
- 先定义一个新的临时表空间temp2,使temp2作为中转表空间;
- 将默认表空间temp1换成temp2;( alter database default temporary tablespace temp1; )
- 然后将之前的默认临时表空间temp1删除;
- 在定义一个新的临时表空间temp3,使temp3作为新的默认临时表空间;
- 删除中转表空间temp2;
经过以上几步,默认的表空间temp1就被替换成了新的表空间temp3。
三、对用户的操作
1、创建用户
-- user 后跟用户名
-- identified by 登录密码
-- default tablespace 用户默认表空间
-- temporary tablespace 用户临时表空间
-- 如果建立用户时不指定default tablespace,Oracle会将SYSTEM表空间作为用户默认表空间。
-- 如果建立用户时不能指定temporary tablespace,Oracle会将数据库默认临时表空间作为用户的临时表空间。
create user CS identified by 123456 DEFAULT tablespace hpdb_tablespace temporary tablespace hpdb_tmp;
2、更改用户的默认表空间
alter user CS default tablespace newTemp;
3、更改用户的默认临时表空间
alter user CS temporary tablespace temp3;
4、修改用户密码
alter user CS identified by 000000
5、 删除用户
--删除用户,并删除该用户创建的对象
--不能删除正在连接的用户
drop user CS cascade
6、锁定用户
alter user CS account lock;
7、解除锁定
alter user CS account unlock;
四、用户权限、角色管理
我们新创建的用户是没有任何权限的,甚至连登录连接数据的权限都没有,那么,我们在创建完用户后,就要为其分配权限,或者角色。
用户的权限分为两类:系统权限、对象权限
系统权限:允许用户执行某些数据库操作(如登录需要的权限create session;创建数据表的权限create table)。
对象权限:允许用户对某一特定对象执行特定的操作(如select、delete、update等权限)。
角 色:为了简化权限管理,进而引入了角色的概念,角色是具有名称的一组权限的组合。
系统预定义的用户角色
CONNECT:时用户 (只有登录的权限)
RESOURCE:更为可靠和正式的用户
DBA:数据库管理员角色,拥有管理数据库的最高权限,该角色不应该给一般的用户。
1、授予用户角色
--为用户CS授予connect、resource角色
GRANT CONNECT,RESOURCE TO CS;
2、授予用户系统权限
--授予用户CS登录连接数据库的权限
grant create session to CS;
--授予用户CS创建数据表的权限
grant create table to CS;
--赋予用户CS使用表空间的权限
grant ulimited tablespace to CS;
3、授予用户对象权限
-- 赋予用户CS查看数据表dept的权限
grant select on dept to CS;
-- 赋予用户CS查看所有数据表的权限
grant select any table to CS;
4、撤销用户角色
--撤销用户CS的connect、resource角色
REVOKE CONNECT,RESOURCE FROM CS;
--撤销用户CS的创建数据表的权限
revoke create table from CS;
--撤销用户CS的使用表空间的权限
revoke ulimited tablespace from CS;
--撤销用户CS的查看数据表dept的权限
revoke select on dept from CS;
--撤销用户CS查看所有数据表的权限
revoke select any table from CS;
5、权限级联
grant select on Student to CS with grant option;-- 赋予用户CS查看数据表Student的权限,并且用户CS可以将该权限赋予其他用户
- with grant option (用于对象权限授权,权限是级联的)赋予权限账户被删除或权限被撤销,被赋予权限的用户的权限也将被撤销
- with admin option (用于系统权限授权,权限是不级联的)赋予权限账户被删除或权限被撤销,被赋予权限的用户的权限不会被撤销
Oracle对表空间、用户、用户权限的操作的更多相关文章
- ORA-01950: no privileges on tablespace xxx ORA-01950: 对表空间 'xxx'无权限
场景: 创建用户,在用户scheme下新建了一张表,插入数据时报错 ORA-01950: 对表空间 'xxx'无权限 创建用户 /*第1步:创建临时表空间 */ create temporary ta ...
- ORA-01950:对表空间 'USERS' 无权限
在存储数据时出现ORA-01950:对表空间 'USERS' 无权限 错误,解决如下: 找到对象Users下的用户名,然后点编辑,角色权限添加dba 在oracle创建了一个新的表空间和一个新的用户, ...
- 对表空间 'USERS' 无权限
保存对表 "CHENGYU"."T_USER" 的更改时出现一个错误: 行 1: ORA-01950: 对表空间 'USERS' 无权限 更改用户的默认表空 ...
- Oracle 表空间和用户权限管理
一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...
- Oracle 表空间和用户权限管理【转】
一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...
- linux系统下创建oracle表空间和用户权限查询
创建用户和表空间: 1.登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户) 2.以sysdba方式来打开sqlplus,命令 ...
- Oracle对表空间无权限
有的时候我们在Oracle数据库中对执行insert.update之类的语句时会出错,Oracle说我们对表空间无权限.执行下面的语句就可以修改用户对表空间的权限了. 执行语句: alter user ...
- Oracle表空间,用户,用户授权
一:Oracle表空间 1,Oracle表空间与SQL Server文件组对比 SQL Server的文件组(文件组包括若干MDF,NDF数据文件)对我们来说并不陌生,前段时间我在博客“怎样玩转千万级 ...
- oracle 表空间,用户的创建及授权,表空间基本操作
参考地址:https://www.cnblogs.com/zhaideyou/articles/5845271.html Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可 ...
随机推荐
- navicat突然连接不上远程linux服务器上的mysql
我linux服务器上的mysql是docker安装的,突然有一天我的navicat连接不上服务器上的mysql,于是开始了下面一系列的修复 1.首先登录服务器上mysql,看是否能正常登录,我发现不能 ...
- 【C/C++】小红的字符串 / 中兴捧月
考试的时候想复杂了,其实直接一边写放进set里去重就可以了 很有意思 自己的理解就是cpp的map+set或者就是set可以完成大多数java的hashset操作 链接:https://ac.nowc ...
- 【C/C++】【输入】关于scanf:输入空格,多次使用
一.C/C++中带空格字符串的输入 C++中的cin和C中的scanf都是遇到空格或回车结束. 如果要让scanf接收空格,可以用读入字符集合的方式.%[] char a[100]; scanf(&q ...
- SpringBoot自定义控制层参数解析
一.背景 在Spring的Controller中,我们通过@RequestParam或@RequestBody就可以将请求中的参数映射到控制层具体的参数中,那么这个是怎么实现的呢?如果我现在控制层中的 ...
- redis实例cpu占用率过高问题优化
目录 一.简介 一.简介 前情提要: 最近接了大数据项目的postgresql运维,刚接过来他们的报表系统就出现高峰期访问不了的问题,报表涉及实时数据和离线数据,离线读pg,实时读redis.然后自然 ...
- 前端浅谈-协议相关(DNS协议)
从应用层到实体层的协议太多了,我们并不能一一涉及,目前来说就打算整理可能会与前端相关的协议. 前端面试常会问到一个问题-"从输入一个url到页面渲染经历了哪些过程".这其实是一个相 ...
- python之异步编程
一.异步编程概述 异步编程是一种并发编程的模式,其关注点是通过调度不同任务之间的执行和等待时间,通过减少处理器的闲置时间来达到减少整个程序的执行时间:异步编程跟同步编程模型最大的不同就是其任务的切换, ...
- uwsgi nginx与django之间的关系以及各自的作用
首先要明确几个概念及其作用(注意大小写的区别): WSGI uWSGI uwsgi Nginx WSGI 是一种协议,不是任何包不是任何服务器,就和 TCP 协议一样.它定义了 Web 服务器和 We ...
- LuoguP7369 [COCI2018-2019#4] Elder 题解
Content 有一个魔杖最初在 \(Z\) 巫师中.经过 \(n\) 轮较量,第 \(i\) 轮中,\(Z_{i,1}\) 巫师打败了 \(Z_{i,2}\) 巫师.如果一个巫师打败了拥有魔杖的巫师 ...
- Base64编码原来是这么回事儿
鸣谢CSDN文章:https://blog.csdn.net/believesoul/article/details/84100616 一.言简意赅理解Base64编码 就是将以"字节&qu ...