Oracle的內部結構和基本管理.ppt
《Oracle的內部結構和基本管理.ppt》由會員分享,可在線閱讀,更多相關《Oracle的內部結構和基本管理.ppt(73頁珍藏版)》請在裝配圖網上搜索。
ORACLE數據庫查詢和管理,第11章Oracle內部結構和基本管理,2020/4/25,1,2020/4/25,2,本章內容,配置Oracle網絡連接管理Oracle數據庫實例創(chuàng)建Oracle用戶和表空間管理Oracle用戶導入、導出Oracle數據庫數據,2020/4/25,3,本章目標,理解Oracle11g服務器體系結構了解Oracle服務器各個構成的作用掌握Oracle網絡連接的基本管理掌握Oracle實例的基本管理掌握Oracle用戶和表空間的基本管理掌握expdp和impdp導入導出數據,2020/4/25,4,11.1Oracle服務器體系結構,Oracle應用程序的體系結構客戶機/服務器模式結構(C/S結構),2020/4/25,5,Oracle應用程序的體系結構基于因特網的應用模式結構,,2020/4/25,7,Oracle服務器體系結構,Oracle服務器體系結構-內存結構,Oracle服務器體系結構-進程結構,2020/4/25,16,用戶進程用戶進程是在客戶機內存上運行的程序,它向服務器進程發(fā)出數據處理請求當客戶端運行一個應用程序,準備向數據庫服務器發(fā)送請求時,將會創(chuàng)建用戶進程服務器進程為了給客戶端的用戶進程提供服務,Oracle會在客戶端成功連接Oracle數據庫時,在服務器端創(chuàng)建相應的服務器進程客戶端的進程與服務器端的進程是一一對應的用戶進程必須通過服務器進程才能訪問數據庫主要任務有:解析并執(zhí)行用戶所提交的SQL語句搜索SGA區(qū)的數據庫緩存,決定是否讀取數據文件,如果數據塊不在SGA區(qū)的數據庫緩存中,則將其從數據文件中讀入將查詢或執(zhí)行后形成的數據返回給用戶,2020/4/25,17,后臺進程同一時刻用戶,Oracle使用一些附加的線程,稱為后臺進程。后,Oracle可以處理上百個并發(fā)的請求,進行復雜的數據操作,為了提高系統(tǒng)性能并協調多個臺進程存在于操作系統(tǒng)中,在Oracle實例啟動時自動啟動。后臺進程主要完成以下任務:(1)在內存和外存之間進行I/O操作。(2)監(jiān)視各個進程的狀態(tài)。(3)協調各個進程的任務。(4)維護系統(tǒng)的性能。(5)保證系統(tǒng)的可靠性。守護進程網絡監(jiān)聽程序Gridinfrastructure守護程序,Oracle服務器體系結構-存儲結構,邏輯和物理數據庫結構,2020/4/25,27,Oracle存儲體系結構-邏輯結構,2020/4/25,28,數據塊(DataBlock)數據塊是最小的數據管理單位,即Oracle中所有的I/O操作都以塊為單位。數據塊的大小是操作系統(tǒng)塊大小的整數倍,常見大小為2KB或4KB數據區(qū)間(DataExtent)數據區(qū)間由物理上連續(xù)存放的塊所構成,它是Oracle存儲分配的最小單位,一個或多個塊組成一個數據區(qū)間數據段(DataSegment)若干個數據區(qū)間構成數據段表空間(TableSpace)為了提高數據庫服務器管理和運行的效率,Oracle11g使用“表空間”這個虛擬的概念來管理邏輯對象,用戶可以將不同性質的邏輯對象存放在不同的表空間下在Windows操作系統(tǒng)中,使用文件夾來分類管理各種文件,表空間相當于Oracle數據庫的文件夾。每個表空間由一個或多個數據文件組成,一個數據文件只能與一個表空間相聯系,Oracle存儲體系結構,29,Oracle數據庫服務器上的默認表空間,數據庫相當于一個柜子,柜子中的抽屜相當于表空間,抽屜中的文件夾相當于表,文件夾中的紙相當于數據區(qū)間,寫在紙上的信息相當于數據。,2020/4/25,30,物理結構主要是從數據庫設計者的角度上來考察數據庫的組成,物理結構,2020/4/25,31,1.物理塊物理塊是操作系統(tǒng)分配的基本存儲單位,邏輯結構中的數據塊由若干個物理塊構成。2.物理文件每個物理文件由若干個物理塊組成,物理文件包括數據文件、控制文件和日志文件。(1)數據文件(2)重做日志文件(3)控制文件,物理結構,11.2Oracle網絡連接的配置和管理,建立網絡連接要建立連接,Oracle要求客戶機了解以下信息運行監(jiān)聽程序的主機監(jiān)聽程序監(jiān)聽的端口監(jiān)聽程序使用的協議監(jiān)聽程序處理的服務名,建立網絡連接連接與會話,簡便連接,本地命名,2020/4/25,37,Oracle網絡連接的配置和管理,Oracle數據庫網絡配置數據庫實例名數據庫實例名是用于和操作系統(tǒng)進行聯系的標識,就是說數據庫和操作系統(tǒng)之間的交互用的是數據庫實例名。全局數據庫名Oracle數據庫系統(tǒng)是一個大型分布式數據庫系統(tǒng),為了保證分布式網絡環(huán)境下每個數據庫名稱的唯一性,Oracle使用域名結構命名網絡資源。一個數據庫的全局名稱由其數據庫名和該數據庫所在的域名組成,2020/4/25,38,Oracle數據庫網絡配置服務名是數據庫服務器在客戶端的名稱,從Oracle9i版本開始,引入的一個新的概念——數據庫服務名。如果數據庫有域名,則數據庫服務名就是全局數據庫名;否則,數據庫服務名與數據庫名(SID)相同。,2020/4/25,39,Oracle數據庫網絡配置監(jiān)聽程序客戶機與Oracle數據庫服務器通信時,網絡連接是通過監(jiān)聽程序建立的。監(jiān)聽程序也叫監(jiān)聽器。監(jiān)聽器是運行在服務器端的一個單獨的服務進程。其職責是監(jiān)聽網絡上客戶機對服務器的連接請求,并管理客戶機和服務器之間的網絡通信。,2020/4/25,40,Oracle數據庫網絡配置(1)監(jiān)聽程序的配置文件(listener.ora):服務器端配置的目的就是配置該文件,該文件存儲于服務器端,默認位置“%ORACLE_HOME%\NETWORK\ADMIN“。%oracle_home%=D:\app\Administrator\product\11.1.0\db_1\,LISTENER=(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=20090215-0635)(PORT=1521))),監(jiān)聽器名稱,使用的網絡協議,服務器主機名或IP,不能用localhost,否則有礙網絡連接,端口號,2020/4/25,41,Oracle數據庫網絡配置在安裝Oracle11g數據庫時會自動地在配置文件listener.ora中配置一個默認監(jiān)聽程序但一個服務器可以有多個監(jiān)聽程序,分別監(jiān)聽不同的協議和端口號。同時,作為服務端如果要接收客戶端的請求,就必須配置監(jiān)聽列表。配置步驟如下:第一步,執(zhí)行【開始】→【程序】→【Oracle–OraDb11g_homel】→【配置和移植工具】→【NetManager】命令,將彈出“OracleNetManager”窗口,在窗口中進行相應的修改,如圖所示。,選擇數據庫服務。,添加并輸入全局數據庫名稱、oracle安裝的主目錄、和SID,選擇“監(jiān)聽位置”,并輸入本機的主機名或IP地址和端口,2020/4/25,42,2.1.3Oracle數據庫網絡配置第二步,修改服務器端監(jiān)聽程序配置后需要保存配置,將其保存到listener.ora配置文件中。,,,新添加的監(jiān)聽列表。此處是本機的全局數據庫名。,原有的監(jiān)聽器配置。,2020/4/25,43,Oracle數據庫網絡配置(2)本地網絡服務名的配置文件(tnsnames.ora):當采用本地命名方法時,就必須在客戶端保存tnsnames.ora配置文件,客戶端配置的目的就是配置該文件,默認位置為“%ORACLE_HOME%\network\admin”。,ORCL=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=20090215-0635)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=www.wang.orcl))),網絡服務名,服務名,與全局數據庫名相同,服務器主機名或IP,不能用localhost,否則有礙網絡連接,端口號,2020/4/25,44,Oracle數據庫網絡配置Oracle11g安裝程序會自動地創(chuàng)建一個默認的tnsnames.ora文件。如果一臺計算機上只安裝了Oracle11g客戶端軟件,則該計算機只能作為客戶端,不會產生默認的tnsnames.ora文件?;蛘逴racle服務器A需要訪問服務器B,則A也是作為客戶端,需要正確配置才能使用。步驟如下:第一步,進入【OracleNetManager】窗口,選中【服務命名】,點擊【創(chuàng)建】按鈕,將出現如圖2.1.10所示【Net服務名向導】窗口,在其中輸入需要創(chuàng)建的網絡服務名的名稱,,2020/4/25,45,Oracle數據庫網絡配置第二步,在出現的Net服務名向導的“協議”窗口中選中“TCP/IP(Internet協議)”選項,如圖所示,單擊【下一步】按鈕。,2020/4/25,46,Oracle數據庫網絡配置第三步,執(zhí)行以上操作后將出現如圖所示的界面,按照向導要求輸入主機名、端口號等信息,單擊【下一步】按鈕。,192.168.0.211,2020/4/25,47,2.1.3Oracle數據庫網絡配置第四步,執(zhí)行以上操作后將出現如圖2.1.13所示的界面,按照向導要求輸入要連接的主機的全局數據庫名等信息,單擊【下一步】按鈕。,ORCL=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=20090215-0635)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=))),網絡服務名,服務名,與全局數據庫名相同,服務器主機名,不能用localhost,否則有礙網絡連接,端口號,,2020/4/25,48,Oracle數據庫網絡配置第五步,在如圖2.1.14所示的“測試”窗口中,為了檢查新創(chuàng)建的網絡服務名是否有效,可以單擊圖中的【測試】按鈕進行測試。如果測試成功,將顯示測試窗口,,2020/4/25,49,Oracle數據庫網絡配置第六步,測試成功后,將在tnsnames.ora文件中添加一條關于新創(chuàng)建的網絡服務名的配置,,2020/4/25,50,Oracle數據庫網絡配置第七步:SQLPlus就可以使用新配置的客戶端網絡服務名訪問Oracle數據庫,,,2020/4/25,51,11.3Oracle實例的基本管理,什么是數據庫實例Oracle通過數據庫實例來加載和管理數據庫,每個運行的Oracle數據庫都對應一個Oracle實例(Instance),也可以稱為例程。當數據庫服務器上的一個數據庫啟動時,Oracle將為其分配一塊內存區(qū)間,叫做系統(tǒng)全局區(qū)(SGA),然后啟動多個進程。SGA和Oracle進程結合在一起,就是一個Oracle實例。為了區(qū)分不同的實例,每個Oracle實例都有一個系統(tǒng)標識符SID,通常SID與數據庫同名。,2020/4/25,52,11.3Oracle實例的基本管理,Oracle數據庫實例的狀態(tài)關閉(SHUTDOWN):將Oracle實例從允許用戶訪問數據的狀態(tài)轉換為不可使用狀態(tài)。已啟動(NOMOUNT):啟動實例,但不裝載數據庫。該模式用于對控制文件進行管理或重新創(chuàng)建數據庫等,不允許用戶訪問數據庫數據。已裝載(MOUNT):啟動實例并裝載數據庫,但不打開數據庫。該模式用于數據庫的數據文件的恢復操作等。不允許用戶訪問數據庫數據。打開(OPEN):啟動實例,裝載并打開數據庫。該模式是默認的啟動模式,它允許任何有效用戶連接到數據庫,并執(zhí)行數據訪問操作。,Oracle數據庫關閉模式,2020/4/25,54,11.3Oracle實例的基本管理,關閉Oracle實例:正常關閉數據庫實例,shutdownnormal提交shutdownnormal命令后,Oracle數據庫不再接受新的連接。數據庫會一直等待當前數據庫的用戶都斷開連接后,再關閉數據庫實例。因此通常此種關閉方式需要等待很長的時間。一般不采用此種方式關閉數據庫實例。立即關閉數據庫實例,shutdownimmediate數據庫不再接受新的連接,也不允許開始新的事務,所有未提交的事務都將被撤銷。數據庫不會等待所有在線用戶斷開連接,只要事務撤銷完畢,就立即關閉數據庫。,2020/4/25,55,關閉Oracle實例:以事務處理方式關閉數據庫實例:shutdowntransactional。數據庫不允許新的連接,也不允許開始新的事務,但是會等待已有事務提交后才關閉數據庫。數據庫不會等待所有在線用戶斷開連接,只要事務提交完畢,就立即關閉數據庫。強制關閉數據庫實例:shutdownabort數據庫不再接受新的連接,也不允許開始新的事務,所有未提交的事務都將被終止。立即切斷所有在線用戶連接。,,Oracle實啟動狀態(tài):,Oracle實啟動狀態(tài):,Oracle實啟動狀態(tài):,2020/4/25,59,示例:用戶必須以sysdba身份登錄connsys/adminassysdba關閉實例:shutdownimmediate啟動實例,但不裝載數據庫:startupnomount啟動實例,并裝載數據庫:startupmount啟動數據庫實例,并裝載數據庫:startupopen,open參數可以省略,,2020/4/25,60,創(chuàng)建Oracle表空間,在Oracle中數據表是按照表空間來進行管理的。也就是說,建表前,需要新建表空間。createtablespacemy_mobiledatafiled:/mytablespace/my_mobile.dbfsize100mautoextendonnext32mmaxsizeunlimitedloggingextentmanagementlocalsegmentspacemanagementauto;一般用默認的命令即可:createtablespacemy_mobiledatafiled:/mytablespace/my_mobile.dbfsize100m;,創(chuàng)建建表空間,必須以dba身份登錄。connsystem/admin,2020/4/25,61,11.4創(chuàng)建Oracle用戶并授權,11.4.1創(chuàng)建Oracle用戶同一數據庫中可以同時有多個用戶,每個用戶管理自己的數據庫對象.比如數據庫表、索引、視圖等。。Oracle中的CREATEUSER命令用于創(chuàng)建新用戶。每個用戶都有一個默認表空間和一個臨時表空間。如果沒有指定,Oracle就將SYSTEM設為默認表空間,將TEMP設為臨時表空間。,CREATEUSERIDENTIFIEDBY[DEFAULTTABLESPACE][TEMPORARYTABLESPACE],CREATEUSERmmIDENTIFIEDBYoracleDEFAULTTABLESPACEMY_MOBILE,2020/4/25,62,查看用戶的默認表空間selectusername,default_tablespacefromdba_users默認情況下用戶處于鎖定狀態(tài)解除鎖定:alteruser[username]accountunlock;新創(chuàng)建的用戶是沒有權限的,需要賦予權限,2020/4/25,63,11.4.2權限和角色Oracle中的常用系統(tǒng)預定義角色如下。CONNECT:臨時用戶,特別是那些不需要創(chuàng)建表的用戶,通常賦予該角色。RESOURCE:更為可靠和正式的數據庫用戶可以授予該角色,可以創(chuàng)建表、觸發(fā)器、過程等。DBA:數據庫管理員角色,擁有管理數據庫的最高權限。一個具有DBA角色的用戶可以撤銷任何別的用戶甚至別的DBA權限,這是很危險的,所以不要把該角色輕易授予一些不是很重要的用戶。,2020/4/25,64,11.4.3給用戶分配權限或角色,GRANT命令用于為用戶分配權限或角色,而REVOKE命令用于為用戶撤銷權限和角色,GRANT[|]TO;REVOKE[|]FROM;,#把CONNECT、RESOURCE角色授予用戶mmGRANTCONNECT,RESOURCETOmm;#撤銷用戶mm的RESOURCE角色REVOKERESOURCEFROMmm;撤消后該用戶重新登錄就會失去相應的權限,#以下代碼演示另一個用戶SCOTT授予用戶mm操作EMP表的對象權限#允許用戶查看EMP表中的記錄GRANTSELECTONEMPTOmm;#授權之后就可以訪問指定的表了select*fromscott.emp#允許用戶更新EMP表中的記錄GRANTUPDATEonEMPTOmm;,2020/4/25,65,以管理員身份登錄:system/admin查詢所有用戶select*fromAll_users創(chuàng)建/修改新用戶:create/alteruser[username]identifiedby[password];alterusermmdefaulttablespacets_drp用戶登錄:conndrp/drp查看該用戶所有的表selecttable_namefromuser_tables;,11.4創(chuàng)建Oracle用戶并授權,修改完用戶權限以后,用戶只能在下一次登錄后才能具備權限。,2020/4/25,66,DBA用戶登錄:connsystem/admin刪除用戶:dropuser[username]cascade刪除表空間:droptablespacets_drp[includingcontentsanddatafiles];,刪除用戶時必須指定級聯參數。,11.4創(chuàng)建Oracle用戶并授權,2020/4/25,67,11.5使用impdp和expdp導入導出數據,導出數據是指將數據庫中的數據導出到一個操作系統(tǒng)文件中,導入數據是指將導出文件中的數據導入到數據庫中,2020/4/25,68,11.5使用impdp和expdp導入導出數據,使用expdp和impdp實用程序時,其導出文件只能存放在DIRECTORY(目錄)對象指定的操作系統(tǒng)目錄中,不能直接指定操作系統(tǒng)目錄。目錄對象是數據庫中的一個對象,它是使用CREATEDIRECTORY語句創(chuàng)建的對象,而不是操作系統(tǒng)中的某個目錄,但是它指向操作系統(tǒng)中的某個目錄。createdirectorymy_mobile_bakasd:/oracle/bakeup/my_mobile為了能夠訪問操作系統(tǒng)目錄,還必須賦予其讀、寫權限.grantread,writeondirectorymy_mobile_baktomm,,,2020/4/25,69,使用impdp和expdp導入導出數據,使用expdp導出數據expdpmm/oracledirectory=my_mobile_bakschemas=mmdumpfile=mm_data.dmplogfile=mm_bak.log,注意:directory參數一定要放前面,否則會出現“目錄不可用”的錯誤。,2020/4/25,70,使用impdp和expdp導入導出數據,使用impdp導入數據impdpmm/oracleschemas=mmdumpfile=mm_data.dmplogfile=mm_bak.logdirectory=my_mobile_bak,在導入數據的時候需要注意,在新的Oracle數據庫中,需要事先建立MM用戶并授予相關權限。如果是在相同的Oracle數據庫中測試impdp導入數據,需要把MM用戶擁有的表、序列等已有數據庫對象刪除。重新創(chuàng)建MM用戶后要建立同樣的默認表空間,同時要把導入的目錄對象讀寫權限授給mm,2020/4/25,71,總結,Oracle進程分為用戶進程、服務器進程和后臺進程監(jiān)聽程序是客戶端與Oracle服務器之間通信的中介Oracle內存可分為系統(tǒng)全局區(qū)(SGA)和程序全局區(qū)(PGA)系統(tǒng)全局區(qū)中包括數據緩沖區(qū)、字典緩沖區(qū)、重做日志緩沖區(qū)、SQL共享池Oracle實例是后臺進程和內存結構的集合,為應用程序提供對數據庫中數據的管理和維護功能Oracle包含2個用于網絡連接配置的文件,分別是監(jiān)聽程序的配置文件(listener.ora)、本地網格服務名的配置文件(tnsnames.ora),2020/4/25,72,總結,創(chuàng)建用戶(方案)的步驟:創(chuàng)建表空間:createtablespacemy_mobiledatafiled:\myspace\my_mobile.dbfsize100m;創(chuàng)建用戶:CREATEUSERmmIDENTIFIEDBYoracleDEFAULTTABLESPACEMY_MOBILE給用戶解鎖和授權:GRANTCONNECT,RESOURCETOmm;alterusermmaccountunlock;用戶登錄、操作:導出數據,2020/4/25,73,ThANKYOU,- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- Oracle 內部結構 基本 管理
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://www.3dchina-expo.com/p-11497385.html