欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      oracle 數(shù)據(jù)文件、表空間、日志文件、控制文件數(shù)據(jù)庫管理

      時間:2019-05-15 09:19:05下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《oracle 數(shù)據(jù)文件、表空間、日志文件、控制文件數(shù)據(jù)庫管理》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《oracle 數(shù)據(jù)文件、表空間、日志文件、控制文件數(shù)據(jù)庫管理》。

      第一篇:oracle 數(shù)據(jù)文件、表空間、日志文件、控制文件數(shù)據(jù)庫管理

      實驗四 oracle 數(shù)據(jù)庫管理

      一、試驗?zāi)康?/p>

      掌握對數(shù)據(jù)文件、表空間、日志文件、控制文件的常用命令,作為DBA的必要準備。

      二、實驗內(nèi)容

      2.1 數(shù)據(jù)文件的管理

      (1)在安裝完畢之后,在INITsid.ORA參數(shù)文件有一個DB_FILES 參數(shù),用于設(shè)置當前實例的數(shù)據(jù)外文件的個數(shù)。如: db_files = 80 如果在INITsid.ORA文件沒有該參數(shù),則可以用下面查詢語句從視圖中查到。如: SQL> col name for a20 SQL> col value for a50 SQL> set lin 100 SQL> select name,value from v$parameter where name = 'db_files';NAME VALUE---------------------------------------db_files 1024(2)行命令建立表空間:

      例1 CREATE TABLESPACE user_stu DATAFILE 'h:/oracle/oradata/orcl/user_stu.dat' SIZE 20M DEFAULT STORAGE(INITIAL 10K NEXT 50K MINEXTENTS 1 MAXEXTENTS 99 PCTINCREASE 10)ONLINE;例2:建立一個新的表空間,具有兩個數(shù)據(jù)文件: CREATE TABLESPACE CRM_TAB

      DATAFILE 'h:/oracle/oradata/orcl/crm01.dbf' size 10 MB,'h:/oracle/oradata/orcl/crm02.dbf' size 10 MB;(3)對一個已存在的表空間追加新數(shù)據(jù)文件: 例1 ALTER TABLESPACE user_stu

      Add datafile 'H:/oracle/oradata/orcl/user_stu01.dbf' size 30M;例2 為表空間增加數(shù)據(jù)文件 ALTER TABLESPACE users ADD DATAFILE 'userora1.dbf ' SIZE 10M;(4)數(shù)據(jù)文件更名

      ALTER TABLESPACE users RENAME DATAFILE? 'filename1', 'filename2' TO 'filename3', 'filename4';(5)變更數(shù)據(jù)文件大小 在創(chuàng)建表空間時,可以將表空間說明為自動擴展或固定大小。因而管理員的一項工作就是查看系統(tǒng)所有的表空間對應(yīng)的數(shù)據(jù)文件情況??词欠駷樽詣訑U展。如: SQL> col tablespace_name for a12 SQL> col file_name for a48 SQL> select tablespace_name,file_name,AUTOEXTENSIBLE ,bytes from dba_data_files

      (6)數(shù)據(jù)文件的自動擴展與調(diào)整。重新調(diào)整數(shù)據(jù)文件大小的命令如下: ALTER DATABASE DATAFILE [datafile_name] RESIZE [new_size];

      當我們發(fā)現(xiàn)數(shù)據(jù)文件過大而不可能用完時,可以用上面命令將數(shù)據(jù)文件調(diào)小。對于設(shè)置數(shù)據(jù)文件的自動擴展問題,可用下面命令來達到: ALTER DATABASE DATAFILE [ file_spec ] AUTOEXTEND ON NEXT [increment_size] MAXSIZE [max_size,UNLIMITED]; 如:

      ALTER DATABASE DATAFILE 'H:ORACLEORADATAORCLUSER_STU01.DBF' AUTOEXTEND ON NEXT 10m MAXSIZE 60M;(7)行命令修改表空間:

      ALTER TABLESPACE USER_STU ONLINE;(8)ALTER TABLESPACE accounting OFFLINE NORMAL;(9)行命令刪除表空間:

      DROP TABLESPACE 表空間名 INCLUDING CONTENTS CASCADE CONSTRAINTS(10)、與數(shù)據(jù)文件有關(guān)的視圖

      select file_name from dba_data_files;select * from v$datafile;DBA_DATA_FILES DBA_EXTENTS DBA_FREE_SPACE V$DATAFILE V$DATAFILE_HEADER(11)、為了保證表空間的可用,除了掌握表空間的創(chuàng)建外,還應(yīng)該查看dba_free_space中表空間的信息,以確保系統(tǒng)正常運行。一般管理員應(yīng)該關(guān)心的內(nèi)容有:表空間共有多少個;總共有多少自由空間;最大的自由空間是什么;下面例子是一個經(jīng)常使用的腳本,可以查出數(shù)據(jù)文件和表空間的可用情況。clear buffer clear columns clear breaks column a1 heading 'Tablespace' format a15 column a2 heading 'data File' format a45 column a3 heading 'Total|Space' format 999,999.99 column a4 heading 'Free|Space' format 999,999.99 column a5 heading 'Free|perc' format 999,999.99 break on a1 on report compute sum of a3 on a1 compute sum of a4 on a1 compute sum of a3 on report compute sum of a4 on report set linesize 120 select a.tablespace_name a1, a.file_name a2, a.avail a3, nvl(b.free,0)a4, nvl(round(((free/avail)*100),2),0)a5 from(select tablespace_name, substr(file_name,1,45)file_name, file_id, round(sum(bytes/(1024*1024)),3)avail from sys.dba_data_files group by tablespace_name, substr(file_name,1,45), file_id)a,(select tablespace_name, file_id, round(sum(bytes/(1024*1024)),3)free from sys.dba_free_space group by tablespace_name, file_id)b where a.file_id = b.file_id(+)order by 1, 2;(12)查詢是否存在表的擴展超出表空間可用大小 一般在系統(tǒng)使用較長時間后,表空間的連續(xù)塊被多次的修改與刪除等操作后出現(xiàn)了許多的不連續(xù)的塊(叫碎片)。這樣就有可能出現(xiàn)表的擴展所需要的連續(xù)塊不能滿足的情況。為了避免這樣的情況發(fā)生而導致擴展失敗,管理員要經(jīng)常查詢系統(tǒng)的表空間情況。下面就是這樣的一個腳本:

      Col segment_name for a20 Select segment_name, segment_type, owner, a.tablespace_name tablespace, Initial_extent, next_extent, pct_increase,b.bytes max_bytes From dba_segments a,(select tablespace_name, max(bytes)bytes from dba_free_space group by tablespace_name)b where a.tablespace_name=b.tablespace_name and next_extent > b.bytes;(13)查詢表空間自由、最大及碎片

      其實,平常管理最關(guān)系就是表空間的總量、最大字節(jié)、使用多少、碎片多少等。下面腳本可以查詢出所有表空間的自由空間、總空間數(shù)、已用空間、自由百分比及最大塊的字節(jié)數(shù)。set pau off

      col free heading 'Free(Mb)' format 99999.9 col total heading 'Total(Mb)' format 999999.9 col used heading 'Used(Mb)' format 99999.9 col pct_free heading 'Pct|Free' format 99999.9 col largest heading 'Largest(Mb)' format 99999.9 compute sum of total on report compute sum of free on report compute sum of used on report break on report select substr(a.tablespace_name,1,13)tablespace, round(sum(a.total1)/1024/1024, 1)Total, round(sum(a.total1)/1024/1024, 1)-round(sum(a.sum1)/1024/1024, 1)used, round(sum(a.sum1)/1024/1024, 1)free, round(sum(a.sum1)/1024/1024, 1)*100/round(sum(a.total1)/1024/1024, 1)pct_free, round(sum(a.maxb)/1024/1024, 1)largest, max(a.cnt)fragment from(select tablespace_name, 0 total1, sum(bytes)sum1, max(bytes)MAXB, count(bytes)cnt from dba_free_space group by tablespace_name union select tablespace_name, sum(bytes)total1, 0, 0, 0 from dba_data_files group by tablespace_name)a group by a.tablespace_name 2.2 日志文件的管理

      (0)日志查詢

      select group#,bytes from v$log;? select group#,bytes from v$logfile;

      (1)實現(xiàn)強行的日志切換 Alter system switch logfile;(2)檢測點(checkpoint)

      Oracle為了在出現(xiàn)故障后能退回去重演原來的信息,就需要一個叫開始點。在這個開始點時刻,數(shù)據(jù)和事務(wù)是已知的。這樣的開始點就叫檢測點。在Oracle里,只要檢查點一到(出現(xiàn))。Oracle就強行將當前的SGA中的redo區(qū)的改動過的塊寫入重做日志文件中。這個步驟完成后,在重做日志文件中放入一個特殊的檢測點標志記錄。如果在下一個檢測點完成前出現(xiàn)失敗,恢復操作進程就會在日志文件和數(shù)據(jù)文件前一個檢測點同步(改回去)。檢測點檢查完成后,對數(shù)據(jù)塊的任何改動都記錄在其檢測點標志后寫入重做日志項中。因此,恢復也就只能從最近的檢測點標志記錄開始。

      Oracle在INITsid.ORA文件中給出LOG_CHECKPOINT_INTERVAL參數(shù)可以設(shè)置檢測點的數(shù)目。比如 日志文件大小為1000塊,而設(shè)置檢查點間隔LOG_CHECKPOINT_INTERVAL為250,則文件寫達到 1/

      4、2/

      4、3/4及4/4時產(chǎn)生檢測點(250塊、500塊、750塊和1000塊處)??捎孟旅婷顏聿槿罩疚募笮。?SQL> select group#,bytes from v$log;show parameter log_checkpoint_interval(3)添加日志組

      建立一個新組4,組內(nèi)有兩個成員 ALTER DATABASE ADD LOGFILE GROUP 4('H:/oracle/oradata/orcl/redo0401.log', 'H:/oracle/oradata/orcl/redo0402.log')size 10m;===當添加一個日志組時,可以不給出組號,有系統(tǒng)自動分配一個組號=== ALTER DATABASE ADD LOGFILE('H:/oracle/oradata/orcl/redo0501.log', 'H:/oracle/oradata/orcl/redo0502.log')size 10m;此時添加的組號為5

      (4)為日志組增加成員 ALTER DATABASE ADD LOGFILE MEMBER 'log22.log' TO GROUP 2;===添加成員時,可以不給定成員的大小,因為oracle要求組內(nèi)的所有成員的大小一律相等。

      (5)如果將一個日志成員從一個硬盤移到另一個硬盤,就需要重新命名日志成員名字。需要進行下面步驟:

      1. 關(guān)閉數(shù)據(jù)庫,并進行完全備份;

      2. 使用操作系統(tǒng)命令拷貝原來的日志文件到新的地方; 3. 用startup mount 啟動數(shù)據(jù)庫; 4. 用ALTER DATABASE RENAME FILE '' TO '';5. 用ALTER DATABASE OPEN 打開數(shù)據(jù)庫; 6. 備份控制文件。為文件更名

      ALTER DATABASE RENAME FILE 'filename1', 'filename2' TO 'filename3', 'filename4';

      (6)日志刪除

      a.刪除日志組成員:

      在下面情況下可能需要刪除重做日志文件,如日志文件個數(shù)太多(超出需要);日志文件的大小不一致等。這樣的情況可以刪除日志組成員。b.當日志組損壞時,就刪除日志組,但必須滿足:

      a)刪除一個日志組后,系統(tǒng)中至少還有兩個其它的日志組; b)被刪除的日志組必須是不需要存檔; c)不是正在使用的日志組。刪除日志文件的語法:

      ALTER DATABASE database_name DROP LOGFILE GROUP group_number | file_name |(file_name,file_name(,...))刪除日志成員的語法:

      ALTER DATABASE database_name DROP LOGFILE MEMBER file_name;c.聯(lián)機重做日志的緊急替換:

      當一個重做日志組偶而被損壞使數(shù)據(jù)庫不能繼續(xù)使用時,不能直接刪除它們,而是要用一個干凈的文件或一組成員去替代這個損壞的日志組。聯(lián)機重做日志的緊急替換命令語法如下: ALTER DATABASE database_name CLEAR[UNARCHIVED] LOGFILE group_identifier [UNRECOVERABLE DATAFILE] 如果該文件正在等待存檔(歸檔模式),就需要UNARCHIVED。

      如果需要脫機恢復一個數(shù)據(jù)文件,就用UNRECOVERABLE DATAFILE。d.了解重做日志的當前狀態(tài): V$LOGFILE V$LOG V$THREAD V$LOG_HISTORY e.例子:

      刪除一個組3:

      ALTER DATABASE DROP LOGFILE GROUP 3;刪除一個成員:

      ALTER DATABASE DROP? LOGFILE MEMBER '/orant/oradata'mydb02'redo02.log';4.了解重做日志的當前狀態(tài)的視圖主要有: V$LOGFILE V$LOG V$THREAD V$LOG_HISTORY 5.例子:

      察看是否歸檔

      ARCHIVE? LOG? LIST 日志歸檔

      alter database noarchivelog;

      3、控制文件的管理(1)關(guān)于控制文件

      控制文件存放有數(shù)據(jù)庫的結(jié)構(gòu)信息,包括數(shù)據(jù)文件、日志文件??刂莆募且粋€二進制文件,它是在數(shù)據(jù)庫建立時自動被建立。控制文件可以在當你改變文件名或移動文件時而被更新。在任何時候,你都不能編輯控制文件??刂莆募膬?nèi)容包括:

      ? 數(shù)據(jù)庫名字(控制文件只能屬于一個數(shù)據(jù)庫)。? 數(shù)據(jù)庫建立時的郵戳。

      ? 數(shù)據(jù)文件-名字,位置及聯(lián)機/脫機。? 重做日志文件-名字及位置。? 表空間名字。? 當前日志序列號。? 最近檢查點信息。

      ? 恢復管理器信息(RMAN)。(2)控制文件信息

      在spfile.ora的配置文件中 有:

      control_files =(“/home/oracle/app/oracle/oradata/s450/control01.ctl”, “/home/oracle/app/oracle/oradata/s450/control02.ctl”, “/home/oracle/app/oracle/oradata/s450/control03.ctl”)(3)查詢控制文件的信息

      show parameters;select * from v$controlfile;desc V$CONTROLFILE_RECORD_SECTION v$datafile db_data_files v$logfile v$log v$controlfile show parameter control_files

      其中,RECORD_SIZE NUMBER 記錄字節(jié)大小 RECORDS_TOTAL NUMBER 段的記錄數(shù)

      RECORDS_USED NUMBER 段中已使用的記錄數(shù) FIRST_INDEX NUMBER 第一個記錄索引位置 LAST_INDEX NUMBER 最后一個記錄索引位置 LAST_RECID NUMBER 最后一個記錄ID號

      select * from V$CONTROLFILE_RECORD_SECTION;7.6.4 控制文件信息的更改

      需要在spfile.ora中做出相應(yīng)的更改。建立控制文件的步驟 1.建立控制文件準備。

      必須有數(shù)據(jù)文件(查DBA_DATA_FILES數(shù)據(jù)字典)、日志文件(查V$LOGFILE數(shù)據(jù)字典)的詳細列表。下面是創(chuàng)建控制文件的命令:

      CREATE CONTROLFILE SET DATABASE “ORACLE” NORESETLOGS NOARACHIVELOG MAXLOGFILES 32 MAXLOGMEMBERS 2 MAXDATAFILES 32 MAXINSTANCES 1 MAXLOGHISTORY 1630 LOGFILE GROUP 1 'C:ORACLEDATABASELOG1ORCL.LOG' SIZE 200K, GROUP 2 'C:ORACLEDATABASELOG2ORCL.LOG' SIZE 200K, DATAFILE 'C:ORACLEDATABASESYS1ORCL.ORA', 'C:ORACLEDATABASEUSER1ORCL.ORA', 'C:ORACLEDATABASERBS1ORCL.ORA', 'C:ORACLEDATABASETMP1ORCL.ORA', 'C:ORACLEDATABASEAPPDATA1.ORA', 'C:ORACLEDATABASEAPPINDX1.ORA',;在例子中,參數(shù)選件與 CREATE DATABASE類似。NORESETLOGS 指定聯(lián)機的日志文件不要重新設(shè)置。2. 關(guān)閉數(shù)據(jù)庫。

      3. 用NOMOUNT選件啟動數(shù)據(jù)庫,記住,安裝數(shù)據(jù)庫,Oracle需要打開控制文件。4. 用類似上面建立新的控制文件。并在INITsid.ORA參數(shù)文件中指定。5. 使用ALTER DATABASE OPEN命令打開數(shù)據(jù)庫。6. 關(guān)閉數(shù)據(jù)庫并備份數(shù)據(jù)庫。

      提示:如果你的數(shù)據(jù)庫正常,則可以用ALTER DATABASE BACKUP CONTROLFILE TO TRACE 命令來產(chǎn)生一個CREATE CONTROLFILE 的命令。該命令產(chǎn)生后被寫到跟蹤文件中。請參考INITsid.OAR的USER_DUMP_DEST所指的目錄找到跟蹤文件,它就在跟蹤文件中。

      建立好控制文件后,就要確定如何來補救被丟失的數(shù)據(jù)文件,可以從V$DATAFILE視圖來查到丟失的數(shù)據(jù)文件,這些數(shù)據(jù)文件的名字為MISSINGnnnn。如果你建立的控制文件帶有RESETLOGS選件,則丟失的數(shù)據(jù)文件就不能加回數(shù)據(jù)庫中。如果你建立的控制文件帶有NORESETLOGS選件,則丟失的數(shù)據(jù)文件可以由數(shù)據(jù)庫的介質(zhì)恢復被加回數(shù)據(jù)庫中。當數(shù)據(jù)庫啟動后可以 用下面命令進行備份:

      ALTER DATABASE BACKUP CONTROL FILE TO '' REUSE;Oracle公司建議無論你是否改變數(shù)據(jù)庫結(jié)構(gòu)、或加數(shù)據(jù)文件、或重新命名文件或刪除重做日志文件,都要進行備份。

      可以從視圖V$CONTROLFILE中查到控制文件的信息,status字段表示控制文件的狀態(tài),一般總是為空。如:

      SQL> select * from v$controlfile;另外V$CONTROLFILE_RECORD_SECTION 視圖存儲控制文件所記錄的信息。它的結(jié)構(gòu)如下:

      SQL> desc V$CONTROLFILE_RECORD_SECTION

      第二篇:Oracle大型數(shù)據(jù)庫 實驗五 重做日志文件、表空間管理操作

      集美大學計算機工程學院實驗報告

      課程名稱:大型數(shù)據(jù)庫技術(shù) 指導教師:楊艷華

      班級:計算12 姓名:

      實驗成績:

      上機實踐日期:2014.12 上機實踐時間:2學時 實驗項目名稱:重做日志文件、表空間管理操作 學號:20 實驗項目編號:實驗五 組號:

      一、實驗?zāi)康?/p>

      1、理解重做日志文件的基本概念;

      2、掌握重做日志文件組及其成員的添加、移動、刪除等操作;

      3、掌握歸檔重做日志的設(shè)置;

      4、理解表空間的基本概念和分類;

      5、掌握永久表空間的創(chuàng)建和管理操作;

      6、掌握還原表空間的管理。

      二、實驗要求

      1、完成重做日志文件組及其成員文件的管理操作;

      2、完成歸檔重做日志的設(shè)置;

      3、完成永久表空間和臨時表空間的管理操作;

      4、完成還原表空間的管理。

      三、實驗內(nèi)容

      (1)查看數(shù)據(jù)庫當前重做日志文件組及成員的設(shè)置情況,然后,為數(shù)據(jù)庫添加一組重做日志,組內(nèi)包含兩個成員文件,分別為redo4a.log和redo4b.log,大小分別為5MB。

      1(2)為上面新添加的那組重做添加一個日志成員,命名為“redo4c-姓名簡拼.log”,實現(xiàn)重做日志的多路存儲。

      (3)把數(shù)據(jù)庫從非歸檔模式修改為歸檔模式,之后創(chuàng)造條件讓數(shù)據(jù)庫立即歸檔,并檢查歸檔是否成功

      (4)創(chuàng)建永久表空間

      ? 創(chuàng)建一個表空間名為“TB+學號后三位+姓名簡拼” ? 空間的大小為50M ? 表空間包括兩個數(shù)據(jù)文件:表空間名_01.dbf(30M)和表空間名_02.dbf(20M),大小均不能自動擴展 ? 數(shù)據(jù)文件均存放在Oracle的安裝根目錄下 ? 區(qū)的分配方式為統(tǒng)一大小,192K ? 段管理采用自動方式

      (5)改變上述永久表空間的可用性

      ? 先將表空間脫機 ? 再進行聯(lián)機

      (6)創(chuàng)建一個4K的非標準塊表空間,命名為“tbf+學號后三位+姓名簡拼”,數(shù)據(jù)文件存儲在”oradataorcl姓名簡拼”目錄下,大小為(學號后三位*2)M。

      (7)創(chuàng)建一個臨時表空間

      ? 名為“TTB+學號后三位+姓名簡拼”

      ? 包含一個數(shù)據(jù)文件:表空間名_01.dbf,大小為(學號后三位*2)M,存儲在”oradataorcl姓名簡拼”目錄下,文件的大小可以自動擴展。? 將該臨時表空間設(shè)置為數(shù)據(jù)庫的默認臨時表空間 ? 再將該臨時表空間設(shè)置為scott用戶的默認臨時表空間 ? 查詢相關(guān)的數(shù)據(jù)字典驗證上面的設(shè)置。

      (8)查看數(shù)據(jù)庫內(nèi)各個表空間及其類型,以及區(qū)管理方式、分配類型和段空間管理方法、表空間的狀態(tài)。

      (9)刪除前面創(chuàng)建的非標準塊表空間,同時刪除表空間的內(nèi)容和對應(yīng)的操作系統(tǒng)文件。

      (10)創(chuàng)建一個還原表空間,命名為“UNDO+學號后三位+姓名簡拼”,其中包含一個數(shù)據(jù)文件(存儲在”oradataorcl姓名簡拼”目錄下,命名為“表空間名_01.dbf”),大小為200M,設(shè)置該表空間的RETENTION_GUARANTEE屬性。然后,將它設(shè)置為數(shù)據(jù)庫的當前表空間。

      (11)為前面創(chuàng)建的永久表空間添加一個數(shù)據(jù)文件,命名為“表空間名_03.dbf”,該文件初始大小為50M,允許自動擴展,存儲在”oradataorcl姓名簡拼”目錄下。

      (12)將永久表空間中初始的兩個文件移動到”oradataorcl姓名簡拼”目錄下。

      (13)同時將前面創(chuàng)建的永久表空間和UNDO表空間內(nèi)的文件進行重命名,把文件名中的“_”去掉。

      三、實驗小結(jié)

      1、通過本次實驗,我對重做日志文件組及其成員的添加、移動、刪除等操作、歸檔重做日志的設(shè)置、表空間的基本概念和分類、永久表空間的創(chuàng)建和管理操作、還原表空間的管理都有了更為深入的了解和掌握;

      2、切換數(shù)據(jù)庫狀態(tài)前,必須關(guān)閉數(shù)據(jù)庫,由于沒有關(guān)閉數(shù)據(jù)庫,導致在數(shù)據(jù)庫狀態(tài)切換過程中遇到了很多問題;

      3、通過本次實驗,我能夠完成重做日志文件組及其成員文件的管理操作、完成歸檔重做日志的設(shè)置、完成永久表空間和臨時表空間的管理操作。

      第三篇:oracle 管理表空間和數(shù)據(jù)文件

      oracle 管理表空間和數(shù)據(jù)文件

      介紹ν

      表空間是數(shù)據(jù)庫的邏輯組成部分。從物理上講,數(shù)據(jù)庫數(shù)據(jù)存放在數(shù)據(jù)文件中;

      從邏輯上講,數(shù)據(jù)庫則是存放在表空間中,表空間由一個或多個數(shù)據(jù)文件組成。

      數(shù)據(jù)庫的邏輯結(jié)構(gòu)

      介紹ν

      oracle 中邏輯結(jié)構(gòu)包括表空間、段、區(qū)和塊。

      說明一下數(shù)據(jù)庫由表空間構(gòu)成,而表空間又是由段構(gòu)成,而段又是由區(qū)構(gòu)成,而

      區(qū)又是由 oracle塊構(gòu)成的這樣的一種結(jié)構(gòu),可以提高數(shù)據(jù)庫的效率。

      為了讓大家明白,我們畫圖說明邏輯關(guān)系:看圖:

      表空間

      介紹ν

      表空間用于從邏輯上組織數(shù)據(jù)庫的數(shù)據(jù)。數(shù)據(jù)庫邏輯上是由一個或是多個表空間

      組成的。通過表空間可以達到以下作用:

      1.控制數(shù)據(jù)庫占用的磁盤空間

      2.dba 可以將不同數(shù)據(jù)類型部署到不同的位置,這樣 利于提高 i/o性能,同

      時利于備份和恢復等管理操作。(可以把索引,觸發(fā)器單獨放一個表空間中)。

      建立表空間ν

      建立表空間是使用 crate tablespace 命令完成的,需要注意的是,一般情況下,建立表空間是特權(quán)用戶或是 dba 來執(zhí)行的,如果用其它用戶來創(chuàng)建表空間,則用

      戶必須要具 create tablespace 的系統(tǒng)權(quán)限。

      建立數(shù)據(jù)表空間ν

      在建立數(shù)據(jù)庫后,為便于管理表,最好建立 自己的表空間 create tablespace data01 datafile 'd:testdada01.dbf' size 20m uniform size 128k;

      說明:執(zhí)行完上述命令后,會建立名稱為 data01 的表空間,并為該表空間建立

      名稱為 data01.dbf 的數(shù)據(jù)文件,區(qū)的大小為 128k

      ν 使用數(shù)據(jù)表空間(把表關(guān)聯(lián)到表空間,如果沒指定表空間,則默認在sys表空間里)create table mypart(deptno number(4), dname varchar2(14), loc varchar2(13))tablespace data01;

      改變表空間的狀態(tài)ν

      當建立表空間時,表空間處于聯(lián)機的(online)狀態(tài),此時該表空間是可以訪問的,并且該表空間是可以讀寫的,即可以查詢該表空間的數(shù)據(jù),而且還可以在表

      空間執(zhí)行各種語句。但是在進行系統(tǒng)維護或是數(shù)據(jù)維護時,可能需要改變表空間的狀態(tài)。一般情況下,由特權(quán)用戶或是 dba 來操作。安全性考慮

      1.使表空間脫機

      alter tablespace 表空間名 offline;2.使表空間聯(lián)機

      alter tablespace 表空間名 online;3.只讀表空間

      當建立表空間時,表空間可以讀寫,如果不希望在該表空間上執(zhí)行update,delete,insert 操作,那么可以將表空間修改為只讀

      alter tablespace 表空間名 read only;

      (修改為可寫是 alter tablespace 表空間名 read write;)

      改變表空間的狀態(tài)ν

      我們給大家舉一個實例,說明只讀特性:

      1.知道表空間名,顯示該表空間包括的所有表

      select * from all_tables where tablespace_name=’表空間名’;

      2.知道表名,查看該表屬于那個表空間 select tablespace_name, table_name from user_tables where table_name=’emp’;

      通過 2.我們可以知道 scott.emp 是在 system 這個表空間上,現(xiàn)在我們可以將

      system 改為只讀的但是我們不會成功,因為 system 是系統(tǒng)表空間,如果是普通

      表空間,那么我們就可以將其設(shè)為只讀的,給大家做一個演示,可以加

      理解。

      3.4.使表空間可讀寫

      alter tablespace 表空間名 read write;

      ν 刪除表空間

      一般情況下,由特權(quán)用戶或是 dba 來操作,如果是其它用戶操作,那么要求用戶

      具 drop tablespace 系統(tǒng)權(quán)限。

      drop tablespace ‘表空間’ including contents and datafiles;

      說明:including contents 表示刪除表空間時,刪除該空間的所有數(shù)據(jù)庫對象,而 datafiles 表示將數(shù)據(jù)庫文件也刪除。

      擴展表空間ν

      表空間是由數(shù)據(jù)文件組成的,表空間的大小實際上就是數(shù)據(jù)文件相加后的大小。

      那么我們可以想象,假定表employee 存放到data01 表空間上,初始大小就是

      2M,當數(shù)據(jù)滿 2M 空間后,如果在向 employee 表插入數(shù)據(jù),這樣就會顯示空間不

      足的錯誤。

      案例說明:

      1.建立一個表空間 sp01

      2.在該表空間上建立一個普通表 mydment 其結(jié)構(gòu)和 dept 一樣

      3.向該表中加入數(shù)據(jù) insert into mydment select * from dept;4.當一定時候就會出現(xiàn)無法擴展的問題,怎么辦?

      5.就擴展該表空間,為其增加更多的存儲空間。三種方法:

      1.增加數(shù)據(jù)文件

      SQL> alter tablespace sp01 add datafile ‘d:testsp01.dbf’ size 20m;

      -----------------------Page 51-----------------------2.增加數(shù)據(jù)文件的大小

      SQL> alter tablespace 表空間名 ‘d:testsp01.dbf’ resize 20m;

      這里需要注意的是數(shù)據(jù)文件的大小不要超過 500m。

      3.設(shè)置文件的自動增長。

      SQL> alter tablespace 表空間名 ‘d:testsp01.dbf’ autoextend on next

      10m maxsize 500m;

      移動數(shù)據(jù)文件ν

      有時,如果你的數(shù)據(jù)文件所在的磁盤損壞時,該數(shù)據(jù)文件將不能再使用,為了能

      夠重新使用,需要將這些文件的副本移動到其它的磁盤,然后恢復。

      下面以移動數(shù)據(jù)文件 sp01.dbf為例來說明:

      1.確定數(shù)據(jù)文件所在的表空間

      select tablespace_name from dba_data_files where file_name=’d:testsp01.dbf’;

      2.使表空間脫機

      確保數(shù)據(jù)文件的一致性,將表空間轉(zhuǎn)變?yōu)?offline 的狀態(tài)。

      alter tablespace sp01(表空間名)offline;3.使用命令移動數(shù)據(jù)文件到指定的目標位置

      host move d:testsp01.dbf c:testsp01.dbf 4.執(zhí)行 alter tablespace 命令

      在物理上移動了數(shù)據(jù)后,還必須執(zhí)行alter tablespace 命令對數(shù)據(jù)庫文件進行

      邏輯修改: alter tablespace sp01 rename datafile ‘d:testsp01.dbf’ to

      ‘c:testsp01.dbf’;

      5.使得表空間聯(lián)機

      在移動了數(shù)據(jù)文件后,為了使用戶可以訪問該表空間,必須將其轉(zhuǎn)變?yōu)?online 狀態(tài)。

      alter tablespace sp01(表空間名)online;

      顯示表空間信息ν

      查詢數(shù)據(jù)字典視圖 dba_tablespaces,顯示表空間的信息:

      select tablespace_name from dba_tablespaces;

      顯示表空間所包含的數(shù)據(jù)文件ν

      查詢數(shù)據(jù)字典視圖 dba_data_files,可顯示表空間所包含的數(shù)據(jù)文件,如下:

      select file_name, bytes from dba_data_files where tablespce_name=’表

      空間’;

      表空間小結(jié)ν

      1.了解表空間和數(shù)據(jù)文件的作用

      2.掌握常用表空間,undo 表空間和臨時表空間的建立方法

      3.了解表空間的各個狀態(tài)(online, offline, read write, read only)的作用,及如何改變表空間的狀態(tài)的方法。

      4.了解移動數(shù)據(jù)文件的原因,及使用alter tablespace 和 alter datatable 命令移動數(shù)據(jù)文件的方法。

      -----------------------Page 52-----------------------

      其它表空間ν

      除了最常用的數(shù)據(jù)表空間外,還有其它類型表空間:

      1.索引表空間 2.undo 表空間

      3.臨時表空間

      4.非標準塊的表空間

      這幾種表空間,大家伙可以自己參考書籍研究,這里我就不講。

      其它說明ν

      關(guān)于表空間的組成部分 段/區(qū)/塊,我們在后面給大家講解。

      第四篇:oracle表空間和數(shù)據(jù)文件的管理實驗

      表空間和數(shù)據(jù)文件的管理實驗

      試驗?zāi)康模喝嬲莆毡砜臻g和數(shù)據(jù)文件的創(chuàng)建、管理過程 試驗內(nèi)容:

      1、創(chuàng)建表空間、增加數(shù)據(jù)文件

      2、管理表空間和數(shù)據(jù)文件的的各種操作 試驗步驟:

      1、掌握表空間和數(shù)據(jù)文件相關(guān)的概念

      1)oracle默認的表空間

      系統(tǒng)默認的表空間:SYSTEM、SYSAUX、UNDOTBS1、EMP、EXAMPLE、USERS 2)系統(tǒng)表空間

      SYSTEM、SYSAUX是系統(tǒng)表空間,SYSTEM用于存放oracle數(shù)據(jù)字典的結(jié)構(gòu)和內(nèi)部元數(shù)據(jù)。

      SYSAUX是SYSTEM的輔助表空間用于存放個模式(用戶)的對象元數(shù)據(jù)。

      3)非系統(tǒng)表空間

      由DBA根據(jù)需要創(chuàng)建,存放用戶自己的數(shù)據(jù),也可以包含臨時數(shù)據(jù)以及UNDO數(shù)據(jù)。

      2、創(chuàng)建表空間

      1)創(chuàng)建表空間的語法

      CREATE [smallfile|bigfile] TABLESPACE tablespace_name DATAFILE ‘/path/filename’ SIZE [k|m] REUSE

      [‘/path/filename’ SIZE [k|m] REUSE]

      [AUTOEXTEND [ON|OFF] NEXT [k|m] MAXSIZE [UNLIMITED|[K|M]]] [ONLINE|OFFLINE] [LOGGING|NOLOGGING] [PERMANENT|TEMPORARY] [DICTIONARY|LOCAL]

      2)定義表空間名字及屬性

      創(chuàng)建兩個表空間ts_test1、ts_test2,本地化管理(Local,默認)、永久表空間(permantent,默認)

      3)定義數(shù)據(jù)文件名字、路徑、初始大小、自動擴展等屬性

      數(shù)據(jù)文件data_test1、data_test2 路徑:c:disk1data_test1.dbf c:disk2data_test2

      4)創(chuàng)建腳本:

      a、創(chuàng)建本地永久表空間

      //創(chuàng)建本地永久表空間ts_test1和ts_test2,默認為永久和本地

      SQL>create tablespace ts_test1 datafile ‘c:disk1data_file1.dbf’ size=50m reuse autoextend on next 10m;

      SQL>create tablespace ts_test2 datafile ‘c:disk2data_file2.dbf’ size=50m reuse autoextend on next 10m maxsize unlimited;查看一下創(chuàng)建完成的結(jié)果

      //查看dba_tablespaces結(jié)構(gòu)

      SQL>desc dba_tablespaces;

      //查看字典中的所有表空間情況,extent_management值為local時為本地表空間 SQL>select tablespace_name,status,extent_management,content from dba_tablespaces;//查看創(chuàng)建表空間時創(chuàng)建的數(shù)據(jù)文件,首先查看dba_data_files字典結(jié)構(gòu) SQL>desc dba_data_files;//查看數(shù)據(jù)文件情況 SQL>set linesize 120 SQL>col file_name for a20 SQL>col file_id for a20 SQL>col tablespace_name a30 SQL>col online_status for a20 SQL>select file_name,file_id,tablespace_name,online_status from dba_data_files;

      b、創(chuàng)建還原表空間和臨時表空間

      //創(chuàng)建還原表空間

      SQL>create undo tablespace test_undo datafile ‘c:disk3test_undo’ size 20m;

      //查看創(chuàng)建結(jié)果,contents為表空間內(nèi)容類型,如undo

      SQL>select tablespace_name,contents from dba_tablespaces;

      c、創(chuàng)建臨時表空間

      //創(chuàng)建臨時表空間

      SQL>create temporary tablespace test_temp

      tempfile ‘c:disk4test_temp.dbf’ size 20m extent management local;

      //查詢創(chuàng)建結(jié)果

      SQL>select tablespace_name,extent_management,contents from dba_tablespaces;d、增加數(shù)據(jù)文件

      //增加數(shù)據(jù)文件

      SQL>alter tablespace ts_test1 add datafile ‘c:disk1ts_test11.dbf’ size 10m;

      //查看增加數(shù)據(jù)文件的結(jié)果

      SQL>col file_name for a30

      SQL>col tablespace_name for a30 SQL>select file_name,tablespace_name from dba_data_files;

      3、管理表空間的各種操作

      1)改變表空間的讀寫狀態(tài)

      //將表空間設(shè)為只讀

      //這時表空間應(yīng)為online狀態(tài),表空間不能包含回滾段,不能是歸檔模式

      //查看數(shù)據(jù)庫日志模式

      SQL>archive log list;//查看表空間contents

      SQL>select tablespace_name,contents from dba_tablespaces where tablespace_name like‘TS_%’;

      //修改為只讀

      SQL>alter tablespace ts_test1 read only;2)表空間脫機離線、在線連接

      SQL>alter tablespace ts_test1 offline;

      SQL>alter tablespace ts_test1 online;

      //查看表空間狀態(tài)

      SQL>select tablespace_name,status from dba_tablespaces;3)修改表空間名稱 //查詢當前表空間名稱和所包含的數(shù)據(jù)文件

      SQL>select file_name,tablespace_name from dba_data_files;//確認表空間處在online狀態(tài)

      SQL>select tablespace_name,status from dba_tablespaces;//表空間改名

      SQL>alter tablespace ts_test2 rename to ts_test22;//查詢修改結(jié)果

      SQL>Col file_name for a30;SQL>col tablespace_name for a30;SQL>select file_name,tablespace_name from dba_data_files;4)設(shè)置默認表空間

      SQL>alter database default tablespace users //設(shè)置默認臨時表空間

      SQL>alter database default temporary tablespace temp;5)刪除表空間

      SQL>drop tablespace ts_test2;//僅刪除表空間信息不刪除表空間數(shù)據(jù)文件 SQL>drop tablespace ts_test2 includng contents;//包括數(shù)據(jù)文件全部刪除 查看刪除后的結(jié)果情況

      SQL>select file_name,tablespace_name from dba_data_files;6)切換undo表空間

      SQL>alter system set undo_tablespace =undotbs02;7)刪除undo表空間

      要刪除正在使用的undo表空間,首先切換undo表空間后在進行刪除 例如刪除undost01 SQL>alter system set undo_tablespace=undost02;SQL>drop tablespace undost01;8)查詢undo表空間信息

      SQL>show parameter undo_tablespace;

      4、管理數(shù)據(jù)文件的各種操作 1)在表空間中新增一個數(shù)據(jù)文件

      SQL>alter tablespace ts_test1 add datafile ‘c:dsk1ta_test111.dbf’ size 50m;2)刪除表空間中無數(shù)據(jù)的數(shù)據(jù)文件 第一種語法

      SQL>alter database datafile ‘c:disk1ts_test1.dbf’ offline;//數(shù)據(jù)文件脫機 SQL>alter tablespace ts_test1 drop datafile ‘c:disk1ts_test111.dbf’;第二種語法:

      SQL>alter database datafile ‘mytb.dbf’ offline drop;3)數(shù)據(jù)文件自動擴展設(shè)置

      SQL>alter tablespace ts_test1 datafile ‘c:disk1ts_test1.dbf’ autoextend on next 10m maxsize 500m;4)重置數(shù)據(jù)文件大小,收回或擴數(shù)據(jù)文件空間

      SQL>alter tablespace ts_test1 datafile ‘c:disk1ts_test1.dbf’ resize 45m;

      查詢重置數(shù)據(jù)文件大小后的結(jié)果

      SQL>col file_name for a30;

      SQL>col tablespace_name for a30;

      SQL>select file_name,tablespace_name,bytes/(1024*1024)from dba_data_files;5)移動數(shù)據(jù)文件

      有兩條語句可以實現(xiàn)對數(shù)據(jù)文件的移動:

      a、alter tablespace tablespace_name rename datafile ‘/path/file_name1’

      to ‘/path/file_name_new’;

      a這條語句主要適合用戶表空間,在執(zhí)行這條語句時表空間必須脫機才能執(zhí)行。SQL>alter tablesapace ts_test2 offline;//使表空間ts_test2脫機

      SQL>host copy c:disk2ts_test2.dbf c:disk1 //將數(shù)據(jù)文件拷貝到新的位置

      SQL>alter tablespace rename datafile ‘c:disk2ts_test2.dbf’ to ‘c:disk1ts_test1.dbf’;b、alter database db_name rename file ‘/path/file_name1’ to ‘/path/file_name_new’;

      這條語句使用于系統(tǒng)表空間及不能置為脫機的表空間中的數(shù)據(jù)文件。在使用該語句時,數(shù)據(jù)庫必須在加載(mount)的狀態(tài)且目標數(shù)據(jù)文件必須存在,因為該語句只是修改文件中指向數(shù)據(jù)文件的指針(地址)。SQL>shutdown immediate;SQL>host copy c:oracleproduct10.2.0oradatasystem01.dbf c:disk1 SQL>startup mount;SQL>alter database rename file ‘c:oracleproduct10.2.0oradataorclsystem01.dbf’ to ‘c:disk1system01.dbf’;SQL>alter database open;查詢移動后的結(jié)果

      SQL>select file_name,tablespace_name from dba_data_files;

      第五篇:Oracle表空間和數(shù)據(jù)文件的關(guān)系

      數(shù)據(jù)庫的物理結(jié)構(gòu)是由數(shù)據(jù)庫的操作系統(tǒng)文件所決定,每一個Oracle數(shù)據(jù)庫是由三種類型的文件組成: 數(shù)據(jù)文件和控制文件。數(shù)據(jù)庫的文件為數(shù)據(jù)庫提供真正的物理存儲。

      每一個Oracle數(shù)據(jù)庫有一個或多個物理的數(shù)據(jù)文件(data file)。一個數(shù)據(jù)庫的數(shù)據(jù)文件包含全部數(shù)據(jù)庫數(shù)據(jù)。邏輯數(shù)據(jù)庫結(jié)構(gòu)(如表,索引等)的數(shù)據(jù)物理地存儲在數(shù)據(jù)庫地數(shù)據(jù)文件中。數(shù)據(jù)文件通常為*.dbf格式,例如: userCIMS.dbf.數(shù)據(jù)文件有一下特征:①、一個數(shù)據(jù)文件僅與一個數(shù)據(jù)庫聯(lián)系;②、一旦建立, 數(shù)據(jù)文件只增不減;③、一個表空間(數(shù)據(jù)庫存儲地邏輯單位)由一個或多個數(shù)據(jù)文件組成。

      其次, 我們再來敘述一下Oracle的邏輯結(jié)構(gòu): Oracle的邏輯結(jié)構(gòu)包括表空間(tablespace), 段(segment), 數(shù)據(jù)塊(data block)以及模式對象(schema object)。

      Oracle數(shù)據(jù)庫在邏輯上是由多個表空間組成的, 表空間在物理上包含一個或者多個數(shù)據(jù)文件。而數(shù)據(jù)文件大小是塊大小的整數(shù)倍;表空間中存儲的對象叫段, 比如數(shù)據(jù)段, 索引段和回退段。段由區(qū)組成, 區(qū)是磁盤分配的最小單位。段的增大是通過增加區(qū)的個數(shù)來實現(xiàn)的。每個區(qū)的大小是數(shù)據(jù)塊大小的整數(shù)倍,取得大小可以不同;數(shù)據(jù)塊是數(shù)據(jù)庫中的最小的I/O單位,同時也是內(nèi)存數(shù)據(jù)緩沖區(qū)的單位,及數(shù)據(jù)文件存儲空間單位。塊的大小由參數(shù)DB_BLOCK_SIZE設(shè)置,其值影設(shè)置為操作系統(tǒng)塊大小的整數(shù)倍。

      ⑴ 表空間(TABLESPACE)表空間是數(shù)據(jù)庫中最大的邏輯單位,每一個表空間由一個或多個數(shù)據(jù)文件組成,一個數(shù)據(jù)文件只能與一個表空間相聯(lián)系。每一個數(shù)據(jù)庫都有一個SYSTEM表空間,該表空間是在數(shù)據(jù)庫創(chuàng)建或數(shù)據(jù)庫安裝時自動創(chuàng)建的,用于存儲系統(tǒng)的數(shù)據(jù)字典表,程序系統(tǒng)單元,過程函數(shù),包和觸發(fā)器等,也可用于存儲用戶數(shù)據(jù)表,索引對象。表空間具有在線(online)和離線(offline)屬性,可以將除SYSTEM以外的任何表空間置為離線。⑵ 段(SEGMENT)數(shù)據(jù)庫的段可以分為4類:數(shù)據(jù)段,索引段,回退段和臨時段。⑶ 區(qū)

      區(qū)是磁盤空間分配的最小單位。磁盤按區(qū)劃分,每次至少分配一個區(qū)。區(qū)存儲在段中,它由連續(xù)的數(shù)據(jù)塊組成。⑷ 數(shù)據(jù)塊

      數(shù)據(jù)塊是數(shù)據(jù)庫中最小的數(shù)據(jù)組織單位與管理單位,是數(shù)據(jù)庫文件磁盤存儲空間單位,也是數(shù)據(jù)庫I/O的最小單位,數(shù)據(jù)塊大小由DB_BLOCK_SIZE參數(shù)決定,不同的ORACLE版本BD_BLOCK_SIZE的默認值是不同的。查詢DB_BLOCK_SIZE可以使用sql:

      select name, value from v$parameter where name = 'db_block_size';⑸ 模式對象

      模式對象是一種應(yīng)用,包括:表、聚簇、試圖、索引序列生成器、同義詞、哈希、程序單元、數(shù)據(jù)庫鏈的等。

      最后說一下ORACLE的用戶、表空間和數(shù)據(jù)文件的關(guān)系:

      一個用戶可以使用一個或多個表空間,一個表空間也可以提供多個用戶使用。用戶和表空間沒有隸屬關(guān)系,表空間是一個用來管理數(shù)據(jù)存儲的邏輯概念,表空間只是和數(shù)據(jù)文件發(fā)生關(guān)系,數(shù)據(jù)文件是物理的。一個表空間可以包含多個數(shù)據(jù)文件,而一個數(shù)據(jù)文件只能隸屬于一個表空間。

      總結(jié)一下:解釋數(shù)據(jù)庫、表空間、數(shù)據(jù)文件、表、數(shù)據(jù)的最好辦法就是想象一個裝滿東西的柜子。數(shù)據(jù)庫其實就是柜子,柜中的抽屜是表空間,抽屜中的文件夾是數(shù)據(jù)文件,數(shù)據(jù)夾中的紙是表,寫在紙上的信息就是數(shù)據(jù)。

      下載oracle 數(shù)據(jù)文件、表空間、日志文件、控制文件數(shù)據(jù)庫管理word格式文檔
      下載oracle 數(shù)據(jù)文件、表空間、日志文件、控制文件數(shù)據(jù)庫管理.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔相關(guān)法律責任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