程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle更改表空間大小的代碼與實際操作

Oracle更改表空間大小的代碼與實際操作

編輯:Oracle數據庫基礎

本文主要是以Oracle更改表空間大小的實際操作代碼來引出Oracle更改表空間大小的實際操作步驟,同時此文章也對用戶空間限額的具體操作步驟有一詳細介紹,望大家在看望此片文章之後會有所收獲。

  1. sys@TEST1>alter tablespace test_16k offline; 

表空間已更改。

  1. sys@TEST1>alter database datafile '
    d:\Oracle\product\10.2.0\oradata\test1\test6k.dbf' 
    autoextend on next 50m maxsize 200m; 

數據庫已更改。

  1. sys@TEST1>alter database datafile '
    d:\Oracle\product\10.2.0\oradata\test1\test.dbf' resize 10m; 

數據庫已更改。

  1. sys@TEST1>alter user mxl quota 200m on test_16k; 

用戶已更改。

總結:

1、Oracle更改表空間大,乃修改的datafile非tablespace

2、不要出低級拼寫錯誤。

3、錯誤提示很重要,不要想當然。

附:

三、磁盤配額管理的幾個建議。

1、當在創建表空間對象的時候,出現“超出表空間的空間限量”錯誤提示的處理思路。這種情況一般是由很多種情況所造成的。筆者在遇到這種問題的時候,一般的處理思路是,先查看該用戶的磁盤配額,看其是否滿足空間上的需求。

若該用戶沒有磁盤配額管理的話,或者磁盤配額大小符合既定需求的話,則建議查看表空間的大小,看是否是因為表空間不足所造成的。若前兩步還是不能夠解決問題的,則看看表空間的管理方式。若是數據字典管理模式的話,則把他改為本地管理模式,一般就可以解決問題了。

2、若數據庫中存放著不同辦事處或者不同分公司的數據時,筆者建議對Oracle更改表空間大小進行磁盤限額。這可以有效的防止因為硬盤空間的不足導致整個數據庫的崩潰。而若對用戶進行磁盤配額管理的話,那最多只是某個辦事處(某個用戶)數據庫操作出現故障而已。這也是提高Oracle數據庫可用性的一個有效手段。

經查,表空間跟表空間限額兩個值是不一樣的.

推測按默認的話Oracle應該會給每個用戶分配一個默認的表空間限額,具體比例待查,但這比例肯定遠小於100%.

所以說分配了400M的表空間未必能存儲400M的數據.

解決辦法如下:

查看用戶表空間的限額

  1. select * from user_ts_quotas; 

max_bytes字段就是了

-1是代表沒有限制,其它值多少就是多少了.

不對用戶做表空間限額控制:

  1. GRANT UNLIMITED TABLESPACE TO ***(用戶); 

這種方式是全局性的.

或者

  1. alter user ***(用戶名) quota unlimited on ***(表空間); 

這種方式是針對特定的表空間的.

可以分配自然也可以回收了:

  1. revoke unlimited tablespace from ***(用戶) 

或者

  1. alter user *** quota 0 on ***  

以上的相關內容就是對Oracle更改表空間大小的介紹,望你能有所收獲。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved