oracle系統(tǒng)表大全資料_第1頁
oracle系統(tǒng)表大全資料_第2頁
oracle系統(tǒng)表大全資料_第3頁
oracle系統(tǒng)表大全資料_第4頁
oracle系統(tǒng)表大全資料_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

oracle系統(tǒng)表查詢

2005-4-29網(wǎng)絡(luò)

數(shù)據(jù)字典diet總是屬于Oracle用戶sys的。

************************************************************************

**************************************************

1、用戶:

selectusernamefromdba_users;

創(chuàng)建用戶

CREATEUSERjzmisPROIDENTIFIEDBYjzmis

DEFAULT

TABLESPACEUSERSTEMPORARY

TABLESPACETEMPACCOUNTUNLOCK;

GRANTDBATOjzmisWITHADMINOPTION;

commit;

改口令

alteruserspgroupidentifiedbyspgtest;

2、表空間:

select*fromdbadatafiles;

select*fromdba_tablespaces;//表空間

selecttablcspacc_namc,sum(bytcs),sum(blocks)

fromdba_free_spacegroupbytablespace_name;//空閑表

空間

select*fromdba_data_files

wheretablespace_name='RBS';//表空間對應(yīng)的數(shù)據(jù)文件

select*fromdba_segments

wheretablespace_name='INDEXS';

刪除表空間

dropTABLESPACEXNMISINCLUDINGCONTENTS;

創(chuàng)建表空間

CREATETABLESPACE"XNMIS"

LOGGING

DATAFILE4E:\oracle\productWoradata\jzmis\xnmis.dbf,

SIZE2048MEXTENT

MANAGEMENTLOCALSEGMENTSPACE

MANAGEMENTAUTO

AUTOEXTENDONNEXT5MMAXSIZEUNLIMITED

CREATETABLESPACE"XNMIS"

LOGGING

DATAFILE'E:\oraclc\product\\oradata\jzmis\XNMIS.dbf

SIZE2048MREUSE

AUTOEXTENDONNEXT5MMAXSIZEUNLIMITED

'E:\oracle\admin\cmid\JTAIS.ora'(path)

“CTAIS”(表空間名)

3、數(shù)據(jù)庫對象:

select*fromdba_objects;

CLUSTER、DATABASELINK、FUNCTION、INDEX、LIBRARY、

PACKAGE、PACKAGEBODY>

PROCEDURE、SEQUENCE、SYNONYM>TABLE、TRIGGER、

TYPE、UNDEFINED、VIEW。

4、表:

select*fromdba_tables;

analyzemy_tablecomputestatistics;->dba_tables后6歹ij

selectextent_id,bytesfromdba_extents

wheresegment_name="CUSTOMERS'and

segment_type='TABLE'

orderbyextentjd;//表運(yùn)用的extent的信息。

快照、分區(qū)應(yīng)存在相應(yīng)的表空間。

10、同義詞:

select*fromdba_synonyms

wheretable_owner='SPGROUP,;

//ifownerisPUBLIC,thenthesynonymsisapublic

synonym.

ifownerisoneofusers,thenthesynonymsisaprivate

synonym.

11、數(shù)據(jù)庫鏈:

select*fromdba_db_links;

在spbase下建數(shù)據(jù)庫鏈

createdatabaselinkdbl_spnew

connecttospnewidentifiedbyspnewusing'jhhx';

insertintoacc_nbr@dbl_spnew

select*fromacc_nbrwherenxx_nbr='237'and

linenbr='8888,;

12、觸發(fā)器:

select*fromdba_trigers;

存儲(chǔ)過程,函數(shù)從dba_objects查找。

其文本:selecttextfromuser_sourcewhere

name='BOOKSPEXAMPLE,;

建立出錯(cuò):select*fromuser_errors;

oracle總是將存儲(chǔ)過程,函數(shù)等軟件放在SYSTEM表空間。

13、約束:

(1)約束是和表關(guān)聯(lián)的,可在createtable或altertabletable_name

add/drop/modify來建立、修改、刪除約束。

可以臨時(shí)禁止約束,如:

altertablebook_example

disableconstraintbook_example_l;

altertablebook_example

enableconstraintbook_example_1;

(2)主鍵和外鍵被稱為表約束,而notnull和unique之類的約束

被稱為列約束。通常將主鍵和外鍵作為單獨(dú)的命名約束放在字段列表下

面,而列約束可放在列定義的同一行,這樣更具有可讀性。

(3)列約束可從表定義看出,即describe;表約束即主鍵和外鍵,可

從dba_constraints和dba_cons_columns查

select*fromuser_constraints

wheretablename='BOOKEXAMPLE";

selectowner,CONSTRAINTNAME,TABLENAME

fromuser_constraints

whereconstraint_type='R'

orderbytable_name;

(4)定義約束可以無名(系統(tǒng)自動(dòng)生成約束名)和自己定義約束名

(特殊是主鍵、外鍵)

如:createtablebook_example

(identifiernumbernotnull);

createtablebook_example

(identifiernumberconstranitbook_example_1notnull);

14、回滾段:

在全部的修改結(jié)果存入磁盤前,回滾段中保持復(fù)原該事務(wù)所需的全部

信息,必需以數(shù)據(jù)庫發(fā)生的事務(wù)來相應(yīng)確定其大小(DML語句才可回滾,

create,drop,truncate等DDL不能回滾)。

回滾段數(shù)量=并發(fā)事務(wù)/4,但不能超過50;使每個(gè)回滾段大小足夠處

理一個(gè)完整的事務(wù);

