oracle表空间操作详解

1 oracle表空间操作详解
2
3 作者:来源:更新日期:2006-01-04
4
5
6
7 建立表空间
8
9 CREATETABLESPACEdata01
10 DATAFILE'/oracle/oradata/db/DATA01.dbf'SIZE500M
11 UNIFORMSIZE128k;#指定区尺寸为128k,如不指定,区尺寸默认为64k
12
13 删除表空间
14
15 DROPTABLESPACEdata01INCLUDINGCONTENTSANDDATAFILES;
16
17 修改表空间大小
alter database datafile '/path/NADDate05.dbf' resize 100M

移动表至另一表空间
alter table move tablespace room1;
18 一、建立表空间
19
20 CREATETABLESPACEdata01
21 DATAFILE'/oracle/oradata/db/DATA01.dbf'SIZE500M
22 UNIFORMSIZE128k;#指定区尺寸为128k,如不指定,区尺寸默认为64k
23
24 二、建立UNDO表空间
25
26 CREATEUNDOTABLESPACEUNDOTBS02
27 DATAFILE'/oracle/oradata/db/UNDOTBS02.dbf'SIZE50M
28
29 #注意:在OPEN状态下某些时刻只能用一个UNDO表空间,如果要用新建的表空间,必须切换到该表空间:
30
31 ALTERSYSTEMSETundo_tablespace=UNDOTBS02;
32
33 三、建立临时表空间
34
35 CREATETEMPORARYTABLESPACEtemp_data
36 TEMPFILE'/oracle/oradata/db/TEMP_DATA.dbf'SIZE50M
37
38 四、改变表空间状态
39
40 1.使表空间脱机
41
42 ALTERTABLESPACEgameOFFLINE;
43
44 如果是意外删除了数据文件,则必须带有RECOVER选项
45
46 ALTERTABLESPACEgameOFFLINEFORRECOVER;
47
48 2.使表空间联机
49
50 ALTERTABLESPACEgameONLINE;
51
52
53 3.使数据文件脱机
54
55 ALTERDATABASEDATAFILE3OFFLINE;
56
57 4.使数据文件联机
58
59 ALTERDATABASEDATAFILE3ONLINE;
60
61 5.使表空间只读
62
63 ALTERTABLESPACEgameREADONLY;
64
65 6.使表空间可读写
66
67 ALTERTABLESPACEgameREADWRITE;
68
69 五、删除表空间
70
71 DROPTABLESPACEdata01INCLUDINGCONTENTSANDDATAFILES;
72
73 六、扩展表空间
74
75 首先查看表空间的名字和所属文件
76
77 selecttablespace_name,file_id,file_name,
78 round(bytes/(1024*1024),0)total_space
79 fromdba_data_files
80 orderbytablespace_name;
81
82 1.增加数据文件
83 ALTERTABLESPACEgame
84 ADDDATAFILE'/oracle/oradata/db/GAME02.dbf'SIZE1000M;
85
86 2.手动增加数据文件尺寸
87 ALTERDATABASEDATAFILE'/oracle/oradata/db/GAME.dbf'
88 RESIZE4000M;
89
90 3.设定数据文件自动扩展
91 ALTERDATABASEDATAFILE'/oracle/oradata/db/GAME.dbf
92 AUTOEXTENDONNEXT100M
93 MAXSIZE10000M;
94
95 设定后查看表空间信息
96
97 SELECTA.TABLESPACE_NAME,A.BYTESTOTAL,B.BYTESUSED,C.BYTESFREE,
98 (B.BYTES*100)/A.BYTES"%USED",(C.BYTES*100)/A.BYTES"%FREE"
99 FROMSYS.SM$TS_AVAILA,SYS.SM$TS_USEDB,SYS.SM$TS_FREEC
100 WHEREA.TABLESPACE_NAME=B.TABLESPACE_NAMEANDA.TABLESPACE_NAME=C.TABLESPACE_NAME;
101

你可能感兴趣的:(oracle)