目錄
Oracle之 第1篇 ? Oracle 11g 簡介
1.1? Oracle概述
1.2? Oracle 11g 系統(tǒng)的體系結(jié)構(gòu)★
1.1 Oracle物理結(jié)構(gòu)
1.1物理結(jié)構(gòu)--數(shù)據(jù)文件
1.1.2 物理結(jié)構(gòu)---日志文件
1.1.3 物理結(jié)構(gòu)---控制文件
1.2.4? 配置文件
Oracle之 第1篇 ? Oracle 11g 簡介
1.1? Oracle概述
常用Oracle服務(wù)
?(上機(jī)時需要啟動三個服務(wù))
常用Oracle服務(wù)(重點)
- OracleServiceORCL。數(shù)據(jù)庫服務(wù),這個服務(wù)會自動地啟動和停止數(shù)據(jù)庫。ORCL是Oracle例程標(biāo)識。此服務(wù)被默認(rèn)設(shè)置為自動啟動。
- OracleDBConsoleorcl。Oracle數(shù)據(jù)庫控制臺服務(wù),orcl是Oracle例程標(biāo)識,默認(rèn)的例程為orcl。在運(yùn)行Enterprise Manager 11g時,需要啟動此服務(wù)。此服務(wù)被默認(rèn)設(shè)置為自動啟動。
- OracleOraDb11g_home1TNSListener。監(jiān)聽器服務(wù),服務(wù)數(shù)據(jù)庫需要遠(yuǎn)程訪問時才需要。此服務(wù)被默認(rèn)設(shè)置為自動啟動。
常用Oracle服務(wù):
- OracleJobSchedulerORCL。Oracle作業(yè)調(diào)度進(jìn)行,ORCL是Oracle例程標(biāo)識。此服務(wù)被默認(rèn)設(shè)置為禁用。
- OracleOraDb11g_home1iSQL*Plus。iSQL *Plus應(yīng)用服務(wù),默認(rèn)設(shè)置為自動啟動。
啟動Oracle需要技能之二:
?上機(jī)實驗一:
上機(jī)實驗,進(jìn)入Oracle的基本步驟:
?文章來源地址http://www.zghlxwxcb.cn/news/detail-819473.html
啟動Oracle需要技能之二(重點):
?
Oracle11g 默認(rèn)帳戶:
Show user命令的應(yīng)用
帳戶信息在數(shù)據(jù)字典dba_users中.
補(bǔ)充:Oracle 的默認(rèn)端口:
總結(jié):
? ? (1)? pl/sql develop 方式
? ? (2)? 命令方式:sqlplus? system/test
???????? 命令方式: sqlplus? system/test@數(shù)據(jù)庫名
???????? ?as SYSDBA
?? ? (3)?? 忘記密碼的情況下:
????????? sqlplus?? /nolog 進(jìn)入oracle 會話
????????? conn? /as SYSDBA
??? 三、常用Oracle服務(wù)(重點) p26???????? ?
1.2? Oracle 11g 系統(tǒng)的體系結(jié)構(gòu)★
1.1 Oracle物理結(jié)構(gòu)
?
Oracle 數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu):
Oracle數(shù)據(jù)庫的體系結(jié)構(gòu),可以用來分析數(shù)據(jù)庫的組成和工作過程,以及及數(shù)據(jù)庫是如何組織和管理數(shù)據(jù)的。
?????? Oracle數(shù)據(jù)庫從結(jié)構(gòu)上可以分為邏輯結(jié)構(gòu)和物理結(jié)構(gòu)。
?
??? 邏輯存儲結(jié)構(gòu)是從邏輯的角度來分析數(shù)據(jù)庫的構(gòu)成的,是數(shù)據(jù)庫創(chuàng)建后利用邏輯概念來描述Oracle數(shù)據(jù)庫內(nèi)部數(shù)據(jù)的組織和管理形式。
1.1?? 物理結(jié)構(gòu)(思路)
????? 從文件類型,到其作用 ,到相關(guān)數(shù)據(jù)字典(系統(tǒng)表) ?, 到如何建立(對于數(shù)據(jù)和日志文件)到上機(jī)如何驗證, 到看懂驗證結(jié)果。
1.1物理結(jié)構(gòu)--數(shù)據(jù)文件
????? 數(shù)據(jù)文件(Data File)是指存儲數(shù)據(jù)庫數(shù)據(jù)的文件。
?????? Oracle 數(shù)據(jù)庫的每個表空間包括一個或多個數(shù)據(jù)文件。 Oracle數(shù)據(jù)庫中所有的數(shù)據(jù)信息都存放在數(shù)據(jù)文件中,是存儲在文件系統(tǒng)中實際的物理文件。
??????
???? 數(shù)據(jù)文件用來存儲數(shù)據(jù)庫中的全部數(shù)據(jù),如存儲數(shù)據(jù)庫表中的數(shù)據(jù)和索引數(shù)據(jù)。通常為后綴名為.dbf格式的文件。
數(shù)據(jù)文件可以存放兩種類型的數(shù)據(jù):
- ?用戶數(shù)據(jù): 用戶應(yīng)用系統(tǒng)的數(shù)據(jù)。
- 系統(tǒng)數(shù)據(jù): 管理用戶數(shù)據(jù)和Oracle系統(tǒng)本身的數(shù)據(jù)。
- ???? 用戶建立的表名,列名,這些數(shù)據(jù)自動被存放在系統(tǒng)表空間對應(yīng)的system01.dbf;
- ???? Oracle系統(tǒng)內(nèi)部的數(shù)據(jù)字典、表如DBA_USERS、DBA_DATA_FILES等存放的數(shù)據(jù)屬于Oracle系統(tǒng)內(nèi)部的數(shù)據(jù)? à存放在系統(tǒng)表空間對應(yīng)的system01.dbf。
數(shù)據(jù)文件一旦加入到表空間,就不能從表空間移走,也不能和其他表空間發(fā)生聯(lián)系
數(shù)據(jù)字典: dba_data_files和v$datafile
?? 查詢當(dāng)前數(shù)據(jù)庫的所有的表空間及其對應(yīng)的數(shù)據(jù)文件。
???
???? Select file_name,tablespace_name,bytes from dba_data_files;
???? Select file#,name,checkpoint_change#? from v$datafile;
???? 需要看懂反饋結(jié)果。
補(bǔ)充describe命令:
- 語法:desc[ribe]? ?{[模式.]對象}
- 作用: 列出指定表的列定義,視圖或同義詞,或指定函數(shù)或存儲過程的詳述。
1.1.2 物理結(jié)構(gòu)---日志文件
日志文件(重做日志文件—redo log),用于記錄數(shù)據(jù)庫所做的全部變更(如增加、刪除、修改)及由Oracle內(nèi)部行為而引起的數(shù)據(jù)庫變化信息。
目的:記錄數(shù)據(jù)的改變,提供數(shù)據(jù)庫的恢復(fù)。
- 數(shù)據(jù)修改信息后,數(shù)據(jù)文件中只保留修改后的數(shù)據(jù),日志文件中即保留修改后的數(shù)據(jù),又保留修改前的數(shù)據(jù)。
- 表或整個表空間設(shè)定Nologging屬性時,基于表或表空間的所有的DML操作將不會生成日志信息。
注意:
一個數(shù)據(jù)庫至少需要兩個重做日志文件(保證其正常運(yùn)行),如要保證其安全,每組至少要有兩個成員。
多元日志文件(multiplexed redo log)—系統(tǒng)在不同的位置自動維護(hù)重做日志的兩個或以上的副本。
二、日志的運(yùn)行方式:
日志按照有序循環(huán)的方式被使用。
二、日志的運(yùn)行方式:
- 日志按照有序循環(huán)的方式被使用。
- 即當(dāng)一組日志文件被填滿后,循環(huán)覆蓋下一組日志文件,不斷循環(huán)。當(dāng)所有日志文件都被寫滿后,就回到第一個日志文件,日志切換。
- 組: group
- 成員: member
- 日志文件的操作屬于SQL語言中的那種語言,粒度的大小是誰?
- 重做日志的多元性:
重做日志的基本概念 :
- LGWR(日志寫入進(jìn)程,屬于內(nèi)存結(jié)構(gòu)中的后臺進(jìn)程)寫入重做日志的過程
??V$log和v$logfile
【例】查詢視圖V$LOG,顯示控制文件中重做日志文件的信息:
SQL>? SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;
運(yùn)行結(jié)果截圖:
查看重做日志組頁面:
【例】查詢視圖V$LOGFILE,顯示重做日志組及其成員的基本信息:
SQL> SELECT GROUP#,STATUS,MEMBER FROM V$LOGFILE;
創(chuàng)建重做日志組和成員
- ALTER DATABASE語句創(chuàng)建重做日志組
【例】在使用ALTER DATABASE語句創(chuàng)建重做日志組時,可以使用GROUP子句定義組編號:
ALTER DATABASE
?? ADD LOGFILE GROUP 10 ('log1a.rdo', 'log2a.rdo') SIZE 5000k;
【例】在ALTER DATABASE語句中使用ADD LOGFILE子句也可以創(chuàng)建重做日志組:
ALTER DATABASE
?? ADD LOGFILE ('log1c.rdo', 'log2c.rdo') SIZE 5000k;
- 創(chuàng)建重做日志成員
【例】在ALTER DATABASE語句中使用ADD LOGFILE MEMBER關(guān)鍵字,可以向已存在的重做日志組中添加成員:
ALTER DATABASE ADD LOGFILE MEMBER 'log3a.rdo' TO GROUP 10;
注意:帶member的日志添加沒有size語句。----why?
SELECT GROUP#,STATUS,MEMBER FROM V$LOGFILE;
?
(2)刪除重做日志成員
- DROP LOGFILE MEMBER子句也可以刪除指定的重做日志。
?【例】刪除重做日志組log1a.rdo:
SQL> ALTER DATABASE DROP LOGFILE MEMBER 'log1a.rdo';
數(shù)據(jù)庫已更改。
(1)刪除重做日志組
- DROP LOGFILE子句也可以刪除指定的重做日志組。
【例】刪除編號為10的重做日志組:
SQL> ALTER DATABASE DROP LOGFILE GROUP 10;
數(shù)據(jù)庫已更改。
- 日志切換可以使用命令行強(qiáng)制執(zhí)行(了解)
- ALTER SYSTEM SWITCH LOGFILE
- 多個日志組是循環(huán)使用的,一般是前面一個日志組寫滿了,就開始用下一個日志組。最后一組寫滿了,又回過來寫第一個日志組。
alter system switch logfile 是用手工的方式,讓 Oracle 直接使用下一個日志組,而不管當(dāng)前使用的日志組是否寫滿。
Oracle 數(shù)據(jù)庫允許將被填充滿的重做日志文件組保存到一個或者多個離線的位置,這叫做歸檔重做日志,簡稱歸檔日志。將重做日志文件轉(zhuǎn)換為歸檔文件的過程叫歸檔。
根據(jù)在事務(wù)信息將被覆蓋時,是否應(yīng)該將文件歸檔,數(shù)據(jù)庫分為以下兩種歸檔模式:ARCHIVELOG(歸檔日志)或NOARCHIVELOG(非歸檔日志)模式。
歸檔過程只能在ARCHIVELOG模式下數(shù)據(jù)庫中進(jìn)行.
- ARCHIVELOG模式:? 采用生成歸檔日志的模式
- NOARCHIVELOG模式: 不生成歸檔日志
- 歸檔文件:????? .ARC
查看歸檔日志信息:
【例】使用ARCHIVE LOG LIST命令可以顯示歸檔日志信息:
SQL> ARCHIVE LOG LIST;
數(shù)據(jù)庫日志模式?????? 存檔模式
自動存檔???????????? 啟用
存檔終點??????????? USE_DB_RECOVERY_FILE_DEST
最早的聯(lián)機(jī)日志序列?? 22
下一個存檔日志序列?? 22
當(dāng)前日志序列???????? 25
SYS用戶
一、歸檔模式的查詢:方法一
- SQL> ARCHIVE LOG LIST(掌握)
- l必須在sys用戶下完成
- 方法二:select name,log_mode from v$database
- 預(yù)習(xí):如何修改數(shù)據(jù)庫的歸檔模式(為數(shù)據(jù)庫的備份和恢復(fù)做準(zhǔn)備):
- Shutdown immediate;
- Startup nomount;
- Alter database mount;
- Alter database archivelog;
與歸檔日志相關(guān)的視圖 :
- 查詢?nèi)罩拘畔?/strong>
- Select member from v$logfile;
- 查詢數(shù)據(jù)庫是否為歸檔模式
- Select dbid,name,log_mode from v$database;
1.1.3 物理結(jié)構(gòu)---控制文件
?Oracle數(shù)據(jù)庫系統(tǒng)在運(yùn)行前要首先轉(zhuǎn)到控制文件。以檢查數(shù)據(jù)庫是否良好。
?每個Oracle數(shù)據(jù)庫都有相應(yīng)的控制文件,用于打開、存取數(shù)據(jù)庫。它們是較小的二進(jìn)制文件,其中記錄了數(shù)據(jù)庫的物理結(jié)構(gòu)。
控制文件名字通常為Ctr*.ctl 格式
控制文件中的內(nèi)容只能夠由Oracle本身來修改。每個數(shù)據(jù)庫必須至少擁有一個控制文件。一個數(shù)據(jù)庫也可以同時擁有多個控制文件,但是一個控制文件只能屬于一個數(shù)據(jù)庫。
?
控制文件用以記錄與描述數(shù)據(jù)庫的外部結(jié)構(gòu)。主要包括:
??? ①? Oracle 11g數(shù)據(jù)庫名稱與建立時間。
??? ②? 數(shù)據(jù)文件與重做日志文件名稱及其所在位置。
??? ③? 日志記錄序列碼(log sequence number)。?
Select * from v$controlfile;
1.2.4? 配置文件
配置文件是一個ASCII文本文件,記錄Oracle數(shù)據(jù)庫運(yùn)行時的一些重要參數(shù)。名字通常為*.ora格式。
如SPfile.ora文件, 數(shù)據(jù)庫實例初始化文件initSID.ora, listener.ora文件, sqlnet.ora文件, tnsnames.ora文件
總結(jié):
- 數(shù)據(jù)文件????????? .DBF
- 控制文件????????? .CTL
- 重做日志文件??? .LOG
- 參數(shù)文件:????? .ORA
- 歸檔文件:????? .ARC
數(shù)據(jù)庫存儲結(jié)構(gòu) :
文章來源:http://www.zghlxwxcb.cn/news/detail-819473.html
?
到了這里,關(guān)于Oracle之 第1篇 Oracle 11g 簡介的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!