createrollbacksegmentr05

tablespacerbs;

createrollbacksegmentrbs_cvt

tablespacerbs

storage(initialIMnext500k);

使回滾段在線

alterrollbacksegmentr04online;

用dba_extents,v$rollback_segs監(jiān)測回滾段的大小和動(dòng)態(tài)增長。

回滾段的區(qū)間信息

select*fromdba_extents

wheresegment_type='ROLLBACK'and

segment_name="RB1

回滾段的段信息,其中bytes顯示目前回滾段的字節(jié)數(shù)

select*fromdba_segments

wheresegment_type='ROLLBACK'and

segment_name="RB1';

為事物指定回來段

settransactionuserollbacksegmentrbs_cvt

針對bytes可以運(yùn)用回滾段回縮。

alterrollbacksegmentrbs_cvtshrink;

selectbytes,extents,max_extentsfromdba_segments

wheresegment_type='ROLLBACK'and

segment_name="RBS_CVT';

Hl滾段的當(dāng)前狀態(tài)信息:

select*fromdba_rollback_segs

wheresegment_name='RB1';

比多回滾段狀態(tài)status,回滾段所屬實(shí)例instance_num

查優(yōu)化值optimal

selectn.name,s.optsize

fromv$rollnamen,v$rollstats

wheren.usn=s.usn;

回滾段中的數(shù)據(jù)

settransactionuserollbacksegmentrbl;/*回滾段名*/

selectn.name,s.writes

fromv$rollnamen,v$rollstats

wheren.usn=s.usn;

當(dāng)事務(wù)處理完畢,再次查詢$rollstat,比較writes(回滾段條目字節(jié)

數(shù))差值,可確定事務(wù)的大小。

查詢回滾段中的事務(wù)

columnrrheading'RBSegment'formatal8

columnusheading'Username'formatal5

columnosheadingOsUser'formatalO

columnteheading'Terminal'formatalO

selectr.namerr,nvl(s.username,'notransaction*)

us,s.osuseros,s.terminalte

fromv$lockl,v$sessions,v$rollnamer

wherel.sid=s.sid(+)

andtruncfl.id1/65536)=R.USN

andl.type=,TX'

andl.lmode=6

orderbyr.name;

15、作業(yè)

查詢作業(yè)信息

selectjob,broken,next_date,interval,whatfromuserjobs;

selectjob,broken,next_date,interval,whatfromdbajobs;

查詢正在運(yùn)行的作業(yè)

select*fromdbajobs_running;

