--创建表空间
createtablespacetest_datadatafile'E:\app\Administrator\oradata\orcl\TEST_DATA01.DBF'size32mautoextendonnext32Mmaxsize2048Mextentmanagementlocal;
createtablespacetest1datafile'e:\app\Administrator\oradata\orcl\test1.DBF'size32mautoextendonnext32Mmaxsize2048Mextentmanagementlocal;
--增加数据文件
altertablespacetest_dataadddatafile'E:\app\Administrator\oradata\orcl\TEST_DATA02.DBF'size10m;
altertablespacetest_dataadddatafile'E:\app\Administrator\oradata\orcl\TEST_DATA03.DBF'size10m;
--修改数据库表空间大小的语句:
alterdatabasedatafile'E:\app\Administrator\oradata\orcl\TEST_DATA02.DBF'resize40m;
--数据文件移动
selecttablespace_name,file_namefromdba_data_files;
altertablespaceTEST_DATAOFFLINE;
altertablespaceTEST_DATAONLINE;
删除表空间,同时删除数据文件:
droptablespacetest_dataincludingcontentsanddatafiles;
altertablespacetablespace_namedropdatafilefile_name;
altertablespacetest_datadropdatafileTEST_DATA02.DBF;
脱机状态:
alterdatabasedatafile'E:\app\Administrator\oradata\orcl\TEST_DATA02.DBF'offlinedrop;
alterdatabasedatafile'E:\app\Administrator\oradata\orcl\TEST_DATA02.DBF'online
ORA-01110错误
这里的恢复有个前提:
1.删除数据文件,而且没有备份。
2.是在将数据库转变为ARCHIVELOG模式之后建立的数据文件。
解决步骤是:重新创建一个数据文件,然后recover过来就可以了,不过前提是日志文件还在。
1.startupmount
2.alterdatabasecreatedatafile'E:\app\Administrator\oradata\orcl\TEST_DATA02.DBF';
3.setautorecoveryon;
4.recoverdatafile'E:\app\Administrator\oradata\orcl\TEST_DATA02.DBF';
5.alterdatabasedatafile'E:\app\Administrator\oradata\orcl\TEST_DATA02.DBF'online;
6.alterdatabaseopen;
强制更改为force状态:
startupmountforce
selecttablespace_name,statusfromdba_tablespaces;
本人很喜欢Oracle表空间,在工作中也很喜欢总结关于Oracle表空间状态的经验教训,下面就这个问题来详细说说吧。
1、查询Oracle表空间状态
selecttablespace_name,statusfromdba_tablespaces;
2、更改Oracle表空间状态
altertablespacebookoffline/online/readonly/readwrite;
离线/在线/只读/读写
3、数据文件移动
selecttablespace_name,file_namefromdba_data_files;
altertablespacebookoffline;
将要修改的文件移动到新目录下
altertablespacebookrenamedatafile'/u01/oradata/oracle8i/sales01.dbf'to'/u02/oradata/oracle8i/sales01.dbf';
4、修改数据文件的online/offline属性
archivelog模式下
alterdatabasedatafile'/u01/oradata/oracle8i/sales01.dbf'offline;
noarchivelog模式下
alterdatabasedatafile'/u01/oradata/oracle8i/sales01.dbf'offlinedrop;
5、数据字典表空间与本地化管理表空间的转化为
selecttablespace_name,extent_management,allocation_typefromdba_tablespace;
execdbms_space_admin.tablespace_migrate_to_local('book')
系统表空间system和临时表空间temp不得转换
execdbms_space_admin.tablespace_migrate_from_local('book')
6、删除表空间
droptablespacestudentincludingcontents;
includingcontents将表空间及实体删除
createtabletest(idnumber(3))tablespacetest_tablesapce;
以上介绍Oracle表空间状态,这里我发表一下个人理解,和大家讨论讨论。