完整的Oracle數(shù)據(jù)庫(kù)通常由兩部分組成 Oracle數(shù)據(jù)庫(kù)實(shí)例和數(shù)據(jù)庫(kù)
創(chuàng)新互聯(lián)自2013年起,先為昆玉等服務(wù)建站,昆玉等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為昆玉企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
)數(shù)據(jù)庫(kù)是一系列物理文件的集合(數(shù)據(jù)文件 控制文件 聯(lián)機(jī)日志 參數(shù)文件等)
)Oracle數(shù)據(jù)庫(kù)實(shí)例則是一組Oracle后臺(tái)進(jìn)程/線(xiàn)程以及在服務(wù)器分配的共享內(nèi)存區(qū)
在啟動(dòng)Oracle數(shù)據(jù)庫(kù)服務(wù)器時(shí) 實(shí)際上是在服務(wù)器的內(nèi)存中創(chuàng)建一個(gè)Oracle實(shí)例(即在服務(wù)器內(nèi)存中分配共享內(nèi)存并創(chuàng)建相關(guān)的后臺(tái)內(nèi)存) 然后由這個(gè)Oracle數(shù)據(jù)庫(kù)實(shí)例來(lái)訪問(wèn)和控制磁盤(pán)中的數(shù)據(jù)文件 Oracle有一個(gè)很大的內(nèi)存快 成為全局區(qū)(SGA)
一 數(shù)據(jù)庫(kù) 表空間 數(shù)據(jù)文件
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)是數(shù)據(jù)集合 Oracle是一種數(shù)據(jù)庫(kù)管理系統(tǒng) 是一種關(guān)系型的數(shù)據(jù)庫(kù)管理系統(tǒng)
通常情況了我們稱(chēng)的 數(shù)據(jù)庫(kù) 并不僅指物理的數(shù)據(jù)集合 他包含物理數(shù)據(jù) 數(shù)據(jù)庫(kù)管理系統(tǒng) 也即物理數(shù)據(jù) 內(nèi)存 操作系統(tǒng)進(jìn)程的組合體
數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)在表中 數(shù)據(jù)的關(guān)系由列來(lái)定義 即通常我們講的字段 每個(gè)列都有一個(gè)列名 數(shù)據(jù)以行(我們通常稱(chēng)為記錄)的方式存儲(chǔ)在表中 表之間可以相互關(guān)聯(lián) 以上就是關(guān)系模型數(shù)據(jù)庫(kù)的一個(gè)最簡(jiǎn)單的描述
當(dāng)然 Oracle也是提供對(duì)面象對(duì)象型的結(jié)構(gòu)數(shù)據(jù)庫(kù)的最強(qiáng)大支持 對(duì)象既可以與其它對(duì)象建立關(guān)系 也可以包含其它對(duì)象 關(guān)于OO型數(shù)據(jù)庫(kù) 以后利用專(zhuān)門(mén)的篇幅來(lái)討論 一般情況下我們的討論都基于關(guān)系模型
表空間 文件
無(wú)論關(guān)系結(jié)構(gòu)還是OO結(jié)構(gòu) Oracle數(shù)據(jù)庫(kù)都將其數(shù)據(jù)存儲(chǔ)在文件中 數(shù)據(jù)庫(kù)結(jié)構(gòu)提供對(duì)數(shù)據(jù)文件的邏輯映射 允許不同類(lèi)型的數(shù)據(jù)分開(kāi)存儲(chǔ) 這些邏輯劃分稱(chēng)作表空間
表空間(tablespace)是數(shù)據(jù)庫(kù)的邏輯劃分 每個(gè)數(shù)據(jù)庫(kù)至少有一個(gè)表空間(稱(chēng)作SYSTEM表空間) 為了便于管理和提高運(yùn)行效率 可以使用一些附加表空間來(lái)劃分用戶(hù)和應(yīng)用程序 例如 USER表空間供一般用戶(hù)使用 RBS表空間供回滾段使用 一個(gè)表空間只能屬于一個(gè)數(shù)據(jù)庫(kù)
每個(gè)表空間由同一磁盤(pán)上的一個(gè)或多個(gè)文件組成 這些文件叫數(shù)據(jù)文件(datafile) 一個(gè)數(shù)據(jù)文件只能屬于一個(gè)表空間 在Oracle 以后 數(shù)據(jù)文件創(chuàng)建可以改變大小 創(chuàng)建新的表空間需要?jiǎng)?chuàng)建新的數(shù)據(jù)文件 數(shù)據(jù)文件一旦加入到表空間中 就不能從這個(gè)表空間中移走 也不能與其它表空間發(fā)生聯(lián)系
如果數(shù)據(jù)庫(kù)存儲(chǔ)在多個(gè)表空間中 可以將它們各自的數(shù)據(jù)文件存放在不同磁盤(pán)上來(lái)對(duì)其進(jìn)行物理分割 在規(guī)劃和協(xié)調(diào)數(shù)據(jù)庫(kù)I/O請(qǐng)求的方法中 上述的數(shù)據(jù)分割是一種很重要的方法
Oracle數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)分為邏輯存儲(chǔ)結(jié)構(gòu)和物理存儲(chǔ)結(jié)構(gòu)
)邏輯存儲(chǔ)結(jié)構(gòu) 用于描述Oracle內(nèi)部組織和管理數(shù)據(jù)的方式
)物理存儲(chǔ)結(jié)構(gòu) 用于描述Oracle外部即操作系統(tǒng)中組織和管理數(shù)據(jù)的方式
二 Oracle數(shù)據(jù)庫(kù)實(shí)例
為了訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù) Oracle使用一組所有用戶(hù)共享的后臺(tái)進(jìn)程 此外 還有一些存儲(chǔ)結(jié)構(gòu)(統(tǒng)稱(chēng)為System Gloabl Area 即SGA) 用來(lái)存儲(chǔ)最近從數(shù)據(jù)庫(kù)查詢(xún)的數(shù)據(jù) 數(shù)據(jù)塊緩存區(qū)和SQL共享池(Shared SQL Pool)是SGA的最大部分 一般占SGA內(nèi)存的 %以上 通過(guò)減少對(duì)數(shù)據(jù)文件的I/O次數(shù) 這些存儲(chǔ)區(qū)域可以改善數(shù)據(jù)庫(kù)的性能
Oracle數(shù)據(jù)庫(kù)實(shí)例(instance)也稱(chēng)作服務(wù)器(server) 是用來(lái)訪問(wèn)數(shù)據(jù)庫(kù)文件集的存儲(chǔ)結(jié)構(gòu)及后臺(tái)進(jìn)程的集合 一個(gè)數(shù)據(jù)庫(kù)可以被多個(gè)實(shí)例訪問(wèn)(這是Oracle并行服務(wù)器選項(xiàng))
lishixinzhi/Article/program/Oracle/201311/17362
一.在系統(tǒng)級(jí)別上設(shè)置sql跟蹤
該方法優(yōu)點(diǎn):可以跟蹤所有的oracle的后臺(tái)進(jìn)程所執(zhí)行的sql,包括系統(tǒng)后臺(tái)進(jìn)程和用戶(hù)進(jìn)程,并且可以跟蹤所有的操作
缺點(diǎn):跟蹤所有的后臺(tái)進(jìn)程,跟蹤信息量比較大
1.在sqlplus中以sys/ as sysdba身份登陸到數(shù)據(jù)庫(kù)。
2.打開(kāi)跟蹤,在sqlplus中輸入alter sysetem set events '10046 trace name context forever,level level';
(其中l(wèi)evel可以輸入1,4,8,12三個(gè)級(jí)別,不同的級(jí)別含有不同級(jí)別的信息)
3.然后到ArcMap或ArcCatalog中進(jìn)行你想跟蹤的操作
4.關(guān)閉跟蹤,在sqlplus中輸入alter systemm set events '10046 trace name context off';
5.查找你所跟蹤的session的ID
A 修改時(shí)間格式:alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
B.對(duì)使用sde服務(wù)的輸入:select sid,logon_time from v$session where username=username and program='gsrvr.exe';
C.對(duì)直連這種方式輸入:select sid,logon_time from v$session where username=username and program='ArcCatalog';
select sid,logon_time from v$session where username=username and program='ArcMap';
(其中username是程序登陸到數(shù)據(jù)庫(kù)的用戶(hù)名,如果返回多個(gè)結(jié)果,在根據(jù)登陸的時(shí)間確定具體的sid值)
6.執(zhí)行以下的sql語(yǔ)句
SELECT d.VALUE
|| '/'
|| LOWER (RTRIM (i.INSTANCE, CHR (0)))
|| '_ora_'
|| p.spid
|| '.trc' trace_file_name
FROM (SELECT p.spid
FROM v$mystat m, v$session s, v$process p
WHERE m.statistic# = 1 AND s.SID = SID AND p.addr = s.paddr) p,
(SELECT t.INSTANCE
FROM v$thread t, v$parameter v
WHERE v.NAME = 'thread'
AND (v.VALUE = 0 OR t.thread# = TO_NUMBER (v.VALUE))) i,
(SELECT VALUE
FROM v$parameter
WHERE NAME = 'user_dump_dest') d
在輸入sid后,即得到后臺(tái)的跟蹤文件。
二. 在session級(jí)別上設(shè)置跟蹤
該方法只適用于跟蹤登陸數(shù)據(jù)后所進(jìn)行的一系列的操作,比如跟蹤在ArcCatalog中創(chuàng)建一個(gè)Dataset,FeatureClass等的操作
1.在sqlplus中以sys / as sysdba身份登陸到數(shù)據(jù)庫(kù)
2.查找你所要跟蹤的session的sid和serial#
A 修改時(shí)間格式:alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
B.對(duì)使用sde服務(wù)的輸入:select sid,serial#,logon_time from v$session where username=username and program='gsrvr.exe';
C.對(duì)直連這種方式輸入:select sid,serial#,logon_time from v$session where username=username and program='ArcCatalog';
select sid,serial#,logon_time from v$session where username=username and program='ArcMap';
(其中username是程序登陸到數(shù)據(jù)庫(kù)的用戶(hù)名,如果返回多個(gè)結(jié)果,在根據(jù)登陸的時(shí)間確定具體的sid和serial#的值)
3.開(kāi)始跟蹤,輸入exec dbms_support.start_trace_in_session(sid,serial#,true,true).(如果系統(tǒng)沒(méi)有安裝dbms_support包,可以執(zhí)行$ORACLE_HOME\rdbms\admin\dbmssupp.sql進(jìn)行安裝)
4.然后到ArcMap或ArcCatalog中進(jìn)行你想跟蹤的操作
5.結(jié)束跟蹤exec dbms_support.stop_trace_in_session(sid,serial#);
6.執(zhí)行以下的sql語(yǔ)句
SELECT d.VALUE
|| '/'
|| LOWER (RTRIM (i.INSTANCE, CHR (0)))
|| '_ora_'
|| p.spid
|| '.trc' trace_file_name
FROM (SELECT p.spid
FROM v$mystat m, v$session s, v$process p
WHERE m.statistic# = 1 AND s.SID = SID AND p.addr = s.paddr) p,
(SELECT t.INSTANCE
FROM v$thread t, v$parameter v
WHERE v.NAME = 'thread'
AND (v.VALUE = 0 OR t.thread# = TO_NUMBER (v.VALUE))) i,
(SELECT VALUE
FROM v$parameter
WHERE NAME = 'user_dump_dest') d
在輸入sid后,即得到后臺(tái)的跟蹤文件。
三. 在Aix系統(tǒng)下跟蹤消耗內(nèi)存的session的辦法
1.在Aix系統(tǒng)上執(zhí)行export TERM=vt100
2.執(zhí)行topas命令,確定最占cpu資源的process的進(jìn)程號(hào)
3,然后利用select a.sid,b.serial# from v$session a,v$process b where a.paddr=b.addr and b.spid=spid;
4.確定sid和serial#后利用二方法進(jìn)行跟蹤。
sql要在后臺(tái)運(yùn)行的的話(huà)你只有寫(xiě)shell腳本了:
sqlplus username/password@orcl !
select xxxxxxx --這里填你想要執(zhí)行的語(yǔ)句
exit
!
(在數(shù)據(jù)庫(kù)本地執(zhí)行的時(shí)候可以不帶連接串,直接用sqlplus username/password ! 即可)
編寫(xiě)完腳本后在操作系統(tǒng)下執(zhí)行:
nohup ./mysql.sh 或者 ./mysql.sh
(這里暫定你的shell腳本名是mysql.sh可以自己改)
使用jobs命令就可查看你后臺(tái)運(yùn)行的程序。或者使用 ps -ef|grep mysql.sh 也能看到。
當(dāng)然了使用了nohup參數(shù)后在當(dāng)前目錄會(huì)生成nohup.out的輸出文件,你也可以在這個(gè)文件中查看腳本執(zhí)行的進(jìn)度。
登錄時(shí)需要加連接字符串:數(shù)據(jù)庫(kù)名 as sysdba 進(jìn)入后執(zhí)行: grant connect to scott 這樣scott用戶(hù)就可以使用了
當(dāng)前名稱(chēng):oracle后臺(tái)怎么使用 Oracle使用方法
文章源于:http://m.kartarina.com/article24/hgjgce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、微信小程序、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、虛擬主機(jī)、手機(jī)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)