運(yùn)用包execdbms_job.submit(:v_num,'a;',sysdate,'sysdate+

(10/(24*60*6。)))力[J入作業(yè)。間隔10秒鐘

execdbms_job.submit(:v_num,'a;',sysdate「sysdate+(11/(24*60)),)

加入作業(yè)。間隔11分鐘運(yùn)用包execdbms_job.remove(21)刪除21號

作業(yè)。

安裝Oracle后,常常運(yùn)用的修改表空間的SQL代碼(1)

配置:

WindowsNT4.0中文版

5塊10.2GBSCSI硬盤

分:C:盤、D:盤、E:盤、F:盤、G:盤

OracleforWindowsNT

NT安裝在C:\WINNT,Oracle安裝在C:\ORANT

目標(biāo):

因系統(tǒng)的回滾段太小,現(xiàn)準(zhǔn)備生成新的回滾段,

建立大的、新的表空間(數(shù)據(jù)表空間、索引表空間、回滾表空間、臨時(shí)表

空間、)

建兩個(gè)數(shù)據(jù)表空間、兩個(gè)索引表空間,這樣建的目的是依據(jù)實(shí)際應(yīng)用,

如:現(xiàn)有1。個(gè)應(yīng)用用戶,每個(gè)用戶是一個(gè)獨(dú)立子系統(tǒng)(如:商業(yè)進(jìn)銷存

MIS系統(tǒng)中的財(cái)務(wù)、收款、庫存、人事、總經(jīng)理等)

尤其大型商場中收款機(jī)眾多,同時(shí)訪問進(jìn)程許多,常常達(dá)到50-10。個(gè)進(jìn)

程同時(shí)訪問,

這樣,通過建立多個(gè)用戶表空間、索引表空間,把各個(gè)用戶分別建在不同

的表空間里(多個(gè)用戶表空間放在不同的物理磁盤上),

削減了用戶之間的I/O競爭、讀寫數(shù)據(jù)與寫讀索引的競爭(用戶表空間、

索引表空間也分別放在不同的物理磁盤上)

規(guī)劃:

C:盤、NT系統(tǒng),Oracle系統(tǒng)

D:盤、數(shù)據(jù)表空間1(3GB、自動(dòng)擴(kuò)展)、回滾表空間1(1GB、自動(dòng)擴(kuò)

展)

E:盤、數(shù)據(jù)表空間2(3GB、自動(dòng)擴(kuò)展)、回滾表空間2(1GB>自動(dòng)擴(kuò)

展)

F:盤、索引表空間1(2GB、自動(dòng)擴(kuò)展)、臨時(shí)表空間1(0.5GB、不自

動(dòng)擴(kuò)展)

G:盤、索引表空間2(2GB、自動(dòng)擴(kuò)展)、臨時(shí)表空間2(0.5GB、不自

動(dòng)擴(kuò)展)

注:這只是一個(gè)簡潔的規(guī)劃,實(shí)際規(guī)劃要依系統(tǒng)需求來定,盡量削減I/O

競爭

實(shí)現(xiàn):

1、首先杳看系統(tǒng)有哪些回滾段與其狀態(tài)。

SQL>colownerformata20

SQL>colstatusformatalO

SQL>colsegment_nameformata20

SQL>coltablespace_nameformata20

SQL>SELECT

OWNER,SEGMENT_NAME,TABLESPACE_NAME,SUM(BYTES)/1

024/1024M

2FROMDBA_SEGMENTS

3WHERESEGMENT_TYPE='ROLLBACK'

4GROUPBYOWNER,SEGMENTNAME,TABLESPACENAME

5/

OWNERSEGMENT_NAMETABLESPACE_NAME

M

SYSRBIROLLBACK_DATA.097656

25

SYSRB10ROLLBACK_DATA.097656

25

<>

安裝Oracle后,常常運(yùn)用的修改表空間的SQL代碼(2)

SYSRB11ROLLBACK_DATA.097656

25

SYSRB12ROLLBACK.DATA.097656

25

SYSRB13ROLLBACK_DATA.097656

25

SYSRB14ROLLBACK_DATA.097656

25

SYSRB15ROLLBACK_DATA.097656

25

SYSRB16ROLLBACK_DATA.097656

25

SYSRB2ROLLBACK_DATA.097656

25

SYSRB3ROLLBACK_DATA.097656

25

安裝Oracle后,常常運(yùn)用的修改表空間的SQL代碼⑶

SYSRB4ROLLBACK_DATA.097656

25

SYSRB5ROLLBACKDATA.097656

25

SYSRB6ROLLBACK_DATA.097656

25

SYSRB7ROLLBACK.DATA.097656

25

SYSRB8ROLLBACK_DATA.097656

25

SYSRB9ROLLBACK_DATA.097656

25

SYSRB_TEMPSYSTEM.24414063

SYSSYSTEMSYSTEM.1953125

查詢到18記錄.

SQL>SELECTSEGMENT_NAME,OWNER,

<>

安裝Oracle后,常常運(yùn)用的修改表空間的SQL代碼

(4)2TABLESPACE_NAME,SEGMENT_ID,

3FROMDBA_ROLLBACK_SEGS

4/

SEGMENT.NAMEOWNERTABLESPACE_NAME

SEGMENTIDSTATUS

SYSTEMSYSSYSTEM0

1ONLINE

RB_TEMPSYSSYSTEM1

1OFFLINE

RBIPUBLICROLLBACK_DATA2

3ONLINE

RB2PUBLICROLLBACK.DATA3

3ONLINE

安裝Oracle后,常常運(yùn)用的修改表空間的SQL代碼⑸

RB3PUBLICROLLBACK_DATA4

3ONLINE

RB4PUBLICROLLBACK_DATA5

3ONLINE

RB5PUBLICROLLBACK_DATA6

3ONLINE

RB6PUBLICROLLBACK_DATA7

3OFFLINE

RB7PUBLICROLLBACK_DATA8

3OFFLINE

RB8PUBLICROLLBACKDATA9

3OFFLINE

<>

安裝Oracle后,常常運(yùn)用的修改表空間的SQL代碼(6)

RB9PUBLICROLLBACK_DATA1

03OFFLINE

RB10PUBLICROLLBACK_DATA1

13OFFLINE

RB11PUBLICROLLBACK_DATA1

23OFFLINE

RB12PUBLICROLLBACK.DATA1

33OFFLINE

RB13PUBLICROLLBACK_DATA1

43OFFLINE

RB14PUBLICROLLBACK_DATA1

53OFFLINE

<>

安裝Oracle后,常常運(yùn)用的修改表空間的SQL代碼⑺

RB15PUBLICROLLBACK_DATA1

63OFFLINE

RB16PUBLICROLLBACK_DATA1

73OFFLINE

查詢到18記錄.

2、修改代碼如下,可把以下代碼存入一.sql文件,如cg_sys.sql,然后

以SQL>@cg_sys.sql調(diào)用執(zhí)行。

■■留意:各個(gè)硬盤上要事先建好oradata書目

一修改現(xiàn)有回滾段,使之失效,下線

alterrollbacksegmentrbloffline;

alterrollbacksegmentrb2offline;

alterrollbacksegmentrb3offline;

alterrollbacksegmentrb4offline;

alterrollbacksegmentrb5offline;

alterrollbacksegmentrb6offline;

alterrollbacksegmentrb7offline;

alterrollbacksegmentrb8offline;

alterrollbacksegmentrb9offline;

alterrollbacksegmentrblOoffline;

alterrollbacksegmentrbl1offline;

alterrollbacksegmentrbl2offline;

alterrollbacksegmentrbl3offline;

alterrollbacksegmentrbl4offline;

alterrollbacksegmentrbl5offline;

alterrollbacksegmentrbl6offline;

--刪除原有回滾段

droprollbacksegmentrbl;

droprollbacksegmentrb2;

droprollbacksegmentrb3;

droprollbacksegmentrb4;

droprollbacksegmentrb5;

droprollbacksegmentrb6;

droprollbacksegmentrb7;

droprollbacksegmentrb8;

droprollbacksegmentrb9;

droprollbacksegmentrblO;

droprollbacksegmentrbl1;

droprollbacksegmentrbl2;

droprollbacksegmentrbl3;

droprollbacksegmentrbl4;

droprollbacksegmentrbl5;

droprollbacksegmentrbl6;

一建數(shù)據(jù)表空間1

<>

安裝Oracle后,常常運(yùn)用的修改表空間的SQL代碼(8)--收款、庫存、

訂貨、遠(yuǎn)程通信

createtablespaceUSER_DATA1datafile

'd:\oradata\userl_l.ora'size512M,

'd:\oradata\userl_2.ora'size512M,

'd:\oradata\userl_3.ora'size512M,

'd:\oradata\userl_4.ora'size512M,

'd:\oradata\user1_5.ora'size512M,

'd:\oradata\userl_6.ora'size512M

AUTOEXTENDONNEXT5MMAXSIZEUNLIMITED

defaultstorage(initial128Knext2Mpctincrease0);

-initial128K,因?yàn)?,用戶建在表空間上,而表建在用戶里,為用戶所

