您的位置:首页 > 数据库 > Oracle

ORACLE表空间的管理与创建

2012-08-31 17:20 405 查看
一,

1,创建数据表空间

createtablespace tiger logging datafile '/u01/tiger/oradata/orcl2/tiger.dbf' size 1mautoextend on next 10M maxsize 120M extent management local;

,2,创建临时表空间

create temporarytablespace temp1 tempfile '/u01/tiger/oradata/orcl2/temp1.dbf' size 10mautoextend on next 1M maxsize 120M extent management local;

3,创建undo表空间

SQL> createundo tablespace untotbs1 datafile '/u01/tiger/oradata/orcl2/undotbs01' size10M;

创建表空间的说明

第一,nologging和logging参数的区别

有nologging参数的时候创建表空间不创建重做日志

有logging是时候创建表空间的时候创建重做日志,要记录在日志里

第二,extent management

extent management local是采用本地管理的方式管理表空间

二,管理表空间

1,删除表空间

drop tablespaceuntotbs1 including contents and datafiles

2,联机表空间

alter tablespacetiger online,

3,联机日志文件

alter databasedatafile 5 online;,

4,脱机表空间

alter tablespacetiger offline

5,脱机数据文件

alter databasedatafile 5 offline,

6,获取创建表空间元数据

selectdbms_metadata.get_ddl('TABLESPACE','TIGER') from dual;,

7,使得表空间变为只读模式

SQL> altertablespace tiger read only;,

8,使得表空间位读写模式

SQL> altertablespace tiger
read write
; 记得read和write之间没有逗号

三,空间管理

1,查看表空间大小和名字对应的数据文件

SQL> selecttablespace_name,file_name,bytes/(1024*1024) from dba_data_FIles;

记住这里的1024*1024必须加上括号

2,给表空间增加数据文件

SQL> altertablespace tiger add datafile '/u01/tiger/oradata/orcl2/tiger01.dbf' size 20m;

3,修改表空间数据文件大小

SQL> alterdatabase datafile '/u01/tiger/oradata/orcl2/tiger01.dbf' resize 10M;

4,修改表空间自动扩展

SQL> alterdatabase datafile '/u01/tiger/oradata/orcl2/tiger01.dbf' autoextend on next 10Mmaxsize 100M;

四,创建用户的时候指定表空间和临时表空间

SQL> createuser lion identified by lion default tablespace tiger temporary tablespacetemp;

补充:

1,查询表空间类型

selecttablespace_name,contents from dba_tablespaces;

2,查询表空间状态

selecttablespace_name,status from dba_tablespaces;

3,修改表空间名字

alter tablespacetiger rename to zhu;

4,不能offline的表空间有

1,systemtablespace

2,defaulttemporary

3,包含事物的UNDOtablespace

取消数据文件自动增长

alter databasedatafile '/u01/tiger/oradata/orcl2/tiger01.dbf' autoextend off;

如果表空间有约束的删除

drop tablesapcetiger including contents and datafiles cascade constraints;

数据文件的移动和改名

(1)使用altertablespace
命令

SQL> selectname from v$datafile;

NAME

--------------------------------------------------------------------------------

/u01/tiger/oradata/orcl2/system01.dbf

/u01/tiger/oradata/orcl2/tiger.dbf

/u01/tiger/oradata/orcl2/sysaux01.dbf

/u01/tiger/oradata/orcl2/users01.dbf

/u01/tiger/oradata/orcl2/undotbs02.dbf

/u01/tiger/oradata/orcl2/undotbs01

/u01/tiger/oradata/orcl2/tiger01.dbf

7 rows selected.

SQL> altertablespace tiger offline;

Tablespace altered.

SQL> !mv/u01/tiger/oradata/orcl2/tiger01.dbf /bk/

SQL> altertablespace tiger rename datafile '/u01/tiger/oradata/orcl2/tiger01.dbf' to'/bk/tiger01.dbf';

Tablespacealtered.

SQL> altertablespace tiger online;

Tablespacealtered.

SQL> selectname from v$datafile;

NAME

--------------------------------------------------------------------------------

/u01/tiger/oradata/orcl2/system01.dbf

/u01/tiger/oradata/orcl2/tiger.dbf

/u01/tiger/oradata/orcl2/sysaux01.dbf

/u01/tiger/oradata/orcl2/users01.dbf

/u01/tiger/oradata/orcl2/undotbs02.dbf

/u01/tiger/oradata/orcl2/undotbs01

/bk/tiger01.dbf

7 rows selected.

(2),使用alterdatabase
命令

使用这个命令的时候数据库在mount状态下才行

mount状态下

SQL> !mv/bk/tiger01.dbf /u01/tiger/oradata/orcl2/

SQL> alterdatabase rename file '/bk/tiger01.dbf' to '/u01/tiger/oradata/orcl2/tiger01.dbf';

Databasealtered.

SQL> alterdatabase open;

Databasealtered.

SQL> selectname from v$datafile;

NAME

----------------------------------------

/u01/tiger/oradata/orcl2/system01.dbf

/u01/tiger/oradata/orcl2/tiger.dbf

/u01/tiger/oradata/orcl2/sysaux01.dbf

/u01/tiger/oradata/orcl2/users01.dbf

/u01/tiger/oradata/orcl2/undotbs02.dbf

/u01/tiger/oradata/orcl2/undotbs01

/u01/tiger/oradata/orcl2/tiger01.dbf

7 rows selected.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: