Oracle表空间和用户

1 oracle 表空间
  (1) 、表空间分类
      永久表空间
        表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表,所以称作表空间
 
    临时表空间
        
         oracle 临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间消耗的主要原因是需要对查询的
中间结果进行排序。 重启数据库可以释放临时表空间
   (2) 、表空间操作
       
          查看所有表空间
            select * from sys.dba_tablespaces;
            创建表空间
  select * from sys.dba_tablespaces;
create tablespace 永久表空间名称 datafile ‘ 永久表空间物理文件位置【数据文件】 .DBF’
size 100M -- size设置数据文件的大小
autoextend on next 10M -- autoextend 设置数据文件是否自动扩容, on是开启【开启后可以通过
“next xx” 设置扩容大小】, off 是关闭
maxsize 200M -- maxsize 设置上限大小和 autoextend 配合使用,不设置就是无限
[permanent] -- 设置永久表空间,设置了就是永久表空间
[online]; -- 联机状态 ,以便数据库用户访问其中的数据。但是数据库管理员可以在对表空间进行维护, 备份或恢复操作时,令表空间脱机(offline)
        表空间重命名
alter tablespace 原表空间名称 rename to 新表空间名称 ;
        增加数据文件
        
ps :一个表空间可以有多个数据文件的,每个是数据文件属于一个表空间,数据文件就是在磁盘上存储 数据的媒介。
alter tablespace 表空间名称 add datafile ‘ 数据文件路径
size 大小
autoextend on next 大小
maxsize 大小
  
        修改表空间的数据文件
PS1: 想要修改数据文件需要先将表空间改为离线状态 “offline” ,否则无法生效,因为 online 状态下,表 空间在使用数据文件,有这个读写保护的
PS2: 修改成的文件需要存在        
alter tablespace 表空间名 rename datafile ‘ 原来数据文件的路径 ’ to ‘ 新的数据文件路径 ’;
        修改数据文件大小
alter database datafile ‘ 数据文件路径 ’ resize 大小 ;
        修改数据文件为自动增长
alter database datafile ' 数据文件路径 ' autoextend on next 大小 maxsize 大小 ;
        修改表空间状态
1 、联机
alter tablespace 表空间名 online
2 、脱机
alter tablespace 表空间名 offline
3 、修改为只读表空间
alter tablespace 表空间名 read only;
4 、查看表空间状态
select * from DBA_TABLESPACES where TABLESPACE_NAME=’ 表空间名 ’;
        删除表空间
drop tablespace 表空间名 ;
        演示案例:移动数据文件
ps :在实际的开发中可能会遇到磁盘损坏,需要移动表空间文件移至安全路径
第一步:使用管理员用户操作,查看数据文件所在的表空间
select tablespace_name from dba_data_files where file_name=upper(‘ 数据文件路径 ’);
第二步:使表空间进行脱机
alter tablespace 表空间名 offline
第三步:移动数据文件至指定的目录【如果使用 linux 就用 mv 指令, window 可以用鼠标】
第四步:修改数据文件的位置
alter tablespace 表空间名 rename datafile ‘ 原来数据文件的路径 ’ to ‘ 新的数据文件路径 ’;
第五步:使用表空间联机
alter tablespace 表空间名称 online;
-- 创建表空间 --- 类似 MySQL 中创建数据库
create tablespace mytablespace datafile '/usr/local/dba/testdbf.DBF' -- LINUX
务器没有磁盘的直接是目录路径
size 100 M -- size 设置数据文件的大小
autoextend on next 10 M -- autoextend 设置数据文件是否自动扩容, on 是开启【开启后可以通
“next xx” 设置扩容大小】, off 是关闭
maxsize 200 M -- maxsize 设置上限大小和 autoextend 配合使用,不设置就是无限
permanent -- 设置永久表空间,设置了就是永久表空间
online ; -- 联机状态 ,以便数据库用户访问其中的数据。但是数据库管理员可以在对表空间进行维护,备
份或恢复操作时,令表空间脱机 (offline)
-- 修改表空间名字
alter tablespace mytablespace rename to newtablespace;
--- 追加数据文件到表空间
alter tablespace newtablespace add datafile '/usr/local/dba/testdbf_02.DBF'
size 100 M -- 文件多大
autoextend on next 10 M -- 每次扩容多少
maxsize 200 M; -- 最大上限多少
-- 修改数据文件设置
alter database datafile '/usr/local/dba/testdbf_02.DBF' resize 500 M; -- 大小 500
-- 查看某个表空间状态
select * from sys .dba_tablespaces where TABLESPACE_NAME = 'NEWTABLESPACE' ;
-- 更改表空间状态位 offline--- 离线状态
alter tablespace NEWTABLESPACE offline ;
-- 更改表空间状态位 online-- 联机状态
alter tablespace NEWTABLESPACE online ;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值