擁有,

一用戶繼承數(shù)據(jù)表空間的存儲(chǔ)參數(shù),表繼承用戶的存儲(chǔ)參數(shù)

一假如initial設(shè)的過大,如:5M,則每建一個(gè)空表就要占用5M的空間,

即使一條記錄也沒有

-AUTOEXTENDONNEXT5MMAXSIZEUNLIMITED,設(shè)置數(shù)據(jù)文

件自動(dòng)擴(kuò)展,每一次擴(kuò)展增加5M,最大空間不受限

―建數(shù)據(jù)表空間2

一物價(jià)、人事、結(jié)算、財(cái)務(wù)、總經(jīng)理、合同、統(tǒng)計(jì)

createtablespaceUSER_DATA2datafile

'e:\oradata\user2_l.ora'size512M,

'e:\oradata\user2_2.ora'size512M,

'e:\oradata\user2_3.ora'size512M,

'e:\oradata\user2_4.ora'size512M,

'e:\oradata\user2_5.ora'size512M,

'e:\oradata\user2_6.ora'size512M

AUTOEXTENDONNEXT5MMAXSIZEUNLIMITED

defaultstorage(initial128Knext2Mpctincrease0);

一建索引表空間1

createtablespaceINDEX_DATA1datafile

'f:\oradata\index1_1.ora'size512M,

'f:\oradata\index1_2.ora'size512M,

'f:\oradata\indexl_3.ora'size512M,

'f:\oradata\indexl_4.ora'size512M

AUTOEXTENDONNEXT5MMAXSIZEUNLIMITED

defaultstorage(initial128Knext2Mpctincrease0);

―建索引表空間2

createtablespace1NDEX_DATA2datafile

'g:\oradata\index2_l.ora'size512M,

'g:\oradata\index2_2.ora'size512M,

'g:\oradata\index2_3.ora'size512M,

'g:\oradata\index2_4.ora'size512M

AUTOEXTENDONNEXT5MMAXSIZEUNLIMITED

defaultstorage(initial128Knext2Mpctincrease0);

一建回滾表空間1

一設(shè)置初始值40M(initial40M),則每在這個(gè)表空間中建一個(gè)回滾段,

一此回滾段自動(dòng)繼承此間滾表空間的存儲(chǔ)參數(shù),也即默認(rèn)文件為40M

createtablespaceROLLBACK_DATA1datafile

'd:\oradata\roll1_1.ora'size512M,

'd:\oradata\roll1_2.ora'size512M

AUTOEXTENDONNEXT5MMAXSIZEUNLIMITED

defaultstorage(initial40Mnext5Mpctincrease0);

--建何滾表空間2

createtablespaceROLLBACK_DATA2datafile

<>

安裝Oracle后,常常運(yùn)用的修改表空間的SQL代碼(9)

'e:\oradata\roll2_l.ora'size512M,

'e:\oradata\roll2_2.ora'size512M

AUTOEXTENDONNEXT5MMAXSIZEUNLIMITED

defaultstorage(initial40Mnext5Mpctincrease0);

一建臨時(shí)表空間1

createtablespaceTEMPORARY_DATA1datafile

'f:\oradata\templ_l.ora'size512M

defaultstorage(initial10Mnext3Mpctincrease0);

一建臨時(shí)表空間2

createtablespaceTEMPORARY_DATA2datafile

'g:\oradata\temp2_l.ora'size512M

defaultstorage(initial10Mnext3Mpctincrease0);

■■使其真正成為臨時(shí)的

altertablespaceTEMPORARY_DATA1temporary;

altertablespaceTEMPORARY_DATA2temporary;

一建立新的回滾段,每個(gè)都一樣大,不同大小的回滾段沒有什么意義,系

統(tǒng)是隨機(jī)選擇的。

--建多少個(gè),依據(jù)并發(fā)訪問用戶的多少,

■?假如你們公司每天有50-100個(gè)人員運(yùn)用Oracle系統(tǒng)開發(fā)的管理軟件,

應(yīng)當(dāng)20個(gè)以上

createpublicrollbacksegmentrbOltablespacerollback_datal;

createpublicrollbacksegmentrb02tablespacerollback_datal;

createpublicrollbacksegmentrb03tablespacerollback_data1;

createpublicrollbacksegmentrb04tablespacerollback_data1;

createpublicrollbacksegmentrb05tablespacerollback_data1;

createpublicrollbacksegmentrb06tablespacerollback_data1;

createpublicrollbacksegmentrb07tablespacerollback_data1;

createpublicrollbacksegmentrb08tablespacerollback_datal;

createpublicrollbacksegmentrb09tablespacerollback_data2;

createpublicrollbacksegmentrblOtablespacerollback_data2;

--前8個(gè)建在回滾表空間1中,后8個(gè)在回滾表空間2

createpublicrollbacksegmentrbl1tablespacerollback_data2;

