Oracle数据库中如何改善表空间的管理
2007-05-06 12:06:02 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁惧墽鎳撻—鍐偓锝庝簻椤掋垺銇勯幇顖毿撻柟渚垮妼椤粓宕卞Δ鈧獮濠勭磽閸屾艾鈧懓顫濋妸鈺佺疅缂佸顑欓崥瀣煕椤愵偅绶氱紓鍐╂礋濮婂宕掑▎鎴М濠电姭鍋撻梺顒€绉甸幆鐐哄箹濞n剙濡肩紒鎰殜閺屸€愁吋鎼粹€茬敖婵炴垶鎸哥粔鐢稿Φ閸曨垰鍐€妞ゆ劦婢€濞岊亪姊虹紒妯诲蔼闁稿海鏁诲濠氭晲婢跺﹤宓嗛梺缁樺姈缁佹挳宕戦幘璇叉嵍妞ゆ挻绋戞禍鐐叏濡厧浜鹃悗姘炬嫹

在Oracle9i Database之前,如果在创建用户时没有指定默认表空间,那么它将默认为SYSTEM 表空间。如果用户在创建一个段时没有显式地指定一个表空间,那么这个段将在 SYSTEM 中创建—前提是用户在 SYSTEM 表空间中拥有配额(要么显式地授予,要么通过系统权限 UNLIMITED TABLESPACE 来授予)。Oracle9i 允许DBA为所有未用显式的临时表空间子句创建的用户指定一个默认的临时表空间,从而减少了这个问题。
在 Oracle Database 10g 中,您可以类似地为用户指定一个默认表空间。在数据库创建期间,CREATE DATABASE 命令可以包含子句 DEFAULT TABLESPACE 。在创建之后,您可以通过发出以下命令来使一个表空间变成默认表空间:
ALTER DATABASE DEFAULT TABLESPACE <tsname>;
未用 DEFAULT TABLESPACE 子句创建的所有用户将以作为它们的默认表空间。您可以在任何时候通过这个 ALTER 命令来改变默认表空间,从而允许您在不同的节点上将不同的表空间指定为默认表空间。
重要注意事项:拥有旧的表空间的所有用户的默认表空间都被修改为,即使有些表空间是为某些用户显式指定的。例如,假定用户 USER1 和 USER2 的表空间分别是 TS1 和 TS2 — 它们是在用户创建期间显式指定的。数据库当前的默认表空间是 TS2,但之后,数据库的默认表空间变为 TS1。即使 USER2 的默认表空间是显式指定为 TS2 的,它也将变为 TS1。小心这种边界效应!
如果在数据库创建期间没有指定默认表空间,它将默认为 SYSTEM。但您如何才能知道现有的数据库的默认表空间是哪一个?发出以下查询:
SELECT PROPERTY_VALUE
FROM DATABASE_PROPERTIES
WHERE PROPERTY_NAME = 'DEFAULT_PERMANENT_TABLESPACE';
DATABASE_PROPERTIES 视图显示默认表空间之外,还显示一些非常重要的信息 — 例如默认临时表空间、全局数据库名、时区等。
- ››oracle 恢复误删除的表和误更新的表
- ››如何检查oracle的归档空间是否满了
- ››如何在浏览器中打开PDF文件并实现预览的思路与代码...
- ››如何改Win7系统我的文档保存位置
- ››Oracle分页查询排序数据重复问题
- ››Oracle创建dblink报错:ORA-01017、ORA-02063解决
- ››Oracle 提高SQL执行效率的方法
- ››如何让ios app支持32位和64位
- ››如何删除Windows 8系统未知的账户
- ››如何提高win7系统的响应速度?
- ››Oracle 动态查询,EXECUTE IMMEDIATE select into...
- ››如何避免iPhone应用中内存泄露
更多精彩
赞助商链接