国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

實例講解Oracle數據庫設置默認表空間問題

2024-08-29 13:53:10
字體:
來源:轉載
供稿:網友

DBA們經常會遇到一個這樣令人頭疼的問題:不知道誰在Oracle上創建了一個用戶,創建時,沒有給這個用戶指定默認表空間,所以這個用戶就會采用默認的表空間——system表空間。導致系統表空間迅速被用戶數據占滿,直至宕機。


在10G中,DBA有辦法避免這種問題了——在線指定系統默認表空間:


ALTER DATABASE DEFAULT TABLESPACE ;


通過執行以上命令,可以設定系統的默認表空間。這樣的話,在創建新用戶時,如果不指定他的默認表空間,就會采用上面指定的系統默認表空間作為這個用的默認表空間。


SQL>conn /as sysdba


SQL> create user test1 identified by test1 default tablespace ringidx;


用戶已創建。


SQL> alter database default tablespace ring;


數據庫已更改。


SQL> create user test identified by test;


用戶已創建。


SQL> select username, default_tablespace defspace from dba_users where


username=’TEST’;


USERNAME DEFSPACE


————– —————-


TEST RING


但是要注意的是,一旦將系統默認表空間修改了以后,原有的所有普通用戶的默認表空間都會被指定為這個表空間,如上例中test1,創建時指定了他的默認表空間為ringidx,執行了’alter database default tablespace ring’后,他的默認表空間也被改為了ring。


SQL> select username, default_tablespace defspace from dba_users where


username=’TEST1′;


USERNAME DEFSPACE


————– —————-


TEST1 RING


為非核心的系統用戶指定一個特殊的默認表空間

在創建Oracle實例時,除了創建了如sys、system等系統核心的用戶外,還會創建一些諸如dbsnmp、odm、perfstat等非核心的用戶。這些用戶在9i中都是以system作為他們的默認表空間。這些用戶一旦被使用,也會產生較大的數據量占用system表空間。


在Oracle10G當中,使用了一個新的表空間SYSAUX作為這些用戶的默認表空間。這個表空間在實例創建是就創建了,除了他的數據文件名可以被修改外,其他都不允許被修改。


Oracle的這一改變可以使當system表空間損壞時對數據庫做全庫恢復。在sysaux中的對象可以恢復成普通對象,而數據庫能保持正常運行。


如果DBA想要將sysaux表空間中的用戶轉移到其他表空間去該如何做呢。在10G中,專門為此提供一個視圖V$SYSAUX_OCCUPANTS來描述如何轉移這些用戶的表空間。


select * from V$SYSAUX_OCCUPANTS where OCCUPANT_NAME = ‘ODM’


OCCUPANT_NAME OCCUPANT_DESC SCHEMA_NAME MOVE_PROCEDURE MOVE_PROCEDURE_DESC SPACE_USAGE_KBYTES


————- ————- ———– ————– ——————- ——————


ODM Oracle Data Mining DMSYS MOVE_ODM Move Procedure for Oracle Data Mining 5568

 


1 rows selected


如上,如果要將改變ODM的表空間,可以使用存儲過程MOVE_ODM,當前它占用了5568kb的表空間。


為表空間改名

這Oracle10G表空間增強中一個令人心動的改變。


這項功能允許改變數據庫中除system和sysaux外任意一個表空間的名字。


ALTER TABLESPACE RENAME TO ;


有了這項功能,將會讓很多事情變得非常簡單。


有DBA可能會擔心,一旦一個表空間的名字改變了,而且它已經被使用了很長時間了,會不會引起系統的混亂?這個不用擔心,執行了上面的語句后,Oracle會將系統中所有相關的數據字典的內容全部更新:


SQL> alter tablespace ring rename to ring1;


表空間已更改。


SQL> select username, default_tablespace defspace from dba_users where username=’TEST’;


USERNAME DEFSPACE


————– —————-


TEST RING1


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴和县| 南京市| 莱州市| 兴业县| 乌拉特后旗| 长宁区| 齐齐哈尔市| 潍坊市| 罗平县| 永泰县| 隆子县| 尚志市| 盈江县| 车险| 扬州市| 连州市| 通山县| 江津市| 饶平县| 东安县| 南京市| 罗甸县| 阜平县| 甘南县| 丹棱县| 公安县| 武胜县| 景东| 乌拉特中旗| 张北县| 古交市| 读书| 长海县| 寿宁县| 金湖县| 元朗区| 卢氏县| 恩施市| 灌云县| 德兴市| 商南县|