createpublicrollbacksegmentrbl2tablespacerollback_data2;

createpublicrollbacksegmentrbl3tablespacerollback_data2;

createpublicrollbacksegmentrbl4tablespacerollback_data2;

createpublicrollbacksegmentrbl5tablespacerollback_data2;

createpublicrollbacksegmentrbl6tablespacerollback_data2;

createpublicrollbacksegmentrbl7tablespacerollback_data2;

createpublicrollbacksegmentrbl8tablespacerollback_data2;

createpublicrollbacksegmentrbl9tablespacerollback_data2;

<>

安裝Oracle后,常常運(yùn)用的修改表空間的SQL代碼(10)createpublic

rollbacksegmentrb20tablespacerollback_data2;

一使回滾段online,即有效

alterrollbacksegmentrbO1online;

alterrollbacksegmentrb02online;

alterrollbacksegmentrb03online;

alterrollbacksegmentrb04online;

alterrollbacksegmentrb05online;

alterrollbacksegmentrb06online;

alterrollbacksegmentrb07online;

alterrollbacksegmentrb08online;

alterrollbacksegmentrb09online;

alterrollbacksegmentrblOonline;

alterrollbacksegmentrbl1online;

alterrollbacksegmentrbl2online;

alterrollbacksegmentrbl3online;

alterrollbacksegmentrbl4online;

alterrollbacksegmentrbl5online;

alterrollbacksegmentrbl6online;

alterrollbacksegmentrbl7online;

alterrollbacksegmentrbl8online;

alterrollbacksegmentrbl9online;

alterrollbacksegmentrb20online;

一查看現(xiàn)有回滾段與其狀態(tài)

colsegmentformata30

SELECT

SEGMENT_NAME,OWNER,TABLESPACE_NAME,SEGMENT_ID,

FROMDBAROLLBACKSEGS;

一查看數(shù)據(jù)文件與其所在表空間、大小、狀態(tài)

colformata40

coltablespace_nameformata20

selectfromdbadatafiles;

至此,表空間重新規(guī)劃完畢,這里講的比較通俗,還有好多參數(shù)值得設(shè)置,

能夠把Oracle設(shè)置到最優(yōu)的境界,

表空間設(shè)置完了,下面,就該好好的整理一下Oracle的內(nèi)存區(qū)了,

Oracle很有意思,內(nèi)存越大,效果越明顯,所以有必要好好調(diào)整一下SGA

區(qū),也就是主要配置ininorcl.ora參數(shù)文件。

.ORACLE體系結(jié)構(gòu)組成

Oracleserver=Oracleinstance+Oracledatabase

Oracleinstance=Memory(SGA+PGA)+BackgroundProcess

SGA:startupnomount時(shí)就被安排,寫在參數(shù)文件里。

SGA_MAX_Size--------SGA區(qū)最大大

顆粒:連續(xù)的虛擬內(nèi)存安排。顆粒大小取決于SGA_MAX_SIZE的大小,

SGA_MAX_SIZE<128M,顆粒為4M,否則顆粒為16M.

SGA啟動(dòng)時(shí),每個(gè)組成部分會(huì)要求盡可能多的顆粒。固定的SGA至少

會(huì)要求3個(gè)顆粒(包括redobuffers1個(gè)顆粒,DatabaseBufferCache

1個(gè),Sharepoorl個(gè)顆粒)

SharedPool:用于存放最近執(zhí)行的SQ1代碼和最近的數(shù)據(jù)定義,包含

LibraryCache和DataDictionaryCache,大小由shared_pool_size

確定,

LibraryCache(存放statementtext,SQ1解析代碼和解析安排,以避

開表述被重解析)

?StoresinformationaboutthemostrecentlyusedSQLand

PL/SQLstatements

?Enablesthesharingofcommonlyusedstatements

?Ismanagedbyaleastrecentlyused(LRU)algorithm

?Consistsoftwostructures:

-SharedSQLarea

-SharedPL/SQLarea

?SizedeterminedbytheSharedPoolsizing

DataDictionaryCache:包含從數(shù)據(jù)字典表對表,列,權(quán)限的定義.

DatabaseBufferCache:包含3個(gè)獨(dú)立的子cache,統(tǒng)計(jì)信息由

v$DB_CACHE_ADVICE

DB_CACHE_SIZE:定義標(biāo)準(zhǔn)Block默認(rèn)的BufferCache;至少一個(gè)顆

粒。

buffercache分為default,keep,recycle.

DB_KEEP_CACHE_SIZE:對應(yīng)用于存放常常存放的數(shù)據(jù)的緩沖池大

小。

DB_RECYCLE_CACHE_SIZE:用于存放一次性數(shù)據(jù)緩沖池大小。

RedoLogBuffer:記錄數(shù)據(jù)庫Block的變更,主要用于復(fù)原,大小由

Log_Buffer確定。

LargePool:用于分擔(dān)SharedPool池負(fù)擔(dān),主要用于RMAN備份中和共

享服務(wù)器模式下!不運(yùn)用LRUList,大小由Large_PooLSize確定。

JavaPool:存放Java吩咐和代碼,大小由Java_Pool_Size確定。

共享服務(wù)器模式:多個(gè)客戶機(jī)連接共享一個(gè)已安排數(shù)據(jù)庫的共享池,假如

須要并行連接到數(shù)據(jù)庫并有效運(yùn)用系統(tǒng)資源的用戶較多,請運(yùn)用該模式,

此時(shí)將啟用oracle共享服務(wù)器模式。

