如需切换切换数据库:https://blog.csdn.net/lingchen336/article/details/101560826
Create tablespace booktbs1 datafile
'C:\oracle\product\10.2.0\oradata\BOOKSALES\booktbs1_1.DBF' size 50M;
Create tablespace booktbs2 datafile
'C:\oracle\product\10.2.0\oradata\BOOKSALES\booktbs2_1.DBF' size 10M
extent management local uniform size 1M
segment space management manual;
create temporary tablespace temp02 tempfile
'C:\oracle\product\10.2.0\oradata\BOOKSALES\test1_3.DBF' size 10M
extent management local uniform size 5M;
alter tablespace temp tablespace group tempgroup;
alter tablespace temp02 tablespace group tempgroup;
CREATE UNDO TABLESPACE UNDO02 DATAFILE
2 'C:\oracle\product\10.2.0\oradata\BOOKSALES\test1_5.DBF' size 20M;
ALTER SYSTEM SET UNDO_TABLESPACE=UNDO02;
ALTER TABLESPACE BOOKTBS1 ADD DATAFILE
2 'C:\oracle\product\10.2.0\oradata\BOOKSALES\booktbs1_2.DBF' size 50M;
alter database datafile
2 'C:\oracle\product\10.2.0\oradata\BOOKSALES\booktbs2_1.DBF'
3 autoextend on next 5M maxsize 100M;
CREATE TABLE test(ID NUMBER PRIMARY KEY,name CHAR(20)) TABLESPACE BOOKTBS1;
insert into test values(1,'sdfjosdajg');
alter tablespace booktbs1 offline;
select * from test;
alter tablespace booktbs1 online;
select * from test;
alter tablespace booktbs1 read only;
select * from test;
alter tablespace booktbs1 read write;
alter database default tablespace booktbs1;
shutdown immediate
startup mount
alter database archivelog;
alter database open;
alter tablespace users begin backup;
Create tablespace booktbs3 datafile
2 'C:\oracle\product\10.2.0\oradata\BOOKSALES\booktbs3_1.DBF' size 50M;
alter tablespace booktbs3 begin backup;
alter tablespace booktbs3 begin backup;
SELECT TABLESPACE_NAME,EXTENT_MANAGEMENT,ALLOCATION_TYPE,CONTENTS FROM DBA_TABLESPACES;
SELECT TABLESPACE_NAME,FILE_NAME FROM DBA_DATA_FILES;
DROP TABLESPACE BOOKTBS2 INCLUDING CONTENTS AND DATAFILES;
首先在这里写一下备份中出现的错误,这是一个思维误区。首先按需要备份users表空间,参照课本上alter tablespace users begin backup;语句进行备份,书上的例子的下一句话是复制表空间数据文件到目标位置,但是没有给出语句。我想这区百度找一下应该能找到语句进行备份操作,但是最终的结果却不理想,我一直没有成功。然后我大概尝试了四到五种百度出来的方案,都以失败告终。然而最后的解决方案竟然是物理备份,花费了我进一小时时间的事情是如此的简单,我走入了思维的误区,期间也看到物理备份的方法一扫而过没有在意。做题之前应该多想想,长时间无法解决的问题需要重新看题,找新思路。
然后我还犯过概念混淆的错误,将MySQL表的概念和Oracle表空间的概念混在一起,导致一度没有写出正确的语句。总之,实践出真知,只要花时间没有问题不能解决。