oracle表空间查询及操作方法

A.查询文本
1。查询Oracle表空间的使用
选择b.file_id文件ID,
b.tablespace_name表空间,
b.file_name物理文件名,
b.bytes字节总数,
(b.bytes-sum(NVL(a.bytes,0)))已被使用,
和(NVL(a.bytes,其余0)),
和(NVL(a.bytes,0))/(b.bytes)×100残留率
从dba_free_space,dba_data_files B
在a.file_id = b.file_id
通过b.tablespace_name,b.file_name,b.file_id组,b.bytes
为了b.tablespace_name
2。查询Oracle系统用户的默认表空间和临时表空间
选择default_tablespace,temporary_tablespace从dba_users
三.单个表的使用
选择segment_name,从dba_segments哪里segment_name = 're_stdevt_fact_day'and所有者=用户字节
re_stdevt_fact_day是你要查询的表名
4。使用大小查询所有用户表的前三十个名称
SELECT * FROM(选择segment_name,字节从dba_segments,业主按字节=用户DESC)在行号30
5。查询当前用户默认表空间的用法。
选择tablespacename,总和(总),和(usecontent),和(sparecontent),AVG(sparepercent)。


选择,b.file_id,,ID,b.tablespace_name作为tablespacename,b.bytes为总,(b.bytes-sum(b.bytes-sum(0))),
从dba_free_space,dba_data_files B
在a.file_id = b.file_id和(选择default_tablespace从dba_users b.tablespace_name =么=用户)
通过b.tablespace_name,b.file_name,b.file_id组,b.bytes

集团通过tablespacename
6。查询用户表空间的表。
SELECT * FROM user_tables
==================================================================================
首先,设置表空间
创建表空间
datafile'c: / / / oradata Oracle DB / test01 dbf'size 50m。
大小1M均匀;#指定区域大小为128k,如果没有指定,默认的分区大小是64K

创建表空间
datafile'c: / / / oradata Oracle DB / test01 dbf'size 50m。
最低程度50k本地管理表空间
默认存储(初步英镑50K下50k maxextents 100 pctincrease 0);
从dba_tablespaces查看新创建的表空间信息
两。设置撤消表空间
创建撤销表空间test_undo
datafile'c: / / / oradata Oracle DB / test_undo dbf'size 50m。
的撤销表空间的程度是本地管理,和数据文件和范围管理条款只能用于创建SQL语句。
Oracle规定,在任何时候都只能向数据库分配一个还原表空间,也就是说,在一个实例中可以有多个还原表空间,但只能有一个活动。
SQL >修改系统设置undo_tablespace = test_undo;
三。建立临时表空间
创建临时表空间test_temp
tempfile的 /甲骨文/ oradata / / test_temp dbf'size 50m分贝。
查看系统的默认临时表空间
SELECT * FROM dba_properties哪里property_name like'default %
更改系统默认的临时表空间
更改数据库的默认临时表空间test_temp;
四。更改表空间的状态
1。使表空间脱机
脱机表空间测试;
如果意外删除数据文件,则必须有恢复选项。
恢复表空间游戏测试;
2。在线制作表空间
联机表空间测试;
三.使数据文件脱机
使数据文件脱机3;
4。在线制作数据文件
使数据文件3在线;
5。使表空间为只读
只读表;
6。使表空间可读
表空间读写测试;
五。删除表空间
删除表空间数据文件的内容,包括荷兰级联约束;
删除表空间的表空间名称{包括ING内容数据文件} { {和} }级联约束
1。包括工作内容条款是用来删除片段
2。和文件的条款是用来删除数据文件
3。级联约束子句用于删除所有引用完整性约束。