專用服務(wù)器模式:數(shù)據(jù)庫將為每一個(gè)客戶機(jī)連接安排專用資源,當(dāng)預(yù)期客

戶機(jī)連接總數(shù)較小或客戶機(jī)向數(shù)據(jù)庫發(fā)出的懇求連續(xù)時(shí)間較長,運(yùn)用該模

式。

PGA:用戶獨(dú)占,有用戶連接啟動(dòng)服務(wù)器進(jìn)程時(shí)安排,包括4個(gè)部分:

1)用戶會(huì)話信息

2)用戶curse信息

3)排序區(qū)大?。恳粋€(gè)用戶連接,就安排一個(gè)排序區(qū))

4)堆棧信息

后臺(tái)進(jìn)程:

DBWR會(huì)觸發(fā)LGWR,但DBWR和LGWR之間相互獨(dú)立,無確定的先

后依次。

要深刻理解5類后臺(tái)發(fā)生的條件與所作的操作

Checkpoint發(fā)生時(shí)所作的操作:

?DBWnwritesanumberofdirtydatabasebuffers,whichare

coveredbythelogthatisbeingcheckpointed,tothedatafiles.

?ThecheckpointbackgroundprocessCKPTupdatesthecontrol

reflectthatithascompletedacheckpointsuccessfully.Ifthe

checkpointiscausedbyalogswitch,

CKPTalsoupdatestheheadersofthedatafiles.

?Checkpointscanoccurforalldatafilesinthedatabaseoronly

forspecificdatafiles.

Checkpoint發(fā)生的條件:

?日志切換時(shí)switchlogfile

?實(shí)例以normal,transactional,orimmediate選項(xiàng)關(guān)閉時(shí)。

?WhenforcedbysettingtheFAST_START_MTTR_TARGET

initializationparameter

?Whenmanuallyrequestedbythedatabaseadministrator

?WhentheALTERTABLESPACE[OFFLINENORMAL|READ

ONLY|BEGINBACKUP]commandcausescheckpointingon

specificdatafiles

SCNistheSystemChangeNumber,

sequentiallyassignedbyLGWR,toindicatethe“time”ofa

commit,rollbackorcheckpoint

Thefullcheckpointisonlydone:

?ALTERSYSTEMCHECKPOINT

?SHUTDOWN(exceptabort)

Alogswitchdoesnotperformafullcheckpoint.

buffer內(nèi)容被寫到磁盤,僅僅表示該buffer可以被覆蓋(其他進(jìn)程可

以pin住這個(gè)buffer讀block進(jìn)來),并不表示這個(gè)butter里面的數(shù)據(jù)

就沒了,至于被踢走更是一個(gè)模糊的說法。

全部DirtyBuffer,首先要被移動(dòng)到DirtyList上去,然后從DirtyList

上被寫出。一旦Buffer變得Dirty,在被寫出之前都不能被重用。也就是

不存在Hot/Cold之說了。Hot/Cold是針對LRUL運(yùn)3并非DirtyListo

加深(有價(jià)值的)文章

1)oracle體系結(jié)構(gòu)介紹.pdf(en).

2)redologsandrecoveiy.ppt,checkpointconstructor.ppt(講

redolog,rollforward&back徹的)

3)ITPUB第十期

4)oracle內(nèi)存安排與調(diào)整.pdf(bybiti.rainy)

5)oracle中須要牢牢記住的幾個(gè)進(jìn)程觸發(fā)條件

Gettingstartedwiththeoracleserver

l)useDBCAcreate/configure/del/manageDB

theusageoftemplatesofdbca:創(chuàng)建好數(shù)據(jù)庫模板后,下次用DBCA

時(shí)會(huì)出現(xiàn)以前創(chuàng)建的模板!

Sys,system都是在創(chuàng)建數(shù)據(jù)庫時(shí)自動(dòng)創(chuàng)建,并被給予了DBA角色(記

住,sysdba,sysper是權(quán)限,dba是角色),它們的初始密碼分別是

change_on_install和managero

Ora-12560錯(cuò)誤緣由(更多地出現(xiàn)在windows主機(jī)上):

一臺(tái)host上安裝了多個(gè)DB,但連接時(shí)沒有指定,可用setoracle_sid=***

OracleOEM:為DBA供應(yīng)了一個(gè)集中管理多個(gè)oracle數(shù)據(jù)庫節(jié)點(diǎn)的圖

形工具。

創(chuàng)建OEM的步驟:

1)在客戶端利用EnterpriseManagerConfigurationAssitant創(chuàng)建

repository資料檔案庫(創(chuàng)建過程中會(huì)讓你在server端指定新建一個(gè)

用戶,一個(gè)OEM_reposity表空間)。

2)在客戶端主機(jī)上,啟動(dòng)相關(guān)服務(wù)(Managementserver,Agent)

3)在客戶端啟動(dòng)OEM限制臺(tái)

以sysman/oem_temp用戶登陸(sysman用戶是默認(rèn)存在于客戶端

的圖形化工具里的,系統(tǒng)此時(shí)會(huì)提示你修改sysman密碼。

說明:也可以選擇獨(dú)立啟動(dòng)進(jìn)入OEM,用這種方法就不須要上面的步

驟。但此時(shí)的OEM的功能會(huì)少許多。

4)連接server端數(shù)據(jù)庫,輸入你在創(chuàng)建數(shù)據(jù)庫時(shí)新建的用戶名與密碼或

以sys用戶登陸。

說明:建好OEM后又修改了sys密碼,可能須要重建repository。

3o管理oracle實(shí)例

