01 创建数据表空间
本地管理的表空间:
create tablespace test01 datafile '/oracle/oradata/orcl/test01a.dbf' size 2m autoextend off segment space management auto;
autoextend off —不自动扩展
segment space management auto —自动段管理,推荐
不自动扩展表空间
CREATE TABLESPACE test02 LOGGING DATAFILE '/oracle/oradata/orcl/test02a.dbf' SIZE 2M AUTOEXTEND OFF, '/oracle/oradata/orcl/test02b.dbf' SIZE 2M AUTOEXTEND OFF EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
自动扩展表空间
CREATE TABLESPACE test03 LOGGING DATAFILE '/oracle/oradata/orcl/test03a.dbf' SIZE 2M AUTOEXTEND ON NEXT 1M MAXSIZE 20M, '/oracle/oradata/orcl/test03b.dbf' SIZE 2M AUTOEXTEND ON NEXT 1M MAXSIZE 20M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
创建大表空间:
CREATE BIGFILE TABLESPACE bigtbs DATAFILE '/u02/oracle/data/bigtbs01.dbf' SIZE 50G;
02 创建临时表空间
create temporary tablespace temp1 tempfile '/oracle/oradata/orcl/temp1.dbf' size 5m autoextend off;
03 创建UNDO表空间
create undo tablespace testundo1 datafile '/oracle/oradata/orcl/testundo1.dbf' size 2m autoextend off;
04 表空间的扩展与修改大小
表空间添加数据文件
alter tablespace temp1 add tempfile '/oracle/oradata/orcl/temp1b.dbf' size 5m autoextend off;
alter tablespace test01 add datafile '/oracle/oradata/orcl/test01b.dbf' size 1m autoextend off;
修改表空间文件大小
alter database datafile '/oracle/oradata/orcl/test02b.dbf' resize 2m;
select name, bytes from v$tempfile;
alter database tempfile '/oracle/oradata/orcl/temp1.dbf' resize 5m;
05 表空间重命名
ALTER TABLESPACE test03 RENAME TO test04;
06 删除表空间
drop tablespace testundo1; -- 直接删除表空间,而不删除对应的数据文件
drop tablespace test04 including contents and datafiles; --加上该选项 则连同数据文件 一起删除了
如果出现:ORA-02449: unique/primary keys in table referenced by foreign keys
select p.owner, p.table_name, p.constraint_name, f.table_name referencing_table, f.constraint_name foreign_key_name, f.status fk_status from dba_constraints P, dba_constraints F, dba_tables T where p.constraint_name = f.r_constraint_name and f.constraint_type = 'R' and p.table_name = t.table_name and t.tablespace_name = UPPER('&tablespace_name') order by 1,2,3,4,5;
删除表空间和对应的表空间文件
drop tablespace test04 including contents and datafiles cascade constraints;
07 更改表空间的读写模式
alter tablespace test01 read only; --test01表空间只读
alter tablespace test01 read write;--test01表空间可读写
查看表空间的状态
select tablespace_name,status from dba_tablespaces;
表的读写模式
alter table test read only;--让表只读 alter table test read write;--让表可读写
08 更改表空间的在线模式
alter tablespace users offline;--离线user表空间 alter database datafile 6 offline;--离线6号数据文件 alter database datafile 6 offline for drop;--离线6号数据文件,并需要恢复 alter database datafile 6 online;--使6号文件在线 recover datafile 6;--恢复6号文件