<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 310, comments - 6939, trackbacks - 0, articles - 3
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    Oracle:管理表空間

    Posted on 2008-06-08 09:55 詩(shī)特林 閱讀(1557) 評(píng)論(0)  編輯  收藏 所屬分類: Oracle
    管理表空間
    在管理表空間時(shí)應(yīng)遵循以下原則:
    1)使用多重表空間。采用多重表空間可使數(shù)據(jù)庫(kù)操作更靈活。主要體現(xiàn)在以下方面:
      ·將用戶數(shù)據(jù)與數(shù)據(jù)字典數(shù)據(jù)相分離,并將不同表空間的數(shù)據(jù)文件分別存儲(chǔ)在不同磁盤上可以降低I/O競(jìng)爭(zhēng)。
      ·將一個(gè)應(yīng)用的數(shù)據(jù)與其他應(yīng)用相分離,可以避免表空間脫機(jī)時(shí)多個(gè)應(yīng)用受到影響。
     ·可根據(jù)需要將單個(gè)表空間脫機(jī),從而獲得較好的可用性。
      ·通過為不同類型的數(shù)據(jù)庫(kù)預(yù)留表空間,以達(dá)到優(yōu)化表空間的目的,如更新較高的或只讀,或臨時(shí)段存儲(chǔ)等。
      ·備份單個(gè)表空間。
    2)為用戶指定表空間限額。要?jiǎng)?chuàng)建、管理與使用表空間,必須首先以sys用戶并以as sysdba身份登錄數(shù)據(jù)庫(kù)。與Oracle9i不同,在Oracle 10g中,啟動(dòng)SQL*Plus時(shí)的帳戶和口令不需加引號(hào)。命令格式是:
    sqlplus sys/<sys password>as sysdba
    在Oracle 10g中,創(chuàng)建和管理表空間所使用的數(shù)據(jù)字典和權(quán)限及語句可歸納如下。
    1.與表空間有關(guān)的數(shù)據(jù)字典
    查詢和使用與表空間有關(guān)的元數(shù)據(jù)均可從下列數(shù)據(jù)字典中獲得。主要包括:dba_tablespaces、dba_users、dba_ts_quotas、user_tablespaces、user_ts_quotas、user_extents、user_segments、user_free_space、dba_data_files、dba_extents、dba_free_space、dba_segments、dba_temp_files、dba_undo_extents、dba_rollback_segs、dba_data_files、v_$backup_datafile、v_$database_block_corruption、v_$datafile、v_$datafile_copy、v_$datafile_header、v_$rollstat、v_$segment_statistics、v_$undostat等。以v_$開頭的數(shù)據(jù)字典均保存為動(dòng)態(tài)信息。
    2.與使用表空間有關(guān)的系統(tǒng)權(quán)限
    與表空間有關(guān)的主要系統(tǒng)權(quán)限有:create tablespace、alter tablespace、drop tablespace、manage tablespace和unlimited tablespace等。
    其中,unlimited tablespace是允許用戶無限制地訪問所有表空間。出于安全考慮,在授予該權(quán)限給用戶時(shí)應(yīng)慎重。如果用戶不需要該系統(tǒng)權(quán)限,最好撤銷該權(quán)限,否則用戶會(huì)利用該權(quán)限蓄意創(chuàng)建大量對(duì)象或復(fù)制數(shù)據(jù),從而塞滿表空間導(dǎo)致數(shù)據(jù)庫(kù)服務(wù)器崩潰。
    3.創(chuàng)建永久性的表空間
    命令格式:
    SQL>create[undo]tablespace tablespace
    [datafile filespec[autoextend_clause][,filespec[autoextend_clause]]...]
    [{minimum extent integer[ k|m]|blocksize integer[k]|{logging|nologging}
    |default storage_clause|{online|offline}
    |{permanent|temporary}|extent_management_clause|segment_management_clause
    }
    [ minimum extent integer[k|m]|blocksize integer[k]
    |{logging|nologging}|default storage_clause|{online|offline}
    |{permanent|temporary}|extent_management_clause|segment_management_clause
    ]...
    ];
    【例2-1】創(chuàng)建一個(gè)名為dalianren的表空間
    SQL>create tablespace dalianren nologging
    datafile′D:\oracle\product\10.2.0\oradata\dalianren\dalianren01.ora′size 50m blocksize 8192
    extent management local uniform size 256k
    segment space management auto;
    4.使一個(gè)表空間脫機(jī)
    命令格式:
    SQL>alter tablespace<tablespace_name>offline;
    【例2-2】將表空間dalianren脫機(jī)
    SQL>alter tablespace dalianren offline;
    注意 system表空間不能脫機(jī)。
    5.使一個(gè)表空間聯(lián)機(jī)
    命令格式:
    SQL>alter tablespace<tablespace_name>online;
    【例2-3】將表空間dalianren聯(lián)機(jī)
    SQL>alter tablespace dalianren online;
    6.使表空間只讀
    命令格式:
    SQL>alter tablespace<tablespace_name>read only;
    【例2-4】將表空間dalianren更改為只讀
    SQL>alter tablespace dalianren read only;
    7.使表空間可讀可寫
    命令格式:
    SQL>alter tablespace<tablespace_name>read write;
    【例2-5】將表空間dalianren更改為可讀寫
    SQL>alter tablespace dalianren read write;
    8.創(chuàng)建臨時(shí)表空間
    命令格式:
    SQL>create temporary tablespace<tablespace_name>
    tempfile′<data_file_path_and_file_name>′
        size<megabytes>m autoextend<on|off>
    extent management local uniform size<extent_size>;
    【例2-6】創(chuàng)建臨時(shí)表空間temp
    SQL>create temporary tablespace temp
    tempfile ′D:\ oracle\product\10.2.0\oradata dalian\temp01.ora′
    size 500m autoextend off
    extent management local uniform size 512k;
    注意雖然語句alter tablespace中帶有temporary關(guān)鍵字,但不能使用帶有temporary關(guān)鍵字的alter tablespace語句將一個(gè)本地管理的永久表空間轉(zhuǎn)變?yōu)楸镜毓芾淼呐R時(shí)表空間。必須使用create temporary tablespace語句直接創(chuàng)建本地管理的臨時(shí)表空間。
    9.添加臨時(shí)表空間的數(shù)據(jù)文件
    命令格式:
    SQL>alter tablespace<tablespace_name>add tempfile ′<path_and_file_name>′size<n>m;
    【例2-7】為臨時(shí)表空間temp_ren添加數(shù)據(jù)文件
    SQL>alter tablespace temp_ren add tempfile ′D:\oracle\product\10.2.0\oradata\dalian\temp_ren.dbf′size 100m;
    10.調(diào)整臨時(shí)表空間的數(shù)據(jù)文件
    命令格式:
    SQL>alter database tempfile ′<path_and_file_name>′resize<mega_bytes>m;
    【例2-8】調(diào)整臨時(shí)表空間的數(shù)據(jù)文件大小
    SQL>alter database tempfile ′D:\oracle\product\10.2.0\oradata\test \temp_ren.ora′ resize 20m;
    11.將表空間的數(shù)據(jù)文件或臨時(shí)文件脫機(jī)
    命令格式:
    SQL>alter database  datafile′<path_and_file_name>′ offline;
    SQL>alter database tempfile ′<path_and_file_name>′ offline;
    【例2-9】將表空間的數(shù)據(jù)文件或臨時(shí)文件脫機(jī)
    SQL>alter database  datafile ′D:\oracle\product\10.2.0\oradata\dalian\temp_ren.ora′ offline;
    SQL>alter database  tempfile ′D:\oracle\product\10.2.0\oradata\dalian\temp_ren.ora′offline;
    12.將臨時(shí)表空間聯(lián)機(jī)
    命令格式:
    SQL>Alter database tempfile ′<path_and_file_name>′online;
    【例2-10】將臨時(shí)表空間聯(lián)機(jī)
    SQL>Alter database tempfile ′D:\oracle\product\10.2.0\oradata\dalian\temp_ren.ora′ online;
    13.刪除表空間,但不刪除其文件
    命令格式:
    SQL>drop tablespace<tablespace_name>;
    【例2-11】刪除表空間dalianren,但不刪除其文件
    SQL>drop tablespace dalianren;
    14.刪除包含目錄內(nèi)容的表空間
    命令格式:
    SQL>drop tablespace<tablespace_name>including contents;
    【例2-12】刪除表空間dalianren及其包含的內(nèi)容
    SQL>drop tablespace dalianren including contents;
    15.刪除包含目錄內(nèi)容和數(shù)據(jù)文件在內(nèi)的表空間
    命令格式:
    SQL>drop tablespace<tablespace_name>including contents and datafiles;
    【例2-13】刪除表空間dalianren及其包含的內(nèi)容以及數(shù)據(jù)文件
    SQL>drop tablespace dalianren including contents and datafiles;
    16.當(dāng)含有參照性約束時(shí),刪除包含目錄內(nèi)容和數(shù)據(jù)文件在內(nèi)的表空間
    命令格式:
    SQL>drop tablespace<tablespace_name>including contents and datafiles cascade constraints;
    【例2-14】將表空間dalianren及其包含的內(nèi)容、數(shù)據(jù)文件以及相關(guān)約束一同刪除
    SQL>drop tablespace dalianren including contents and datafiles cascade constraints;
    17.表空間更名
    Oracle9i中不能直接將表空間更名。在Oracle 10g可直接更名永久表空間和臨時(shí)表空間。但是,system和sysaux表空間不能更名。
    命令格式:
    SQL>alter tablespace<old_tablespacename>rename to<new_tablespacename>;
    【例2-15】將表空間users更改為newusers
    SQL>alter tablespace users rename to newusers;
    在Oracle 10g中,如果一個(gè)撤銷表空間通過使用pfile的實(shí)例被更名,則警告日志文件中將寫入一個(gè)信息,提醒用戶更改undo_tablespace的參數(shù)值。
    注意當(dāng)使用drop tablespace誤刪除了表空間之后,通過查看alert文件可以確定誤操作的時(shí)間。該文件位于Oracle_Home\admin\<SID>\bdump目錄下,名為alert_<SID>.log,如:D:\oracle\product\10.2.0\admin\test\bdump目錄下的alert_test.log文件。
    18.多重臨時(shí)表空間
    在Oracle 10g中增加了一個(gè)表空間組的概念,通過使用表空間組用戶可以使用一個(gè)以上的表空間存儲(chǔ)臨時(shí)段。表空間組是在第一個(gè)表空間被指定給該組時(shí),由系統(tǒng)自動(dòng)隱式創(chuàng)建的。例如:
      通過添加現(xiàn)有的表空間創(chuàng)建表空間組。
    SQL>alter tablespace temp tablespace group temp_ts_group;
      添加一個(gè)新的表空間給該已經(jīng)創(chuàng)建的表空間組。
    SQL>create temporary tablespace temp2
    tempfile ′D:\oracle\product\10.2.0\oradata\test\temp201.dbf ′ size 20m tablespace group temp_ts_group;
    被指定給組的表空間可在視圖中查詢得到。
    SQL>select*from dba_tablespace_groups;
    group_nametablespace_name
    ------------------------------------------------------------
    temp_ts_grouptemp
    temp_ts_grouptemp2
    2 rows selected.
    SQL>
    一旦創(chuàng)建了表空間組,就可以將其指定給用戶或作為默認(rèn)的臨時(shí)表空間,就像一個(gè)表空間一樣。
     ·將表空間組指定給用戶,作為臨時(shí)表空間。
    SQL>alter user scott temporary tablespace temp_ts_group;
     ·將表空間組作為默認(rèn)的臨時(shí)表空間。
    SQL>alter database default temporary tablespace temp_ts_group;
     ·表空間也可以從表空間組中移出。
    SQL>alter tablespace temp2 tablespace group;
     ·查詢表空間組。
    SQL>select*from dba_tablespace_groups;
    group_nametablespace_name
    ------------------------------------------------------------
    temp_ts_grouptemp
    1 row selected.
    SQL>
    理論上,一個(gè)表空間組包含多少表空間是沒有最大限制的,但必須至少包含一個(gè)表空間。當(dāng)最后一個(gè)表空間被刪除后,該表空間組也被隱式地刪除。若該表空間組仍然被指定做臨時(shí)表空間,則不可以刪除該組中的最后一個(gè)表空間成員。同時(shí),表空間組不能與表空間同名。
    2.1.4表空間的相關(guān)查詢
    列出表空間、表空間的文件、分配的空間、空閑空間以及下一個(gè)空閑分區(qū),如下所示。
    set linesize 132
    set pagesize 60
    col tablespace_name format a12
    col file_name format a38
    col tablespace_kb heading ′TABLESPACE|TOTAL KB′
    col kbytes_free heading ′TOTAL FREE|KBYTES′
    select ddf.tablespace_name tablespace_name,ddf.file_name file_name,ddf.bytes/1024 tablespace_kb,
    sum(fs.bytes)/1024 kbytes_free,max(fs.bytes)/1024 next_free
    from sys.dba_free_space fs,sys.dba_data_files ddf
    where ddf.tablespace_name=fs.tablespace_name
    group by ddf.tablespace_name,ddf.file_name,ddf.bytes/1024
    order by ddf.tablespace_name,ddf.file_name;
    列出數(shù)據(jù)文件,表空間名以及大小,如下所示。
    col file_name format a50
    col tablespace_name format a10
    select file_name,tablespace_name,round(bytes/1024000) MB
    from dba_data_files
    order by file_name;
    列出表空間、大小、空閑空間以及空閑空間的百分比,如下所示。
    select ddf.tablespace_name,sum(ddf.bytes) total_space,sum(dfs.bytes) free_space,
    round(((nvl(sum(dfs.bytes),0)/sum(ddf.bytes))*100),2) pct_free
    from dba_free_space dfs,dba_data_files ddf
    where ddf.tablespace_name=dfs.tablespace_name (+)
    group by ddf.tablespace_name
    order by ddf.tablespace_name;
    計(jì)算表空間每個(gè)數(shù)據(jù)文件實(shí)際的最小空間以及對(duì)應(yīng)的文件名,其大小與磁盤操作系統(tǒng)中顯示的不同,如下所示。該語句運(yùn)行需要較長(zhǎng)時(shí)間。
    Select substr(df.file_name,1,70) filename,max(de.block_id*
    (de.bytes/de.blocks)+de.bytes)/1024 min_size
    from dba_extents de,dba_data_files df
    where de.file_id=df.file_id
    group by df.file_name;
    主站蜘蛛池模板: 国产一级a毛一级a看免费视频| 黄色网址免费观看| 亚洲av永久无码精品国产精品| 91短视频在线免费观看| 亚洲男人的天堂网站| 国产亚洲精品岁国产微拍精品| 国内精自视频品线六区免费| 精品亚洲视频在线| 亚洲天堂视频在线观看| 国产自产拍精品视频免费看| 久久精品免费观看| 国产AV无码专区亚洲AV蜜芽 | 一级一级一级毛片免费毛片| 91亚洲精品视频| 亚洲区不卡顿区在线观看| 免费在线看v网址| 日韩电影免费在线观看网站| 亚洲午夜无码久久| 亚洲欧洲日韩不卡| MM131亚洲国产美女久久| 好男人www免费高清视频在线| 999zyz**站免费毛片| 亚洲国产综合AV在线观看| 亚洲伊人tv综合网色| 国产成人精品日本亚洲专区| 免费无码肉片在线观看| 四虎国产成人永久精品免费| 全黄A免费一级毛片| 亚洲精品无码mⅴ在线观看| 亚洲一区二区三区高清| 中文字幕亚洲电影| 国产免费卡一卡三卡乱码| 一二三四视频在线观看中文版免费| 免费精品一区二区三区第35| 一级毛片正片免费视频手机看| 亚洲欧美国产日韩av野草社区| 亚洲精品资源在线| 亚洲网站在线观看| 久久久亚洲欧洲日产国码农村| 亚洲男人的天堂一区二区| 国产成人无码区免费A∨视频网站 国产成人涩涩涩视频在线观看免费 |