(1)重命名表空间
表空间创建后,使用ALTER TABLESPACE语句的RENAME TO子句可以重命名表空间。例如,下面语句把前面创建的DEMOA表空间重命名为DEMOTS。
重命名表空间时,Oracle数据库会自动更新数据字典、控制文件和数据文件头部对该表空间名称的所有引用。重命名表空间只会改变表空间的名称,不会改变表空间的ID(标识号),因此也不会改变用户默认表空间的设置。
调用以上语句重命名表空间需要注意的是:
①SYSTEM和SYSAUX表空间不能重命名。
②如果表空间或者其中的任何一个数据文件已脱机,则不能重命名该表空间。
③重命名只读表空间时,由于数据文件头无法更新,所以只能更新数据字典和控制文件。这不会导致重命名语句执行失败,但Oracle会在数据库警告日志文件内写入一条警告消息,说明数据文件头没有更新。
例如,执行下面语句将DEMOE修改为只读表空间,之后将该只读表空间重命名为DEMOETS:
执行第2条语句重命名表空间后会在数据库警告日志文件尾部添加以下信息:
ALTER TABLESPACE DEMOE RENAME TO DEMOETS
Tablespace DEMOE is renamed to DEMOETS.
Tablespace name change is not propagated to file headers because the
Tablespace is read only.
Completed:ALTER TABLESPACE DEMOE RENAME TO DEMOETS(www.daowen.com)
(2)删除表空间
不再需要表空间及其中的内容时,可以调用DROP TABLESPACE语句删除它们。删除表空间时,其在数据库控制文件内的文件指针被删除。删除之后,表空间内的数据不能再恢复。
DROP TABLESPACE语句的语法格式为
DROP TABLESPACE表空间名
[INCLUDING CONTENTS
[{AND|KEEP}DATAFILES]
[CASCADE CONSTRAINTS]];
其中各子句的作用如下:
①INCLUDING CONTENTS:指出删除表空间内的所有内容。如果表空间不是空的(包含任何数据库对象),在删除表空间时必须包含该子句,否则会导致语句执行失败。
②AND DATAFILES:指出在删除表空间及其中内容时,同时从操作系统中删除与该表空间相关的所有数据文件。
③KEEP DATAFILES:指出在删除表空间及其中内容时,保留与该表空间相关的所有数据文件。
④CASCADE CONSTRAINTS:如果其他表空间引用了所删除表空间中表上的主键或者唯一键,选择此项可以删除其他表空间的所有参照完整性约束。如果存在这样的参照完整性约束,而又在调用DROP TABLESPACE语句时省略该子句,会导致其执行失败。
例如,下面语句删除表空间DEMOTS及其中的内容,并将其包含的数据文件从操作系统中删除:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。