A. 資料庫oracle11G,如何通過plsql查詢表空間大小,如何通過PLSQL把一個表空間的大小設置成自動擴展
sql語句
1.查詢表空間大小
select tablespace_name , sum(bytes/1024/1024) sizeM from dba_data_files group by tablespace_name ;
2.設置數據文件為自動拓展
alter database datafile n autoextend on ;
不知道你說的兩個東西有什麼關聯性。
下面是設置全部數據文件為自動拓展的plsql匿名塊:
begin
forrecin(selectfile_id,autoextensiblefromdba_data_fileswhereautoextensible='NO')loop
executeimmediate'alterdatabasedatafile'||rec.file_id||'autoextendon';
endloop;
end;
B. oracle11g 表空間最大多大
在oracle11g中引進了bigfile表空間,他充分利用了64位CPU的定址能力,使oracle可以管理的數據文件總量達到8EB。單個數據文件的大小達到128TB,即使默認8K的db_block_size也達到了32TB。
創建bigfile的表空間使用的sql語句也很簡單。
create bigfile tablespace...
後面的語句和普通的語句完全一樣。
C. oracle11g怎麼建立壓縮表
在數據量變的很大的情況下,可以考慮表壓縮,減少磁碟的存儲,減少buffer cache的消耗,加快查詢的速度,壓縮需要在數據載入和dml的時候消耗一些cpu.表壓縮對於應用是透明的。
你可以在表空間,表或分區級別指定壓縮,如果在表空間級別指定壓縮,那麼這個表空間中的所有表默認都是壓縮的。
壓縮會發生在數據插入,更新或批量載入到表時。有幾種類型的壓縮。基本的,oltp的,dss的,歸檔的。他們的cpu消耗見文檔。
當使用基本壓縮,數據倉庫壓縮,或歸檔壓縮的時候,壓縮僅僅是在批量載入到一個表的時候發生。當你使用了oltp壓縮,壓縮發生在數據插入,更新,批量載入。
如果你使用了alter table命令讓表啟用壓縮,那麼對於已存在的數據是不受影響的,只有在啟用壓縮後的插入,或更新會受影響。也可以使用ALTER TABLE…NOCOMPRESS將一個表設置成非壓縮,對於已經的壓縮的表是沒有影響的,壓縮的數據還是壓縮的,只是新插入的數據是不被壓縮。
創建一個oltp壓縮類型的表
CREATE TABLE orders … COMPRESS FOR OLTP;
如果你不指定壓縮的類型,那麼默認的情況下是基本壓縮類型。下面的2個語句是等價的。
CREATE TABLE sales_history … COMPRESS BASIC;
CREATE TABLE sales_history … COMPRESS;
下面的表是一個數據倉庫壓縮類型的表,對於經常查詢,並且沒有dml的表適用。
CREATE TABLE sales_history … COMPRESS FOR QUERY;
創建一個歸檔壓縮類型的表
CREATE TABLE sales_history … COMPRESS FOR ARCHIVE;
表可以包含壓縮和非壓縮的分區,並且不同的分區的壓縮的類型可以是不同的,如果在分區上指定的壓縮的類型與表上指定的壓縮的類型不同,那麼分區上的優先。
查看錶是否是壓縮的,及分區是否是壓縮的。
SQL> SELECT table_name, compression, compress_for FROM user_tables;
SELECT table_name, partition_name, compression,compress_for
FROM user_tab_partitions;
查看錶中的行是什麼壓縮類型
SELECT DECODE(DBMS_COMPRESSION.GET_COMPRESSION_TYPE(
ownname => 『HR』,
tabname => 『EMPLOYEES』,
row_id => 『AAAVEIAAGAAAABTAAD』),
1, 『No Compression』,
2, 『Basic or OLTP Compression』,
4, 『Hybrid Columnar Compression for Query High』,
8, 『Hybrid Columnar Compression for Query Low』,
16, 『Hybrid Columnar Compression for Archive High』,
32, 『Hybrid Columnar Compression for Archive Low』,
『Unknown Compression Type』) compression_type
FROM DUAL;
修改壓縮的級別
如果表是分區表,使用在線重定義可以修改表的壓縮級別。如果表是分分區表,那麼可以使用alter table ..move.. compress for語句修改表的壓縮級別,這個語句會阻塞dml操作。
對於壓縮表的限制:
1基本壓縮,你不能為添加的列指定默認的值。刪除列是不被支持的。
2oltp壓縮,如果要添加一個帶默認值的列,那麼需要指定not null,可以刪除列,但是數據只是在內部做了一個不被使用的標記而已。
3在線段收縮是不被支持的。
4上面的壓縮的方式不適合於lobs類型,他們有自己的壓縮方式。
5基本壓縮類型的表的pct_free參數自動的設置成0.
在上面的描述中可以看到對於基本類型的壓縮,沒有使用直接路徑插入的行及更新的行是不會被壓縮的。對於我們的oltp系統基本是沒有用處的,只測試下oltp的壓縮方式,這種方式對於沒有使用直接路徑插入的行及被更新的行都會壓縮。
SQL> select count(*) from xyu2;
COUNT(*)
22096384
SQL> set serveroutput on
SQL> exec show_space(『BAIXYU2』,』T』,』AUTO』);
Total Blocks……………………….334336
Total Bytes………………………..2738880512
Unused Blocks………………………1916
Unused Bytes……………………….15695872
Last Used Ext FileId………………..4
Last Used Ext BlockId……………….671872
Last Used Block…………………….6276
CREATE TABLE xyu3 COMPRESS FOR OLTP as select * from xyu2;
SQL> exec show_space(『BAIXYU3』,』T』,』AUTO』);
Total Blocks……………………….107520
Total Bytes………………………..880803840
Unused Blocks………………………112
Unused Bytes……………………….917504
Last Used Ext FileId………………..4
Last Used Ext BlockId……………….116224
Last Used Block…………………….912
看到使用的塊由33w下降到10w。壓縮效果還是不錯,但是是否使用還要結果上面的限制來根據實際情況評估。
D. oracle11g 如何擴展表空間
在E盤增加一個數據文件就行了。
alter tablespace user add datafile 'e:\ext.dbf' size 2000M autoextend on
E. 怎麼擴大某個表的表空間 oracle11g
數據表的空間在增加記錄時自動擴展
增加表空間的方法有以下幾種
Meathod1:給表空間增加數據文件
ALTERTABLESPACEapp_dataADDDATAFILE
'D:ORACLEPRODUCT10.2.0ORADATAEDWTESTAPP03.DBF'SIZE50M;
Meathod2:新增數據文件,並且允許數據文件自動增長
ALTERTABLESPACEapp_dataADDDATAFILE
'D:ORACLEPRODUCT10.2.0ORADATAEDWTESTAPP04.DBF'SIZE50M
AUTOEXTENDONNEXT5MMAXSIZE100M;
Meathod3:允許已存在的數據文件自動增長
ALTERDATABASEDATAFILE'D:ORACLEPRODUCT10.2.0ORADATAEDWTESTAPP03.DBF'
AUTOEXTENDONNEXT5MMAXSIZE100M;
Meathod4:手工改變已存在數據文件的大小
ALTERDATABASEDATAFILE'D:ORACLEPRODUCT10.2.0ORADATAEDWTESTAPP02.DBF'
RESIZE100M;
F. oracle 11G資料庫文件大小
你有test.dmp了,很簡單的
首先在目標機器上安裝資料庫
然後在目標資料庫上執行導入命令
例如
目標資料庫的使用的用戶名是lxy,密碼dbasec,導入的文件是d:\test.dmp
將原庫的olser的表導入到新庫的newuser名下,原庫的表空間是abc,新庫的表空間是def
remap_schema和remap_tablespace
是可選的
impdp
lxy/dbasec
mpfile=d:\test.dmp
remap_schema
=
olser:newuser
remap_tablespace=
abc:def,
G. 請問oracle 11g 創建300G表空間需要多長時間啊
這個要根據你的存儲IO來估算。
建議不要創建一個300G的數據文件給該表空間使用,而是分成多個小數據文件進行。
如果要創建300G一個數據文件,大概需要挺長時間,我感覺30分鍾吧。
H. oracle11g表空間和數據文件不能大於32g是指單個表空間還是單個數據文件不能大於32g
單文件不能超過32G,一個表空間可以有多個文件(多個32G文件)