sp的相互創(chuàng)建

spfile是二進(jìn)制文件,oracle舉薦,RMAN已把spfile納入備份體系中。

createsppfile(若該吩咐不能運(yùn)行,證明instance由spfile啟動(dòng))

修改靜態(tài)參數(shù)時(shí),又想從spfile啟動(dòng),可以:

1)shutdowndb

2)editpfile

3)createsppfile

4)startup

應(yīng)常常同步P

(動(dòng)態(tài))修改spfile的參數(shù)

altersystemsetundo_tablespace=undo2

(不加scope表示就是both,默認(rèn)也是both,假如只想在memoryor

spfile兩者中選其一,就須要在scope里說明.

ALTERSYSTEMRESETundo_suppress_errorsSCOPE=BOTH

SID=';刪除或重設(shè)參數(shù)

Orderofprecedence:

sp>DefaultSPFILE>initSID.ora>DefaultPFILE

DB啟動(dòng)的3個(gè)步驟

1)nomount(讀sp,初始化SGA)

2)mount(讀限制文件)

3)open(讀限制文件描述的各個(gè)文件并檢查一樣性)

session:一個(gè)用戶的連接

transaction:事務(wù),一次修改或select。

Alert_SID.log(對應(yīng)background_dump_dest)實(shí)例的監(jiān)控調(diào)試文件

UserTraceFiles(對應(yīng)USER_DUMP_DEST),大小由MAX_DUMP_

EnablingorD運(yùn)ablingUserTracing

?會(huì)話級:

ALTERSESSIONSETSQL_TRACE=TRUE

dbms_system.SET_SQL_TRACE」N_SESSION

?事例級在參數(shù)文件里設(shè)置:SQL_TRACE=TRUE

加深(有價(jià)值的)文章:P文件(byeygle)

4.創(chuàng)建數(shù)據(jù)庫

數(shù)據(jù)庫管理的認(rèn)證方式(須要查找文章細(xì)致看):

I)OS認(rèn)證

2)password文件(參數(shù)文件只保存sys用戶的口令,其他用戶包括

system用戶的口令都保存在數(shù)據(jù)字典中。

語法orapwdpassword=abc123entries=5

entries:最多有sys用戶權(quán)限的用戶數(shù)量

初始化文件里的參數(shù)remote_login_password_

---look/opt/rdbms/admin/buildall.sql

createdatabasedbOl

maxlogfiles10

maxdatafiles1024

maxinstances2

logfile

GROUP1(7u01/oradata/dbO1/log^Ol_dbO1.rdo*)SIZE

15M,

GROUP2(7u01/oradata/dbO1/log_02_db01.rdo')SIZE

15M,

GROUP3C/uO1/oradata/dbO1/log_03_db01.rdo')SIZE

15M,

datafile'uO1/oradata/dbO1/system_0l_dbO1.dbf)SIZE100M,

undotablespaceUNDO

datafile'/uO1/oradata/dbO1/undo_0l_dbO1.dbfSIZE40M

defaulttemporarytablespaceTEMP

tempfile7uOl/oradata/dbOl/temp_Ol_dbOl.dbfSIZE20M

extentmanagementlocaluniformsize128k

charactersetAL32UTE8

nationalcharactersetAL16UTF16

settime_zone=,America/New_York';

創(chuàng)建數(shù)據(jù)庫最好的方法:舉薦用DBCA

用手工創(chuàng)建比較困難!

數(shù)據(jù)庫管理的認(rèn)證方式(須要找文章看)

圖解oracle口令認(rèn)證方法

我們在linuxtEoracle安裝完畢后我們可以通過下邊的吩咐進(jìn)入數(shù)據(jù)庫.

$cd$ORACLE_HOME/dbs

$sqlplus"/assysdba”

SQL>showuser

USERis"SYS"

并沒有讓我們輸入用戶名和密碼

這就是說.用戶只要登陸到LINUX系統(tǒng)就可以進(jìn)入到ORACLE數(shù)據(jù)庫系

統(tǒng)里.這樣對ORACLE的平安有許多隱患.

下面我們就ORACLE進(jìn)行設(shè)置使它必需輸入用戶名和密碼才能進(jìn)入.

首先我們修改參數(shù)文件.將參數(shù)文件

REMOTE_LOGIN_PASSWORDFILE修改為EXCLUSIVE(一般默認(rèn)

就是EXCLUSIVE.假如不是改成.參數(shù)文件一般在

/opt/oracle/admin/ora9i/pfile/下)

除了參數(shù)文件我們還要修改網(wǎng)絡(luò)配置文件SQLNET.ORA以變更數(shù)據(jù)庫

的人證方式.

該文件位于/opt/oracle/product/9.2/network/admin/sqlnet.ora

在SQLNET.ORA增加一行

SQLNET.AUTHENTICATION_SERVICES=(NTS)

這時(shí)候我們在輸入$sqlphisVassysdba"會(huì)要求你輸入用戶名和密

碼.

sqlplus"/assysdba"

SQL*Plus:Release.4.0-ProductiononSunSep316:18:442006

Copyright(c)1982,2002,OracleCorporation.Allrightsreserved.

ERROR:

ORA-01031:insufficientprivileges

Enteruser-name:

這時(shí)我們輸入用戶名和密碼也不能進(jìn)入.我們應(yīng)當(dāng)這么書寫

$sqlplus"sys/你的密碼assysdba”

就可以進(jìn)入了!

這個(gè)方法對ORACLE9.2以上版本特別有效.

5.運(yùn)用數(shù)據(jù)字典或動(dòng)態(tài)性能視圖

數(shù)據(jù)字典:DB的核心,sys用戶擁有,保存在system表空間,描述數(shù)據(jù)

庫與其對象,為只讀,通過select來查詢。

數(shù)據(jù)字典包含:1)基礎(chǔ)表:保存DB的描述,由createdb時(shí)的sql.bsl

創(chuàng)建

2)數(shù)據(jù)字典視圖:用于簡化基礎(chǔ)表信息,通過公用別名

