oracle表空间操作详解
1
oracle表空间操作详解
2
3
作者: 来源: 更新日期:2006-01-04
4
5
6
7
建立表空间
8
9
CREATE TABLESPACE data01
10
DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M
11
UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k
12
13
删除表空间
14
15
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;
16
17
修改表空间大小
alter database datafile '/path/NADDate05.dbf' resize 100M
移动表至另一表空间
alter table move tablespace room1;
18
一、建立表空间
19
20
CREATE TABLESPACE data01
21
DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M
22
UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k
23
24
二、建立UNDO表空间
25
26
CREATE UNDO TABLESPACE UNDOTBS02
27
DATAFILE '/oracle/oradata/db/UNDOTBS02.dbf' SIZE 50M
28
29
#注意:在OPEN状态下某些时刻只能用一个UNDO表空间,如果要用新建的表空间,必须切换到该表空间:
30
31
ALTER SYSTEM SET undo_tablespace=UNDOTBS02;
32
33
三、建立临时表空间
34
35
CREATE TEMPORARY TABLESPACE temp_data
36
TEMPFILE '/oracle/oradata/db/TEMP_DATA.dbf' SIZE 50M
37
38
四、改变表空间状态
39
40
1.使表空间脱机
41
42
ALTER TABLESPACE game OFFLINE;
43
44
如果是意外删除了数据文件,则必须带有RECOVER选项
45
46
ALTER TABLESPACE game OFFLINE FOR RECOVER;
47
48
2.使表空间联机
49
50
ALTER TABLESPACE game ONLINE;
51
52
53
3.使数据文件脱机
54
55
ALTER DATABASE DATAFILE 3 OFFLINE;
56
57
4.使数据文件联机
58
59
ALTER DATABASE DATAFILE 3 ONLINE;
60
61
5.使表空间只读
62
63
ALTER TABLESPACE game READ ONLY;
64
65
6.使表空间可读写
66
67
ALTER TABLESPACE game READ WRITE;
68
69
五、删除表空间
70
71
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;
72
73
六、扩展表空间
74
75
首先查看表空间的名字和所属文件
76
77
select tablespace_name, file_id, file_name,
78
round(bytes/(1024*1024),0) total_space
79
from dba_data_files
80
order by tablespace_name;
81
82
1.增加数据文件
83
ALTER TABLESPACE game
84
ADD DATAFILE '/oracle/oradata/db/GAME02.dbf' SIZE 1000M;
85
86
2.手动增加数据文件尺寸
87
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf'
88
RESIZE 4000M;
89
90
3.设定数据文件自动扩展
91
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf
92
AUTOEXTEND ON NEXT 100M
93
MAXSIZE 10000M;
94
95
设定后查看表空间信息
96
97
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
98
(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"
99
FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C
100
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;
101
102
103
104
oracle表空间操作详解2

3
作者: 来源: 更新日期:2006-01-04 4
5
6
7
建立表空间8

9
CREATE TABLESPACE data0110
DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M11
UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k12

13
删除表空间14

15
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;16

17
修改表空间大小alter database datafile '/path/NADDate05.dbf' resize 100M
移动表至另一表空间
alter table move tablespace room1;
18
一、建立表空间19

20
CREATE TABLESPACE data0121
DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M22
UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k23

24
二、建立UNDO表空间25

26
CREATE UNDO TABLESPACE UNDOTBS0227
DATAFILE '/oracle/oradata/db/UNDOTBS02.dbf' SIZE 50M28

29
#注意:在OPEN状态下某些时刻只能用一个UNDO表空间,如果要用新建的表空间,必须切换到该表空间:30

31
ALTER SYSTEM SET undo_tablespace=UNDOTBS02;32

33
三、建立临时表空间34

35
CREATE TEMPORARY TABLESPACE temp_data36
TEMPFILE '/oracle/oradata/db/TEMP_DATA.dbf' SIZE 50M37

38
四、改变表空间状态39

40
1.使表空间脱机41

42
ALTER TABLESPACE game OFFLINE;43

44
如果是意外删除了数据文件,则必须带有RECOVER选项45

46
ALTER TABLESPACE game OFFLINE FOR RECOVER;47

48
2.使表空间联机49

50
ALTER TABLESPACE game ONLINE;51

52

53
3.使数据文件脱机54

55
ALTER DATABASE DATAFILE 3 OFFLINE;56

57
4.使数据文件联机58

59
ALTER DATABASE DATAFILE 3 ONLINE;60

61
5.使表空间只读62

63
ALTER TABLESPACE game READ ONLY;64

65
6.使表空间可读写66

67
ALTER TABLESPACE game READ WRITE;68

69
五、删除表空间70

71
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;72

73
六、扩展表空间74

75
首先查看表空间的名字和所属文件76

77
select tablespace_name, file_id, file_name,78
round(bytes/(1024*1024),0) total_space79
from dba_data_files80
order by tablespace_name;81

82
1.增加数据文件83
ALTER TABLESPACE game84
ADD DATAFILE '/oracle/oradata/db/GAME02.dbf' SIZE 1000M;85

86
2.手动增加数据文件尺寸87
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf'88
RESIZE 4000M;89

90
3.设定数据文件自动扩展91
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf92
AUTOEXTEND ON NEXT 100M93
MAXSIZE 10000M;94

95
设定后查看表空间信息96

97
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,98
(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"99
FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C100
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME; 101
102
103

104

转载自 http://www.initpower.com/print.php?id=103
浙公网安备 33010602011771号