

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、oracle 數(shù)據(jù)庫(kù)常? 語(yǔ)句查看oracle 數(shù)據(jù)庫(kù)的連接數(shù)以及 ?戶-1、查詢 oracle 的連接數(shù)select count(*) from v$session;-2、查詢 oracle 的并發(fā)連接數(shù)select count(*) from v$session where status='ACTIVE'-3、查看不同?戶的連接數(shù)select username,count(username) from v$session where username is not null group by username;-4、查看所有?戶: select * from all_use
2、rs;-5、查看 ?戶或 ? 系統(tǒng)權(quán)限 (直接賦值給?戶或 ? 的系統(tǒng)權(quán)限 ):select * from dba_sys_privs; select * from user_sys_privs;-6、查看 ? (只能查看登陸?戶擁有的 ?)?所包含的權(quán)限select * from role_sys_privs;-7、查看 ?戶對(duì)象權(quán)限: select * from dba_tab_privs; select * from all_tab_privs;select * from user_tab_privs;-8、查看所有? : select * from dba_roles;-9、查看 ?戶
3、或 ? 所擁有的 ? : select * from dba_role_privs;select * from user_role_privs;-10、查看哪些?戶有sysdba 或 sysoper 系統(tǒng)權(quán)限 (查詢時(shí)需要相應(yīng)權(quán)限 ) select * from V$PWFILE_USERS;-11. 查看總消耗時(shí)間最多的前 10 條SQL 語(yǔ)句select *from (select v.sql_id,v.child_number, v.sql_text,v.elapsed_time, v.cpu_time, v.disk_reads,rank() over(order by v.elaps
4、ed_time desc) elapsed_rank from v$sql v) awhere elapsed_rank <= 10;-12. 查看 CPU 消耗時(shí)間最多的前 10 條SQL 語(yǔ)句select *from (select v.sql_id, v.child_number, v.sql_text, v.elapsed_time, v.cpu_time, v.disk_reads,rank() over(order by v.cpu_time desc) elapsed_rank from v$sql v) awhere elapsed_rank <= 10;-13.
5、查看消耗磁盤讀取最多的前 10 條SQL 語(yǔ)句select *from (select v.sql_id, v.child_number,v.sql_text, v.elapsed_time,v.cpu_time, v.disk_reads,rank() over(order by v.disk_reads desc) elapsed_rank from v$sql v) awhere elapsed_rank <= 10;-14. 查看 oracle 當(dāng)前連接數(shù)select count(*) from v$process;-15. 查看 oracle 允許的最 ?連接數(shù)select v
6、alue from v$parameter where name = 'processes' show parameter processes #最 ?連接 (命令頁(yè) ?)-16. 修改 oracle 最 ?連接數(shù)alter system set processes = value scope = spfile;重啟數(shù)據(jù)庫(kù) # 修改連接alter system set processes = 300 scope = spfile;-17. 重啟數(shù)據(jù)庫(kù) :shutdown immediate; startup;-17. 查看當(dāng)前有哪些?戶正在使 ?數(shù)據(jù)SELECT osuser,
7、 a.username,cpu_time/executions/1000000|'s', sql_fulltext,machine from v$session a, v$sqlarea bwhere a.sql_address =b.address order by cpu_time/executions desc;unix 1 個(gè) ?戶 session 對(duì)應(yīng) ?個(gè)操作系統(tǒng) process? windows 體現(xiàn)在線程DBA 要定時(shí)對(duì)數(shù)據(jù)庫(kù)的連接情況進(jìn)?檢查,看與數(shù)據(jù)庫(kù)建?的會(huì)話數(shù) ?是不是正常,如果建?了過(guò)多的連接,會(huì)消耗數(shù)據(jù)庫(kù)的資源。同時(shí),“掛對(duì)死”的連接,可能會(huì)?需些要
8、 DBA ? 進(jìn) ?清理。以下的 SQL 語(yǔ)句列出當(dāng)前數(shù)據(jù)庫(kù)建 ?的會(huì)話情況:select sid,serial#,username,program,machine,status from v$session;輸出結(jié)果為 :SID SERIAL# USERNAME PROGRAM MACHINE STATUS1 1 ORACLE.EXE WORK3 ACTIVE2 1 ORACLE.EXE WORK3 ACTIVE3 1 ORACLE.EXE WORK3 ACTIVE4 1 ORACLE.EXE WORK3 ACTIVE5 3 ORACLE.EXE WORK3 ACTIVE6 1 ORACLE
9、.EXE WORK3 ACTIVE7 1 ORACLE.EXE WORK3 ACTIVE8 27 SYS SQLPLUS.EXE WORKGROUPWORK3 ACTIVE11 5 DBSNMP dbsnmp.exe WORKGROUPWORK3 INACTIVE其中,SID 會(huì)話 (session) 的ID 號(hào);SERIAL# 會(huì)話的序列號(hào),和 SID ?起 ?來(lái)唯 ?標(biāo)識(shí) ?個(gè)會(huì)話 ; USERNAME 建 ?該會(huì)話的 ?戶名 ;PROGRAM 這個(gè)會(huì)話是?什么 ?具連接到數(shù)據(jù)庫(kù)的 ;STATUS 當(dāng)前這個(gè)會(huì)話的狀態(tài), ACTIVE 表 ?會(huì)話正在執(zhí)?某些任務(wù), INACTIVE 表 ?當(dāng)
10、前會(huì)話沒(méi)有執(zhí)?任何操作;如果DBA 要?斷開某個(gè)會(huì)話,則執(zhí)?:alter system kill session 'SID,SERIAL#'sql語(yǔ)句SQL 語(yǔ)句如下:SELECT username, machine, program, status, COUNT (machine) AS連接數(shù)量FROM v$sessionGROUP BY username, machine, program, status ORDER BY machine;顯?結(jié)果(每個(gè) ?的機(jī)器上會(huì)不同)SCHNEIDER|WORKGROUDWANGZHENG|TOAD.exe|ACTIVE|1 SCHN
11、EIDER|WORKGROUP597728AA514F49D|sqlplusw.exe|INACTIVE|1|WWW-Q6ZMR2OIU9V|ORACLE.EXE|ACTIVE|8 PUBLIC|INACTIVE|0按主機(jī)名查詢SELECT COUNT(*) FROM V$SESSION WHERE MACHINE = 'DXMH''DXMH'為主機(jī)名數(shù)據(jù)恢復(fù)語(yǔ)句create table informationlaw_bak asselect * from informationlaw as of TIMESTAMP to_timestamp('2012
12、1126 103435','yyyymmdd hh24miss');/按機(jī)器名分組查select username,machine,count(username) from v$session where username is not null group by username,machine; 鎖表SELECT /*+ rule */ s.username, decode(l.type,'TM','TABLE LOCK', 'TX','ROW LOCK',NULL) LOCK_LEVEL,o.owne
13、r,o.object_name,o.object_type,s.sid,s.serial#,s.terminal,s.machine,gram,s.osuser FROM v$session s,v$lock l,dba_objects oWHERE l.sid = s.sidAND l.id1 = o.object_id(+) AND s.username is NOT Null-當(dāng)鎖表不能通過(guò)?a般lter 結(jié)束的時(shí)候使?下邊的語(yǔ)句進(jìn)?強(qiáng)制刪除SELECT spidFROM v$process a ,v$session bWHERE b.paddr = a.addr and si
14、d in ('4087','2001','3997') kill -9 spid 號(hào)-kill session 語(yǔ) 句alter system kill session '50,492'-以下 ?個(gè)為相關(guān)表SELECT * FROM v$lock; SELECT * FROM v$sqlarea; SELECT * FROM v$session;SELECT * FROM v$process ; SELECT * FROM v$locked_object;SELECT * FROM all_objects;SELECT * FRO
15、M v$session_wait;-1.查出鎖定 object 的session 的信息以及被鎖定的 object 名SELECT l.session_id sid, s.serial#, l.locked_mode,l.oracle_username, l.os_user_name,s.machine, s.terminal, o.object_name, s.logon_time FROM v$locked_object l, all_objects o, v$session sWHERE l.object_id = o.object_idAND l.session_id = s.sid
16、ORDER BY sid, s.serial# ;-2.查出鎖定表的 session 的sid, serial#,os_user_name, machine name, terminal和執(zhí) ?的語(yǔ)句-?上 ?那段多出sql_text 和 actionSELECT l.session_id sid, s.serial#, l.locked_mode, l.oracle_username, s.user#, l.os_user_name,s.machine, s.terminal,a.sql_text, a.actionFROM v$sqlarea a,v$session s, v$locked
17、_object lWHERE l.session_id = s.sidAND s.prev_sql_addr = a.address ORDER BY sid, s.serial#;-3.查出鎖定表的 sid, serial#,os_user_name, machine_name, terminal,鎖的 type,modeSELECT s.sid, s.serial#, s.username, s.schemaname, s.osuser, cess, s.machine, s.terminal, s.logon_time, l.typeFROM v$session s, v$lo
18、ck lWHERE s.sid = l.sidAND s.username IS NOT NULL ORDER BY sid;這個(gè)語(yǔ)句將查找到數(shù)據(jù)庫(kù)中所有的DML 語(yǔ)句產(chǎn)?的鎖,還可以發(fā)現(xiàn), 任何DML 語(yǔ)句其實(shí)產(chǎn) ?了兩個(gè)鎖, ?個(gè)是表鎖, ?個(gè)是?鎖。殺鎖命令alter system kill session 'sid,serial#' SELECT /*+ rule */ s.username,decode(l.type,'TM','TABLE LOCK', 'TX','ROW LOCK',NULL) LOC
19、K_LEVEL,o.owner,o.object_name,o.object_type, s.sid,s.serial#,s.terminal,s.machine,gram,s.osuser FROM v$session s,v$lock l,dba_objects oWHERE l.sid = s.sidAND l.id1 = o.object_id(+)AND s.username is NOT NULL如果發(fā)?了鎖等待,我們可能更想知道是誰(shuí)鎖了表 ?引起誰(shuí)的等待以下的語(yǔ)句可以查詢到誰(shuí)鎖了表, ?誰(shuí)在等待。以上查詢結(jié)果是 ?個(gè)樹狀結(jié)構(gòu),如果有 ?節(jié)點(diǎn),則表 ?有等待發(fā) ?。如果想
20、知道鎖 ?了哪個(gè)回滾段,還可以關(guān)聯(lián)到V$rollname ,其中 xidusn 就是回滾段的 USN col user_name format a10col owner format a10col object_name format a10 col object_type format a10SELECT /*+ rule */ lpad(' ',decode(l.xidusn ,0,3,0)|l.oracle_username User_name,o.owner,o.object_name,o.object_type,s.sid,s.serial# FROM v$locke
21、d_object l,dba_objects o,v$session s WHERE l.object_id=o.object_idAND l.session_id=s.sidORDER BY o.object_id,xidusn DESC設(shè)帶回車符號(hào)的字段為 field_A 替 換 回 車 符 : replace(field_A,CHR(13),'')替 換 換 ? 符 : replace(field_A,CHR(10),'')替 換 回 車 換 ? 符 : replace(replace(field_A,CHR(13),''),CHR(10)
22、,'')(1) oracle 中實(shí)現(xiàn)截取字符串: substr substr(string, start_position, length)其中, string 是元字符串, start_position 為開始位置, length 是可選項(xiàng),表 ?字符串的位數(shù)。例?:substr('ABCDEFG', 0); -返回結(jié)果是: ABCDEFG ,從 0位開始截取后?所有substr('ABCDEFG', 2); -返回結(jié)果是: CDEFG ,從 2位開始截取后?所有substr('ABCDEFG', 0, 3); -返回結(jié)果是:
23、ABC ,從0位開始往后截取 3個(gè)字符長(zhǎng)度substr('ABCDEFG', 0, 100); -返回結(jié)果是: ABCDEFG ,雖然 100 超出了元字符串長(zhǎng)度,但是系統(tǒng)會(huì)按元字符串最?數(shù)量返回,不會(huì)影響返回結(jié)果substr('ABCDEFG', -3); -返回結(jié)果是: EFG ,如果是負(fù)數(shù),則從尾部往前數(shù),截取-3 位置往后的所有字符串(2) 查找字符串位置: instrinstr(string, subString, start_position, nth_appearance)其中, string 是元字符串; subString 是要查找的 ?字符串
24、; start_position 是要查找的開始位置,為可選項(xiàng)(默認(rèn)為1),注意在這 ?字符串索引從1開始,如果此參數(shù)為正,則從左到右檢索,如果此參數(shù)為負(fù),則從右到左檢索;nth_appearance 是元字例?:instr('ABCDABCDAEF', 'AB'); -返回結(jié)果是: 1,因?yàn)?instr 字符串索引從 1開始,所以是 1 不是0 instr('ABCDABCDAEF', 'DA', 1, 2); -返回結(jié)果是: 8,返回第 ?次出現(xiàn)'DA' 的位置instr('A BCDABCDAEF
25、39;, 'DA', 1, 2); - 返回結(jié)果是: 9 ,由于我在元字符串中加了?個(gè)空格,空格仍然算?個(gè)字符(3) 替換字符串: replacereplace(str1, str2, str3)其表?的意思是:在 str1 中查找 str2 ,凡是出現(xiàn) str2 的地?,都替換成str3。replace('ABCDEFG', 'CDE', 'cde'); -返 回 結(jié) 果 是 : ABcdeFG replace('ABCDEFG', 'CDE', ''); -返回結(jié)果是: ABFG
26、 , CDE 被替換成空字符replace('ABCDEFG', 'CDE'); -返回結(jié)果是: ABFG ,當(dāng)不存在第三個(gè)參數(shù)時(shí), CDE 直接被刪掉本來(lái)我還以為 oracle 中也有系統(tǒng) ?帶的那種像split 這樣的拆分字符串的函數(shù),結(jié)果找了好久,發(fā)現(xiàn)居然沒(méi)有,?上有很多解決 ?法,我就不總結(jié)在這 ?了,后?需要的時(shí)候視情況來(lái)寫。如果想批量替換修改表中某個(gè)字段的某個(gè)字符串,可以使?如下的?式:1、創(chuàng)建 oracle ?戶并初始化密碼create user qc_resbjlt_cs identified by qc_resbjlt_cs_59;2、修改 o
27、racle ?戶密碼alter user qc_resbjlt_cs identified by resbjlt_cs_59;3、給oracle ?戶賦權(quán)限grant connect,resource,dba to qc_resbjlt_cs;4、刪除 ?戶drop user qc_resbjlt_cs cascade;5、查詢表空間select tablespace_name,contents from dba_tablespaces where tablespace_name in('QC_RMS','QC_AUTHDB','resbjlt_cs
28、39;) order by tablespace_name;6、修改 ?戶指定的表空間alter user qc_resbjlt_cs default tablespace QC_RESBJLT_CS temporary tablespace temp;7、創(chuàng)建表空間drop tablespace qc_resbjlt_cs INCLUDING CONTENTS; create tablespace qc_resbjlt_cs datafile '+DATA01' size 10G; 8、imp 數(shù)據(jù)庫(kù) dump ?件impdp qc_resbjlt_cs/qc_resbjlt
29、_cs_59 DIRECTORY=impdp_bak DUMPFILE=resbjlt_cs0712.dmp REMAP_SCHEMA=RESBJLT_CS:QC_RESBJLT_CS REMAP_TABLESPACE=RESBJLT_CS:QC_RESBJLT_CS;9、查看表空間使?情況SELECT UPPER(F.TABLESPACE_NAME) "表 空 間 名 ", D.TOT_GROOTTE_MB "表 空 間 ? (M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使?空間 (M)",TO_
30、CHAR(ROUND(D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') | '%' "使 ? ", F.TOTAL_BYTES " 空閑空間 (M)",F.MAX_BYTES " 最 ? 塊 (M)"FROM (SELECT TABLESPACE_NAME, ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,ROUND(MAX(BYTES) / (1024 * 1
31、024), 2) MAX_BYTES FROM SYS.DBA_FREE_SPACEGROUP BY TABLESPACE_NAME) F,(SELECT DD.TABLESPACE_NAME,ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB FROM SYS.DBA_DATA_FILES DDGROUP BY DD.TABLESPACE_NAME) DWHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME ORDER BY 1;-按 ?戶導(dǎo)出表expdp bdcdj/bdcdjpana schemas
32、=bdcdj directory=a dumpfile=bdcdj.dmp-按表名導(dǎo)出表expdp scott/tigerorcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;-按查詢條件導(dǎo)出表expdp scott/tigerorcl directory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20'-按表空間導(dǎo)出表expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp
33、TABLESPACES=temp,example;-導(dǎo)整個(gè)數(shù)據(jù)庫(kù)expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;-正常備份exp bdcdj/bdcdjpana file=e:bdcdj.dmp owner=bdcdj-正常備份單張表exp system/managerTEST file=d:daochu.dmp tables=(table1,table2)-dump 恢復(fù)到數(shù)據(jù)庫(kù)?戶impdp qc_res_empty/qc_res_empty_59 DIRECTORY=impdp_bak DUMPFILE=re
34、s_empty_%U.dmp logfile=resltjt20160721_1.log remap_schema=res_empty:qc_res_empty REMAP_TABLESPACE=$REMAP_TABLESPACE parallel=4 transform= REMAP_TABLESPACE='RES_EMPTY:QC_RES_EMPTY,GENERAL:QC_RES_EMPTY,BASE_DATA:QC_RES_EMPTY,INDX_GEN:QC_RES_EMPTY,SUB_AREA1:QC_RES_EMPTY,SUB_AREA2:QC_RES_EMPTY,SUB_A
35、REA3:QC_RES_oracle 還原( imp 、 impdp )-導(dǎo) ?表impdp sde/sdenbdcj schemas=bdcdj directory=a dumpfile=bdcdj.dmp-導(dǎo) ?表空間impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;-導(dǎo) ?數(shù)據(jù)庫(kù)impdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;-追加數(shù)據(jù)impdp system/manager DIRECTOR
36、Y=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION-改變表的 ownerimpdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;-還原單表imp sde/sdepana file=e:xx.dmp tables=表名imp sde/sdenbbdc file=e:sde_T_xtsz.dmp tables=T_xtsz-正常還原imp sde/sdenbbdc file=E
37、:nbsde.dmp fromuser=sde touser=sde buffer=99999999 log='E:nbsde.log'- 2 將d:daochu.dmp 中的表 table1 導(dǎo)?imp system/managerTEST file=d:daochu.dmp tables=(table1)-傳輸板卡更新-所屬專業(yè)(傳輸專業(yè) 50 ),維護(hù)狀態(tài)(正常 160060 ),業(yè)務(wù)狀態(tài)(空閑 170001 ),產(chǎn)權(quán)歸屬(聯(lián)通 67590032 ),維保類型(提供技術(shù)update QC_RMS_BOARD set CARD_NO=zh_label, speciality
38、_id='50',mnt_state_id='160060',opr_state_id='170001',property_belong='67590032', mnt_type='80013',LIFE_CYCLE='10030304' where stateflag=0;commit;update QC_RMS_BOARD set SUPER_RES_NAME=substr(zh_label,1,instr(zh_label,'/',1)-1) where stateflag=0
39、; commit;update QC_RMS_BOARD a set (a.SUPER_RES_id)=(select _id from qc_rms_transne b where b.stateflag=0 and a.SUPER_RES_NAME=b.zh_label )where exists(select _id from qc_rms_transne b where b.stateflag=0 and a.SUPER_RES_NAME=b.zh_label ); commit;update QC_RMS_BOARD a set (a.SUPER_RES_id)=
40、(select _id from qc_rms_transne b where b.stateflag=0 and a.related_ne=b.wg_id and a.SUPER_RES_id is nulland b.wg_id in (select wg_id from (select wg_id,count(*) from qc_rms_transne where stateflag=0 group by wg_id having count(*)=1 )where exists(select _id from qc_rms_transne b where b.st
41、ateflag=0 and a.related_ne=b.wg_id and a.SUPER_RES_id is nulland b.wg_id in (select wg_id from (select wg_id,count(*) from qc_rms_transne where stateflag=0 group by wg_id having count(*)=1 ); commit;-傳輸端 ?所屬板卡刷新update qc_rms_trans_port a set (a.related_board_id)=(select _id from QC_RMS_BOARD b
42、where a.=b. and b.stateflag=0 ) where exists(select _id from QC_RMS_BOARD b where a.=b. and b.stateflag=0 );80?0撐13), ?命周期狀態(tài)(?程驗(yàn)收后在?10030304 )select zh_label ,substr(zh_label,1,instr(zh_label,'/',1)-1)|'-'|substr(substr(zh_label,instr(zh_label,'slot=',1)+5),0,instr(subst
43、r(zh_label,instr(zh_label,'slot=',1)+5),'/',1)-1) from QC_RMS_BOARD where stateflag=0;-思路,可以先把板卡所屬槽位更新正確,然后?上邊的語(yǔ)句進(jìn)?組織進(jìn) ?更新update qc_rms_trans_port set solt_no=substr(zh_label,instr(zh_label,'-',1,2)+1,instr(zh_label,'-',1,3)-1-instr(zh_label,'-',1,2) where sta
44、teflag=0 and solt_no is nullselect zh_label,solt_no,substr(zh_label,instr(zh_label,'-',1,2)+1,instr(zh_label,'-',1,3)-1-instr(zh_label,'-',1,2) from qc_rms_trans_port where stateflag=0 and solt_no <> substr(zh_label,instr(zh_label,'-',1,2)+1,instr(zh_label,'
45、-',1,3)-1-instr(zh_label,'-',1,-替換回車換? chr(9) ?平制表符chr(10) 換 ?鍵chr(13) 回車鍵update m_resattribute set sourceexpression=REPLACE(sourceexpression,CHR(10), '') where resclassenname in ('QC_RMS_RELATED_EQUIP_FRAME','QC_RMS_MACHINE_FRAME', 'QC_RMS_EQUIP_PHY_STRUCT
46、9;,'QC_RMS_BOARD')update m_resattribute set sourceexpression=REPLACE(sourceexpression,CHR(13), '') where resclassenname in ('QC_RMS_RELATED_EQUIP_FRAME', 'QC_RMS_MACHINE_FRAME','QC_RMS_EQUIP_PHY_STRUCT', 'QC_RMS_BOARD')返回多個(gè)取第 ?個(gè)select * from (select *
47、from ITF_MONITOR_SPC_STATION order by int_id) where rownum=1; select * from (select * from <table> order by <key> desc) where rownum=1;ORACLE 數(shù)據(jù)庫(kù) DMP 及其中單表的導(dǎo)?導(dǎo)出(2013-02-18 11:09:16) 轉(zhuǎn)載 標(biāo)簽: oracle it 分類: 數(shù)據(jù)庫(kù)導(dǎo)?某個(gè)?戶下所有表:imp username/pwdsid file=pathname+filename full=y導(dǎo)?某個(gè)?戶下的某張表:imp userna
48、me/pwdsid file=pathname+filename tables=(tablename)導(dǎo)?局域?內(nèi)其他機(jī)器的數(shù)據(jù)庫(kù):imp username/pwdip 地 址 /sid file=pathname+filename導(dǎo)出某個(gè) ?戶下所有表 :exp username/pwdsid file=pathname+filename導(dǎo)出某個(gè) ?戶下的某張表:exp username/pwdsid file=pathname+filename tables=(tablename)導(dǎo)出局域 ?內(nèi)其他機(jī)器的數(shù)據(jù)庫(kù):exp username/pwdip 地 址 /sid file=pathna
49、me+filenameOracle 表空間管理維護(hù)2014 年02 ? 10 ? 15:51:32 果 ?媽 閱讀數(shù) 8251:表空間概念在ORACLE 數(shù)據(jù)庫(kù)中,所有數(shù)據(jù)從邏輯結(jié)構(gòu)上看都是存放在表空間當(dāng)中,當(dāng)然表空間下還有段、區(qū)、塊等邏輯結(jié)構(gòu)。從物理結(jié)構(gòu)上看是放在數(shù)據(jù)?件中。?個(gè)表空間可由多個(gè)數(shù)據(jù) ?件組成。如下圖所 ?,?個(gè)數(shù)據(jù)庫(kù)由對(duì)應(yīng) ?個(gè)或多個(gè)表空間,表空間邏輯上有 ?個(gè)或多個(gè)段(Segment )組成,物理上由 ?個(gè)或多個(gè)os file 組成。1.1 基本的表空間系統(tǒng)中默認(rèn)創(chuàng)建的 ?個(gè)表空間: SYSTEMSYSAUXUSERS UNDOTBS1 EXAMPLE TEMP系統(tǒng)中必須的
50、表空間有那 ?個(gè)?答案: SYSTEM 、SYSAUX 、TEMP 、UNDO , 像 USERS 、EXAMPLE 等表空間是可有可 ?的。1.2 表空間的分類永久表空間存放永久性數(shù)據(jù),如表,索引等。臨時(shí)表空間不能存放永久性對(duì)象, ?于保存數(shù)據(jù)庫(kù)排序,分組時(shí)產(chǎn) ?的臨時(shí)數(shù)據(jù)。UNDO 表空間保存數(shù)據(jù)修改前的鏡象。1.3 表空間的管理表空間的管理 ?式:字典管理:全庫(kù)所有的空間分配都放在數(shù)據(jù)字典中。容易引起字典爭(zhēng)?,?導(dǎo)致性能問(wèn)題。本地管理:空間分配不放在數(shù)據(jù)字典, ?在每個(gè)數(shù)據(jù) ?件頭部的第3到第8 個(gè)塊的位圖塊,來(lái)管理空間分配。2:創(chuàng)建表空間1: CREATE TABLESPACE TBS
51、_TR_DATA2: DATAFILE '/oradata/rTBS_TR_DATA_001.dbf'3: SIZE 64G4: EXTENT MANAGEMENT LOCAL5: SEGMENT SPACE MANAGEMENT AUTO ONLINE;6:7:8:9: ALTER TABLESPACE TBS_TR_DATA10: ADD DATAFILE '/oradata/rTBS_TR_DATA_002.dbf'11: SIZE 64G12: AUTOEXTEND OFF;3:表空間管理3.1 表空間信息如何查看數(shù)據(jù)庫(kù)有哪些表空間?如何查看表空間對(duì)應(yīng)的
52、數(shù)據(jù)?件? 查看表空間:查看表空間可以通過(guò)下 ?個(gè)系統(tǒng)視圖查看基本信息-包含數(shù)據(jù)庫(kù)中所有表空間的描述信息SELECT * FROM DBA_TABLESPACES-包含當(dāng)前 ?戶的表空間的描敘信息SELECT * FROM USER_TABLESPACES-包含從控制?件中獲取的表空間名稱和編號(hào)信息SELECT * FROM V$TABLESPACE;查看數(shù)據(jù) ?件-包含數(shù)據(jù) ?件以及所屬的表空間的描述信息SELECT * FROM DBA_DATA_FILES-包含臨時(shí)數(shù)據(jù)?件以及所屬的表空間的描述信息SELECT * FROM DBA_TEMP_FILES-包含從控制?件中獲取的數(shù)據(jù)?件的
53、基本信息,包括它所屬的表空間名稱、編號(hào)等SELECT * FROM V$DATAFILE-包含所有臨時(shí)數(shù)據(jù)?件的基本信息SELECT * FROM V$TEMPFILE3.1.1 :查看默認(rèn)的 TEMP 表空間數(shù)據(jù)庫(kù)級(jí)別1: SQL> SELECT PROPERTY_NAME, PROPERTY_VALUE2:3: 2 FROM DATABASE_PROPERTIES4:5: 3 WHERE PROPERTY_NAME='DEFAULT_TEMP_TABLESPACE'6:7: 4 ;8:9: PROPERTY_NAMEPROPERTY_VALUE10:11: 12:13
54、: DEFAULT_TEMP_TABLESPACETEMP?戶級(jí)別1: SELECT USERNAME, DEFAULT_TABLESPACE FROM DBA_USERS3.1.2 :查看默認(rèn)的永久表空間如果創(chuàng)建 ?戶時(shí),不指定其永久表空間,則會(huì)使 ?默認(rèn)的表空間。1: SQL> SELECT PROPERTY_NAME, PROPERTY_VALUE2:3: 2 FROM DATABASE_PROPERTIES;4:5: PROPERTY_NAME PROPERTY_VALUE6:7: 8:9: DEFAULT_TEMP_TABLESPACETEMP10:11: DEFAULT_PE
55、RMANENT_TABLESPACEUSERS3.1.3 :查看默認(rèn)的表空間類型如果不指定表空間類型,就會(huì)默認(rèn)使?DEFAULT_TBS_TYPE 參數(shù)指定的表空間類型。1: SQL>2:3: SQL> SELECT PROPERTY_NAME, PROPERTY_VALUE4:5: 2 FROM DATABASE_PROPERTIES6:7: 3 WHERE PROPERTY_NAME='DEFAULT_TBS_TYPE'8:9: PROPERTY_NAMEPROPERTY_VALUE10:11: 12:13: DEFAULT_TBS_TYPESMALLFILE3
56、.1.4 :查看表空間情況SELECT * FROM DBA_TABLESPACES3.1.5 :查看表空間的數(shù)據(jù)?件永久表空間 /UNDO 表空間SELECT * FROM DBA_DATA_FILES;臨時(shí)表空間SELECT * FROM V$TEMPFILE;3.1.6 :查看表空間使?情況-SQL 1:1: SELECT A.TABLESPACE_NAMEAS TABLESPACE_NAME,2:ROUND(A.BYTES/(1024*1024*1024),2) AS "TOTAL(G)" ,3:ROUND(B.BYTES/(1024*1024*1024),2) A
57、S "USED(G)",4:ROUND(C.BYTES/(1024*1024*1024),2) AS "FREE(G)",5:ROUND(B.BYTES * 100) / A.BYTES,2) AS "% USED",6:ROUND(C.BYTES * 100) / A.BYTES,2) AS "% FREE"7: FROM SYS.SM$TS_AVAIL A, SYS.SM$TS_USED B, SYS.SM$TS_FREE C8: WHERE A.TABLESPACE_NAME = B.TABLESPACE_N
58、AME9: AND A.TABLESPACE_NAME = C.TABLESPACE_NAME;計(jì)算表空間使 ?情況 ( 考慮了數(shù)據(jù) ?件?動(dòng)增長(zhǎng)情況)1: SELECT UPPER(F.TABLESPACE_NAME) AS "表空間名稱 ",2:ROUND(D.AVAILB_BYTES ,2) AS "表空間 ? (G)",3:ROUND(D.MAX_BYTES,2) AS "最終表空間?(G)",4:ROUND(D.AVAILB_BYTES - F.USED_BYTES),2) AS "已使 ?空間 (G)",5:TO_CHAR(ROUND(D.AVAILB_BYTES - F.USED_BYTES) / D.AVAILB_BYTES * 100,6:2), '999.99')
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 35351-2025增材制造術(shù)語(yǔ)
- GB/T 45684-2025灰鑄鐵分類
- GB/T 17249.2-2025聲學(xué)有機(jī)器的低噪聲工作場(chǎng)所設(shè)計(jì)推薦方法第2部分:噪聲控制措施
- 老年心理護(hù)理專項(xiàng)試題
- 2025年中國(guó)無(wú)線電射頻系統(tǒng)行業(yè)市場(chǎng)深度分析及發(fā)展前景預(yù)測(cè)報(bào)告
- 2025年中國(guó)車用顆粒物傳感器行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及投資規(guī)劃建議報(bào)告
- 餐廳消防培訓(xùn)課件
- 倉(cāng)儲(chǔ)知識(shí)培訓(xùn)課件
- ttt培訓(xùn)課件 視頻
- 2025年技術(shù)服務(wù)項(xiàng)目可行性研究報(bào)告
- 廣東省廣州各區(qū)2025屆七下英語(yǔ)期末經(jīng)典試題含答案
- 【政治 北京版】2025年高考招生統(tǒng)一考試高考真題政治試卷(真題+答案)
- 制藥公司污水池管理制度
- 云硫礦業(yè)招聘試題及答案
- 售后工作人員培訓(xùn)計(jì)劃方案
- 《工程勘察設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)》(2002年修訂本)
- 人工智能知到章節(jié)答案智慧樹2023年復(fù)旦大學(xué)
- 人工智能智慧樹知到答案章節(jié)測(cè)試2023年復(fù)旦大學(xué)
- GB 31644-2018食品安全國(guó)家標(biāo)準(zhǔn)復(fù)合調(diào)味料
- 房地產(chǎn)項(xiàng)目規(guī)劃設(shè)計(jì)部工作流程圖
- 單招計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)
評(píng)論
0/150
提交評(píng)論