來訪問,由catalog.sql創(chuàng)建。

Catproc.sql:創(chuàng)建PL/SQL的環(huán)境。

數(shù)據(jù)字典視圖類別:

DBA_XXX:全部對象

ALL_XXX:用戶所能訪問的全部對象

USER.XXX:用戶所擁有的全部對象

通用視圖:DICTIONARY(可查全部數(shù)據(jù)字典),DICT_COLUMNS

SCHEMA對象:DBA_TABLES,DBA」NDEXES,

DBATABCOLUMNS,DBACONSTRAINS

空間安排:DBA.SEGMENTS,DBA.EXTENTS

數(shù)據(jù)庫結(jié)構(gòu):DBA.TABLESPACES,DBA_DATA_FILES

動(dòng)態(tài)性能表:sys用戶擁有,記錄數(shù)據(jù)庫當(dāng)前活動(dòng)的虛擬表,存在于內(nèi)存

中,以V$開頭,在v$fixed_table中列出。

?V$DATABASE

?V$DATAFILE

?V$INSTANCE

?V$PARAMETER

?V?SESSION

?V$SGA

?$SPPARAMETER

?V$TABLESPACE

?V$THREAD

?V$VERSION

setwrapoff

user_tables;

all_tables;

dba_tables;

6管理限制文件

當(dāng)數(shù)據(jù)庫的結(jié)構(gòu)發(fā)生變更的時(shí)候,限制文件隨即發(fā)生變更。

添加限制文件步驟:

l)sql>altersystemset

control_files=7opt/oradata/uO1/ctrlOl.ctl',

7opt/oradata/u01/ctrl02.ctTscope=spfile;(必需加spfile,因?yàn)樾薷?/p>

不能寫到內(nèi)存里

2)sql>shutdownimmediate;

3)cp/opt/oradata/uO1/ctrlO1.ctl/opt/oradata/uO1/ctrl02.ctl

1)startup;

重要的視圖:

V$CONTROLFILE:

V$PARAMETER:

V$CONTROL:

V$BACKUP

V$DATAFILE

V$TEMPFILE

V$TABLESPACE

V$ARCHIVE

V$LOG

V$LOGFILE

V$LOGHIST

V$ARCHIVED_LOG

V$DATABASE

showparametercontrol;

select*fromv$control;

select*fromv$tempfile;

備份限制文件

alterdatabasebackupcontrol*../*;

備份限制文件,并將二進(jìn)制限制文件變?yōu)榱薬rc的文本文件

alterdatabasebackupcontroltrace;

限制文件在備份中意義重大,建議每次對其單獨(dú)備份。同時(shí)應(yīng)當(dāng)增大

CONTROL.這個(gè)初始化參數(shù)的值。以便備份信息能更長時(shí)間的保留。

7管理在線重做日志

redolog會(huì)記錄數(shù)據(jù)庫的全部操作,不僅僅只包括修改操作!

Redologswitch時(shí)會(huì)觸發(fā)checkpoint,同時(shí)信息會(huì)寫到controlfile里。

altersystemswitchlogfile;強(qiáng)行進(jìn)行一次日志switch,歸檔/非歸檔均

可運(yùn)用

altersystemarchivelogcurrent;強(qiáng)行歸檔并進(jìn)行日志切換,用于歸檔

模式下

altersystemcheckpoint;一強(qiáng)缶!j進(jìn)行一次checkpoint

FAST_START_MTTR_TARGET:checkpoint同步頻率參數(shù),91新參

數(shù),表示將來系統(tǒng)crash后你期望recover的時(shí)間。用來替代以前版本里

的FAST_START_IO_TARGET,LOG_CHECKPOINT_TIMEOUT

將參數(shù)LOG_CHECKPOINT_TO_ALERT設(shè)為true(默認(rèn)為false),系統(tǒng)

會(huì)將每個(gè)SCN記錄在alert_SID.log里!

加入一個(gè)日志組

alterdatabaseaddlog3('opt/oracle/log6.rdo'size10M);

向日志組中加入一個(gè)成員

alterdatabaseaddlog'/opt/oracle/log6b.rdo'togroup3;

刪除日志組:當(dāng)前日志組不能刪;活動(dòng)的日志組不能刪;非歸檔的日志組不

能刪

alterdatabasedroplog3;

刪除日志組中的某個(gè)成員,但每個(gè)組的最終一個(gè)成員不能被刪除???????

alterdatabsedroplog'/opt/oracle/log6,rdo';

redolog的狀態(tài):

1)inactive:非活動(dòng)的狀態(tài)

2)active:活動(dòng)的狀態(tài),oracle認(rèn)為可疑的狀態(tài)

3)current:當(dāng)前將要寫的redolog,執(zhí)行歸檔后,current之前的redo

log確定也必需被歸檔,否則數(shù)據(jù)庫處于掛死狀態(tài)。

4)unused:新增加的redolog狀態(tài)

重命名日志文件

1—shutdownimmediate;

2--移動(dòng)onlineredolog

3—startupmount

4—alterdatabase

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論