网页设计和网站开发哪个好,手机端做的优秀的网站设计,c2c模式是什么意思,百度seo通科在我们详细介绍之前#xff0c;我们必须说清楚一点#xff1a;Oracle不提供如删除表、视图一样删除数据文件的方法#xff0c;数据文件是表空间的一部分#xff0c;所以不能“移走”表空间。一、使用offline数据文件的方法非归档模式使用#xff1a;alter database datafi…在我们详细介绍之前我们必须说清楚一点Oracle不提供如删除表、视图一样删除数据文件的方法数据文件是表空间的一部分所以不能“移走”表空间。一、使用offline数据文件的方法非归档模式使用alter database datafile ... offline drop;归档模式使用alter database datafile ... offline;说明1)以上命令只是将该数据文件OFFLINE而不是在数据库中删除数据文件。该数据文件的信息在控制文件种仍存在。查询v$datafile仍显示该文件。2)归档模式下offline和offline drop效果是一样的3)offline后存在此datafile上的对象将不能访问4)noarchivelog模式下只要online redo日志没有被重写可以对这个文件recover后进行online操作实际使用案例直接删除数据文件后无法进入系统的解决方案正常情况下删除表空间的正确方法为DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;如果没有通过以上命令删除而直接删除了数据文件将导致数据库无法打开。如果直接删除了数据文件普通用户登录时则报错ORA-01033: ORACLE initialization or shutdown in progresssys用户可以正常登录但进行操作时(SELECT count(1) FROM user_tables)则会报错ORA-01219:数据库未打开:仅允许在固定表/视图中查询如果执行命令alter database open以打开数据库时又报如下错ORA-01157:无法标识/锁定数据文件12 -请参阅DBWR跟踪文件ORA-01110:数据文件12: E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TSTEST001.DBF说明数据库没找到这个数据文件因为数据文件在没有被offline的情况下物理删除了,导致oracle的数据不一致,因此启动失败.通过以下方法即可解决解决方法sqlplus sys/orclorcl as sysdba;SQL alter database datafile E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TSTEST001.DBF offline drop;SQL alter database open;SQL drop tablespace CTBASEDATA;二、Oracle 10G R2开始可以采用Alter tablespace tablespace_name drop datafile file_name;来删除一个空数据文件并且相应的数据字典信息也会清除:sysORCLselect file_id,file_name,tablespace_name from dba_data_files2 where tablespace_nameUSERS;FILE_ID FILE_NAME TABLESPACE_NAME------- -------------------------------------------- ------------------4 /u01/app/oracle/oradata/orcl/users01.dbf USERSsysORCLalter tablespace users add datafile2 /u01/app/oracle/oradata/orcl/users02.dbf size 5M autoextend off;Tablespace altered.sysORCLselect file_id,file_name,tablespace_name from dba_data_files2 where tablespace_nameUSERS;FILE_ID FILE_NAME TABLESPACE_NAME------- -------------------------------------------- -------------------4 /u01/app/oracle/oradata/orcl/users01.dbf USERS9 /u01/app/oracle/oradata/orcl/users02.dbf USERSsysORCLdrop table test;Table dropped.sysORCLcreate table test tablespace users2 as3 select * from dba_objects;Table created.sysORCLselect SEGMENT_NAME,FILE_ID,BLOCKS from dba_extents2 where file_id9;SEGMENT_NAME FILE_ID BLOCKS------------------------------ ---------- ----------TEST 9 8TEST 9 8TEST 9 8TEST 9 8TEST 9 8TEST 9 8TEST 9 8TEST 9 8TEST 9 8TEST 9 8TEST 9 8TEST 9 8TEST 9 8TEST 9 8TEST 9 8TEST 9 128TEST 9 12817 rows selected.sysORCLalter table test move tablespace PERFSTAT; --把表移动到其它表空间Table altered.sysORCLselect SEGMENT_NAME,FILE_ID,BLOCKS from dba_extents2 where file_id9;no rows selectedsysORCLalter tablespace users drop datafile2 /u01/app/oracle/oradata/orcl/users02.dbf;Tablespace altered.sysORCLselect file_id,file_name,tablespace_name from dba_data_files2 where tablespace_nameUSERS;FILE_ID FILE_NAME TABLESPACE_NAME------- -------------------------------------------- ---------------------4 /u01/app/oracle/oradata/orcl/users01.dbf USERS三、oracle 10g可以删除临时表空间的文件alter database tempfile /home/oracle/temp01.dbf drop including datafiles;