云萌主云应用官方论坛

标题: oracle表空间操作 [打印本页]

作者: frog    时间: 2016-12-28 23:17
标题: oracle表空间操作
1,查询表空间剩余
-- 剩余量
  1. <font size="2">select tablespace_name,sum(bytes) from dba_free_space group by tablespace_name;</font>
复制代码

-- 总量
  1. <font size="2">select tablespace_name,sum(bytes) from DBA_DATA_FILES group by tablespace_name;</font>
复制代码
2,查询数据库原始文件
  1. <font size="2">select * from DBA_DATA_FILES;</font>
复制代码
3,增加表空间大小的四种方法
方法1:给表空间增加数据文件
  1. <font size="2">ALTER TABLESPACE app_data ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M; </font>
复制代码

方法2:新增数据文件,并且允许数据文件自动增长
  1. <font size="2">ALTER TABLESPACE app_data ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' SIZE 50M AUTOEXTEND ON NEXT 5M MAXSIZE 100M; </font>
复制代码

方法3:允许已存在的数据文件自动增长
  1. <font size="2">ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' AUTOEXTEND ON NEXT 5M MAXSIZE 100M; </font>
复制代码

方法4:手工改变已存在数据文件的大小
  1. <font size="2">ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF' RESIZE 100M;</font>
复制代码
4,更改表及分区表的表空间
可以通过alter方法,将一个表移动到另外一个表空间中:
sql:
  1. alter table spaceOne.tablename move tablespace spaceTwo;
复制代码
解释:以上语句就是把tablename表从spaceOne移动到spaceTwo中。
备注一:当前的用户必须对spaceTwo、spaceOne都有操作权限才可以。
备注二:其实如果对两个表空间都有权限的话,可以通过
  1. create spaceTwo.tablename as select * from spaceOne.tablename;
复制代码

之后再删除spaceOne中tablename表的间接方式也能实现。
-- 分区表
  1. alter table slz_ysz move partition YSZ_200901  tablespace
复制代码

你要定义的tablespacename;
5,其它
查询数据服务地址信息:tnsping service_name
[attach]13[/attach]

来源:http://www.open-open.com/code/view/1457508793343



作者: aardwolf    时间: 2016-12-29 10:34
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 云萌主云应用官方论坛 (https://www.yunmengzhu.com/) Powered by Discuz! X3.4