from dba_tables
where OWNER='peter'
DATAFILE 'D:\oracle\ora92\oradata\db\DATA01.dbf' SIZE 200M
UNIFORM SIZE 128k;
#指定区尺寸为128k,如不指定,区尺寸默认为64k
TEMPFILE 'D:\oracle\ora92\oradata\db\TEMP_DATA.dbf' SIZE 100M
CREATE USER peter IDENTIFIED BY peter
DEFAULT TABLESPACE data01 TEMPORARY TABLESPACE temp_data;
CREATE TABLESPACE data01
DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M
UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k
删除表空间
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;
一、建立表空间
CREATE TABLESPACE data01
DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M
UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k
二、建立UNDO表空间
CREATE UNDO TABLESPACE UNDOTBS02
DATAFILE '/oracle/oradata/db/UNDOTBS02.dbf' SIZE 50M
#注意:在OPEN状态下某些时刻只能用一个UNDO表空间,如果要用新建的表空间,必须切换到该表空间:
ALTER SYSTEM SET undo_tablespace=UNDOTBS02;
三、建立临时表空间
CREATE TEMPORARY TABLESPACE temp_data
TEMPFILE '/oracle/oradata/db/TEMP_DATA.dbf' SIZE 50M
四、改变表空间状态
1.使表空间脱机
ALTER TABLESPACE game OFFLINE;
如果是意外删除了数据文件,则必须带有RECOVER选项
ALTER TABLESPACE game OFFLINE FOR RECOVER;
2.使表空间联机
ALTER TABLESPACE game ONLINE;
3.使数据文件脱机
ALTER DATABASE DATAFILE 3 OFFLINE;
4.使数据文件联机
ALTER DATABASE DATAFILE 3 ONLINE;
5.使表空间只读
ALTER TABLESPACE game READ ONLY;
6.使表空间可读写
ALTER TABLESPACE game READ WRITE;
五、删除表空间
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;
六、扩展表空间
首先查看表空间的名字和所属文件
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;
1.增加数据文件
ALTER TABLESPACE game
ADD DATAFILE '/oracle/oradata/db/GAME02.dbf' SIZE 1000M;
2.手动增加数据文件尺寸
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf'
RESIZE 4000M;
3.设定数据文件自动扩展
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf
AUTOEXTEND ON NEXT 100M
MAXSIZE 10000M;
设定后查看表空间信息
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"
FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;
oralce安装完后,可以这样登陆管理:
一、$sqlplus /nolog
$SQL>connect sys/manger as sysdba;
$SQL>startup;
二、在使用的时候要创建表空间,在9i后,好象回滚段默认是自动管理的,不需要干预,下面就是创建表空间,用户和授权(我们可以把表空间理解为一个数据库实例),在表空间上可以再创建表。
1:创建表空间
CREATE TABLESPACE ts_name DATAFILE '/dev/name1' SIZE 2000M, '/dev/name2' SIZE 2000M
DEFAULT STORAGE ( INITIAL 64K NEXT 64K MAXEXTENTS UNLIMITED PCTINCREASE 50 );
2:修改表空间
alter TABLESPACE ts_name add DATAFILE '/dev/name3' SIZE 2000M;
3:回滚段
CREATE ROLLBACK SEGMENT "RS01" TABLESPACE "TS_name"
STORAGE ( INITIAL 8M NEXT 8M MAXEXTENTS UNLIMITED);
4:创建用户和授权
CREATE USER tempuser IDENTIFIED BY tempuser
DEFAULT TABLESPACE TS_name1 TEMPORARY TABLESPACE TS_name2;
GRANT CONNECT TO tempuser;
GRANT DBA TO tempuser;
GRANT resource TO tempuser;
5:创建表
create table tablename
(
f1 NUMBER(10) not null,
f2 NUMBER(10) null ,
f3 NUMBER(3) defalut 0,
pt number(3) not null ,
constraint PK_tablename primary key (f1)
using index
tablespace ts_name
storage
(
initial 1m
next 1m
pctincrease 0
)
)
pctfree 10
tablespace ts_name
storage
(
initial 1m
next 1m
pctincrease 0
)
partition by range(pt)
(partition part000 values less than (1) tablespace ts_name,
partition part001 values less than (2) tablespace ts_name,
)
/
6:创建索引
create index i_tablename1 on tablename(f2)
tablespace ts_name
storage
(
initial 500k
next 500k
pctincrease 0
)