六。扩展表空间
首先查看表空间的名称和文件。
选择tablespace_name,file_id,file_name,
圆(字节/(1024×1024),0)total_space
从dba_data_files
为了tablespace_name;
1。添加数据文件
改变表空间
添加数据文件 / / / oradata Oracle DB / test02 dbf'size 1000m;
2。手动增加数据文件的大小
修改数据库datafile'c: / / / oradata Oracle DB / test01 DBF。
调整100m;
三.设置自动数据文件扩展名
修改数据库datafile'c: / / / oradata Oracle DB / test01 DBF。
自动下一亿
为200m;
设置后,表空间的信息可以从dba_tablespace查看,和相应的数据文件信息从V$DATAFILE视
==================================================================================
创建表空间SCGL
datafile'e:甲骨文产品 10.1.0 oradata scgl2 DBF的公司。
大小50m
自动
下一50m MAXSIZE 20480m
局部管理;
创建表空间test_data
登录中
datafile'e:甲骨文产品 10.1.0 oradata user_data DBF的公司。
大小50m
自动
下一50m MAXSIZE 20480m
局部管理;
创建用户SCGL经qwer1234
默认表空间SCGL
临时表空间scgl_temp;
tempfile'e:甲骨文产品 10.1.0 oradata user_temp DBF的公司。
创建临时表空间scgl_temp
tempfile'e:甲骨文产品 10.1.0 oradata scgl_temp DBF的公司。
大小50m
自动
下一50m MAXSIZE 20480m
局部管理;
格兰特连接资源,DBA SCGL;
Oracle创建了一个表空间sys用户,在DBA下作为DBA登录:
在CMD玩SQLPlus /对于
然后再次
Conn /数据库
创建一个临时表空间
创建临时表空间user_temp
tempfile会: Oracle oradata Oracle9i user_temp DBF。
大小50m
自动
下一50m MAXSIZE 20480m
局部管理;
创建表空间
创建表空间test_data
登录中
数据文件会: Oracle oradata Oracle9i user_data DBF。
大小50m
自动
下一50m MAXSIZE 20480m
局部管理;
创建一个用户并指定表空间
创建由密码标识的用户用户名
user_data默认表空间
临时表空间user_temp;
查询表空间使用
选择上(f.tablespace_name)表空间的名字
d.tot_grootte_mb 的表空间的大小(M)
d.tot_grootte_mb - f.total_bytes已用空间(M)
to_char(圆((d.tot_grootte_mb - f.total_bytes) / d.tot_grootte_mb * 100,2),'990.99)| |比
f.total_bytesM
f.max_bytes M
从tablespace_name(选择,
圆(SUM(字节)/(1024×1024),2)total_bytes,
圆(max(字节)/(1024×1024),2)max_bytes
从sys.dba_free_space
通过tablespace_name F组),
(选择dd.tablespace_name,
圆(sum(dd.bytes)/(1024×1024),2)tot_grootte_mb
从sys.dba_data_files DD
通过dd.tablespace_name D组)
在d.tablespace_name = f.tablespace_name
以1
查询表空间的空闲空间
选择tablespace_name,
计数(*)作为扩展,
圆(总和(字节) 1024 1024, 2)为MB,
作为块的总和(块)
从dba_free_space
集团通过tablespace_name;
-查询表空间的总容量
选择tablespace_name,总和(字节)/ 1024 / 1024 MB
从dba_data_files
集团通过tablespace_name;
查询表空间使用
选择total.tablespace_name,
圆(total.mb,2)为total_mb,
圆(total.mb - free.mb,2)为used_mb,
圆((1 free.mb /总。MB)* 100, 2)| used_pct | %
从(选择tablespace_name,总和(字节)/ 1024 / 1024 MB
从dba_free_space
集团通过tablespace_name)免费,
(选择tablespace_name,总和(字节)/ 1024 / 1024 MB
从dba_data_files
集团总tablespace_name)
在free.tablespace_name = total.tablespace_name;
-----------------------------------------------------------------------------------------------------------------------------
1。设置表空间:创建表空间数据文件 / /债券dbf'size 10m大小128k统一测试。
#指定区域大小为128k,缺省的块大小为8K
#大文件表空间创建大文件表空间的数据文件的big_tbs / / big_tbs.dbf大小100g U01
2、非标准表显示参数DB改变系统设置db_2k_cache_size = 10m创建表空间的数据文件的测试建设,
#常见错误
SQL >修改系统设置db_2k_cache_size=2m;改变系统设置db_2k_cache_size = 2M的错误,db_2k_cache_size=2m,它也被称为以下三个方面。
#溶液
SQL >修改系统设置sga_max_size = 400m范围=数据库;SQL >立即关闭;>启动SQL,SQL >;
三.看大小和块大小#大小Conn Y / 123创建表(我数)表空间;插入T值(10)选择字节/ 1024从user_segments哪里segment_name =上(不);
#块大小显示(默认64K)参数块
#非标准表空间块SQL SELECT * FROM SQL > >选择名字,V DBFile美元;block_size,状态从V$DATAFILE SQL >选择block_size从V$DATAFILE;那里的文件# = 14;
4。删除表空间删除表空间包含的内容以及数据文件
5。表空间:#检查数据文件从V DBFile美元选择;#所有表SELECT * FROM v$表空间;
#表空间的数据文件选择file_name,tablespace_name从dba_data_files;
6。设置撤销表空间创建新的UNDO表空间的数据文件 / / undotbs01 dbf'size 5m债券;
#切换到新的改变系统设置undo_tablespace = undotbs01撤销表空间;
7、建立临时表空间创建临时表空间temp_data tempfile ' /债券/温度。db'size 5m;创建临时文件,大文件;
8。更改表空间的状态
(0)查看国家
#表空间状态选择tablespace_name,block_size现状,从dba_tablespaces;
#状态选择数据文件名,block_size V$DATAFILE状态,从;
(1)脱机空间表空间离线测试
如果#意外删除数据文件改变表空间脱机恢复
(2)表空间在线修改表空间在线测试
(3)数据文件脱机查询V$ DBFile;使数据文件脱机3
(4)数据文件在线恢复数据文件3;使数据文件3在线;
(5)使表空间只读更改表空间测试只读。
(6)使表空间可读并编写表空间测试读写;
表9。扩展空间#首先检查表空间的名字和相关的文件并选择tablespace_name,file_id,file_name,圆(字节/(1024×1024),0)由tablespace_name阶dba_data_files total_space;#三扩展方法
1.alter表空间添加数据的 / / test02债券。dbf'size 10m(自动添加一个数据文件)
2.alter数据库数据文件 / /测试dbf'resize 20m债券;
3.alter数据库数据文件 / /债券测试。dbf'autoextend下10m MAXSIZE 1g;
#设置查看表空间信息
选择a.tablespace_name,a.bytes总,b.bytes使用,c.bytes自由,(b.bytes×100)/ a.bytes %使用
10。移动表空间中的数据文件
#首先确定数据文件根据表空间
SQL >选择tablespace_name,从dba_data_files哪里file_name = / /测试file_name U01 DBF;
#开放状态
SQL >修改表空间脱机测试;SQL >主机移动 / / / test.dbf U01 U01 / / test.dbf Oracle SQL >;改变表空间试验,已改变;
的#安装状态是SQL >立即关闭;SQL >启动安装SQL >主机移动 / / / test.dbf U01 U01 / / test.dbf Oracle SQL数据库SQL >;>改变改变;
11。表空间和数据文件,常用的数据字典和动态性能视图V $ DBFile V$DATAFILE dba_segments user_segments dba_data_files v$表空间dba_tablespaces user_tablespaces。
-查询表空间使用情况
选择上(f.tablespace_name)表空间的名字
d.tot_grootte_mb 的表空间的大小(M)
d.tot_grootte_mb - f.total_bytes已用空间(M)
to_char(圆((d.tot_grootte_mb - f.total_bytes) / d.tot_grootte_mb * 100,2),'990.99)| |比
f.total_bytesM
f.max_bytes M
从tablespace_name(选择,
圆(SUM(字节)/(1024×1024),2)total_bytes,
圆(max(字节)/(1024×1024),2)max_bytes
从sys.dba_free_space
通过tablespace_name F组),
(选择dd.tablespace_name,
圆(sum(dd.bytes)/(1024×1024),2)tot_grootte_mb
FROM SYS.DBA_DATA_FILES DD
通过dd.tablespace_name D组)
在d.tablespace_name = f.tablespace_name
以1
-查询表空间的空闲空间
选择tablespace_name,
计数(*)作为扩展,
圆(总和(字节) 1024 1024, 2)为MB,
作为块的总和(块)
从dba_free_space
集团通过tablespace_name;
-查询表空间的总容量
选择tablespace_name,总和(字节)/ 1024 / 1024 MB
从dba_data_files
集团通过tablespace_name;
-查询表空间使用情况
选择total.tablespace_name,
圆(total.mb,2)为total_mb,
圆(total.mb - free.mb,2)为used_mb,
圆((1 free.mb /总。MB)* 100, 2)| used_pct | %
从(选择tablespace_name,总和(字节)/ 1024 / 1024 MB
从dba_free_space
集团通过tablespace_name)免费,
(选择tablespace_name,总和(字节)/ 1024 / 1024 MB
从dba_data_files
集团总tablespace_name)
在free.tablespace_name = total.tablespace_name;
授予权限
将连接、资源授予用户名;
用户登录/后,任何数据库对象的创建由user_temp和user_data属于表空间,
这不需要为每个对象指定一个表空间。
撤销权力:
撤销权限…从用户名;
删除用户命令
删除用户user_name级联;

设置表空间
创建表空间
可以 / / / oradata Oracle DB / dbf'size 500m立。
大小128k均匀;#指定区域大小为128k,如果没有指定,默认的分区大小是64K

删除表空间
滴表空间包括ING内容和数据文件;
首先,设置表空间
创建表空间
可以 / / / oradata Oracle DB / dbf'size 500m立。
大小128k均匀;#指定区域大小为128k,如果没有指定,默认的分区大小是64K
两。设置撤消表空间
创建撤销表空间undotbs02
可以 / / / oradata Oracle DB / undotbs02 dbf'size 50m。
#注:一段时间只撤销表空间在打开状态,如果你想使用新的表空间,您必须切换到表空间:
改变系统设置undo_tablespace = undotbs02;
三。建立临时表空间
创建临时表空间temp_data
tempfile的 /甲骨文/ oradata / / temp_data dbf'size 50m分贝。
四。更改表空间的状态
1。使表空间脱机
离线表空间游戏;
如果意外删除数据文件,则必须有恢复选项。
离线恢复表空间游戏;
2。在线制作表空间
在线改变表空间;
三.使数据文件脱机
使数据文件脱机3;
4。在线制作数据文件
使数据文件3在线;
5。使表空间为只读
仅更改只读表;
6。使表空间可读
表空间读写;
五。删除表空间
滴表空间包括ING内容和数据文件;

六。扩展表空间
首先查看表空间的名称和文件。
选择tablespace_name,file_id,file_name,
圆(字节/(1024×1024),0)total_space
从dba_data_files
为了tablespace_name;
1。添加数据文件
改变表空间的游戏
添加数据文件 / / / oradata Oracle DB / game02 dbf'size 1000m;
2。手动增加数据文件的大小
使数据文件 / / / oradata Oracle DB /游戏。dbf
调整4000m;
三.设置自动数据文件扩展名
使数据文件 / / / oradata Oracle DB / game.dbf
自动下一亿
为10000m;

设置后查看表空间信息
选择a.tablespace_name,a.bytes总,b.bytes使用,c.bytes自由,
(b.bytes×100)/ a.bytes %使用
从系统ts_avail美元。SM,SM系统。ts_used美元B、C SM ts_free美元系统。
在a.tablespace_name = b.tablespace_name和a.tablespace_name = c.tablespace