一、对表空间的操作

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、删除默认的临时表空间

默认的临时表空间不能直接删除,我们只能通过以下步骤间接的删除默认的临时表空间:

  1. 先定义一个新的临时表空间temp2,使temp2作为中转表空间;
  2. 将默认表空间temp1换成temp2;( alter database default temporary tablespace temp1; )
  3. 然后将之前的默认临时表空间temp1删除;
  4. 在定义一个新的临时表空间temp3,使temp3作为新的默认临时表空间;
  5. 删除中转表空间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对表空间、用户、用户权限的操作的更多相关文章

  1. ORA-01950: no privileges on tablespace xxx ORA-01950: 对表空间 'xxx'无权限

    场景: 创建用户,在用户scheme下新建了一张表,插入数据时报错 ORA-01950: 对表空间 'xxx'无权限 创建用户 /*第1步:创建临时表空间 */ create temporary ta ...

  2. ORA-01950:对表空间 'USERS' 无权限

    在存储数据时出现ORA-01950:对表空间 'USERS' 无权限 错误,解决如下: 找到对象Users下的用户名,然后点编辑,角色权限添加dba 在oracle创建了一个新的表空间和一个新的用户, ...

  3. 对表空间 'USERS' 无权限

    保存对表 "CHENGYU"."T_USER" 的更改时出现一个错误: 行 1: ORA-01950: 对表空间 'USERS' 无权限   更改用户的默认表空 ...

  4. Oracle 表空间和用户权限管理

    一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...

  5. Oracle 表空间和用户权限管理【转】

    一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...

  6. linux系统下创建oracle表空间和用户权限查询

    创建用户和表空间: 1.登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户) 2.以sysdba方式来打开sqlplus,命令 ...

  7. Oracle对表空间无权限

    有的时候我们在Oracle数据库中对执行insert.update之类的语句时会出错,Oracle说我们对表空间无权限.执行下面的语句就可以修改用户对表空间的权限了. 执行语句: alter user ...

  8. Oracle表空间,用户,用户授权

    一:Oracle表空间 1,Oracle表空间与SQL Server文件组对比 SQL Server的文件组(文件组包括若干MDF,NDF数据文件)对我们来说并不陌生,前段时间我在博客“怎样玩转千万级 ...

  9. oracle 表空间,用户的创建及授权,表空间基本操作

    参考地址:https://www.cnblogs.com/zhaideyou/articles/5845271.html Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可 ...

随机推荐

  1. android TabLayout设置选项卡之间的距离无效已解决

    根据下面的链接设置完距离后无法生效 https://www.jb51.net/article/131304.htm layout <com.google.android.material.tab ...

  2. minSdkVersion、targetSdkVersion、targetApiLevel的区别

    在AndroidMenifest.xml中,常常会有下面的语句:  <uses-sdk android:minSdkVersion="4" android:targetSdk ...

  3. JSP页面的基本结构

    一:一个JSP页面由以下基本元素组成. (1)HTML标签 (2)CSS (3)变量和方法 (4)Java代码段 (5)JSP动作和指令 (6)其他脚本元素(如Javascript) 二:JSP的基本 ...

  4. HDC2021技术分论坛:如何高效完成HarmonyOS分布式应用测试?

    作者:liuxun,HarmonyOS测试架构师 HarmonyOS是新一代的智能终端操作系统,给开发者提供了设备发现.设备连接.跨设备调用等丰富的分布式API.随着越来越多的开发者投入到Harmon ...

  5. shell脚本 微信/钉钉验证登录服务器

    一.简介 登录用户需要二次验证码进行验证 可以配合 监控用户登录,发送通知给企业微信/钉钉 来使用 脚本放到/etc/profile.d/ 目录,登录的时候自动触发 二.微信脚本 1.需要修改Crop ...

  6. centos部署golang环境

    目录 一.简介 二.部署 一.简介 Go语言(或 Golang)起源于 2007 年,并在 2009 年正式对外发布.Go 是非常年轻的一门语言,它的主要目标是"兼具 Python 等动态语 ...

  7. Explain的详细使用

    官方文档 https://dev.mysql.com/doc/refman/5.7/en/explain-output.html explain俩种类型 explain extended 会在 exp ...

  8. 使用 WPF 做个 PowerPoint 系列 基于 OpenXML 解析实现 PPT 文本描边效果

    本文是使用 WPF 做个 PowerPoint 系列的博客,本文来告诉大家如何解析 PPT 里面的文本描边效果,在 WPF 应用中绘制出来,实现像素级相同 背景知识 在开始之前,期望你了解了 PPT ...

  9. Kubernetes 集群无损升级实践 转至元数据结尾

    一.背景 活跃的社区和广大的用户群,使 Kubernetes 仍然保持3个月一个版本的高频发布节奏.高频的版本发布带来了更多的新功能落地和 bug 及时修复,但是线上环境业务长期运行,任何变更出错都可 ...

  10. python3 5月26日 time模块常用时间转换 &datetime()模块学习 random()

    import time  获取当前时间: 指定字符串格式:time.strftime("%Y-%m-%d %H:%M:%S") 当前时间戳:time.time() 当前时间元组格式 ...