ORACLE表空间的管理与创建

来源:互联网 发布:java输入流读取文件 编辑:程序博客网 时间:2024/04/28 04:02

一,

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;

                                                     创建表空间的说明

第一,nologginglogging参数的区别

  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;   记得readwrite之间没有逗号

 

三,空间管理

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.

 

 

原创粉丝点击