oracle表空间

oracle表空间的作用是控制表的空间占用情况
表空间分为:系统表空间,非系统表空间
系统表空间分为:system表空间(里面包含数据字典)
sysaux辅助表空间(oracle不允许删除和重命名也不支持传输表空间)
三种表空间的类型:永久:存放数据以及索引
undo:存放执行DML语句时自动生成的回滚字段,系统同时只能有
一个undo表空间使用,并且在表空间满后覆盖使用
临时:存放排序数据(temp表空间){先在内存排序满了以后再在
硬盘上}
查看表所属的表空间:
selecttable_name,tablespace_namefromuser_tables;
查看数据文件信息
select*fromdba_data_files;
查看临时文件信息:
select*fromdba_temp_files;
查看表空间信息,换句话说就是查看系统里有哪些表空间
select*fromdba_tablespaces;
创建普通的永久表空间
createtablespacetest1datafile'/oracle/app/oradata/TEST/test1.dbf'size10M;
创建一个表,并且使这个表的表空间为test1
createtableyuleitablespacetest1asselect*fromdba_objects;
进入/oracle/app/oradata/TEST目录下就会出现test1.dbf数据文件
我们已经创建了一个yulei的表,表的内容来着dba_objects,我们都知道,表空间的作用是
控制表的空间使用情况,那么查看yulei这张表所占用多少空间呢?
selectbytes/1024fromuser_segmentswheresegment_name="YULEI";
上面的这个sql语句就是用来查看表所占用的空间大小,其中表user_segments可以查看到表占用
表空间大小的表。
当我们的表空间里的表快占满表空间的空间时候,那如何扩展表空间的大小呢?
alterdatabasedatafile'/oracle/app/oradata/TEST/test2.dbf'resize20M;
alterdatabasedatafile'/oracle/app/oradata/TEST/test2.dbf'autoextendonmaxsize

100M;
在表空间上添加新的数据文件:
altertablespacetest1adddatafile'/oracle/app/oradata/TEST/test2.dbf'size10M;
设置表空间读写模式切换
altertablespacetest1readonly;
altertablespacetest1readwrite;

你可能感兴趣的:(oracle,表空间)