Oracle11g數據庫管理基礎二.docx_第1頁
Oracle11g數據庫管理基礎二.docx_第2頁
Oracle11g數據庫管理基礎二.docx_第3頁
Oracle11g數據庫管理基礎二.docx_第4頁
Oracle11g數據庫管理基礎二.docx_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

phl 2013年33周Oracle 11g 數據庫管理基礎二方案專注緒言12建立和配置Oracle數據庫22.1關于建立Oracle數據庫22.1.1建立數據庫之前的考慮22.2使用DBCA建立Oracle數據庫32.2.1建立數據庫在交互模式42.2.2建立數據庫在非交互模式42.3使用CREATE DATABASE語句建立一個數據庫42.3.1指定一個實例ID(SID)42.3.2確保設置必要的環(huán)境變量42.3.3選擇數據庫管理員認證方法52.3.4建立初始化參數文件52.3.5建立實例(僅Windows)52.3.6連接到數據庫實例52.3.7建立服務器參數文件62.3.8開始實例62.3.9執(zhí)行數據庫創(chuàng)建語句62.3.10建立附加表空間82.3.11運行腳本建立數據字典視圖82.3.12運行腳本安裝附加選項92.3.13備份數據庫92.3.14使能實例自動啟動92.4CREATE DATABASE語句子句說明92.4.1保護數據庫:設置SYS和SYSTEM密碼102.4.2建立本地管理的系統(tǒng)表空間102.4.3關于SYSAUX表空間102.4.4使用自動UNDO管理:建立UNDO表空間102.4.5建立默認固有表空間112.4.6建立默認臨時表空間112.4.7在建立數據庫時使用Oracle管理文件特性112.4.8在數據庫建立時支持BIGFILE表空間122.4.9數據庫時區(qū)和時區(qū)文件特性122.4.10設置FORCE LOGGING模式132.5初始化參數說明142.5.1關于初始化參數和參數文件142.5.2確定全局數據庫名152.5.3DB_NAME初始化參數文件152.5.4DB_DOMAIN初始化參數文件152.5.5指定快速恢復區(qū)152.5.6指定控制文件162.5.7指定數據塊大小162.5.8指定最大進程數172.5.9指定DDL鎖超時172.5.10指定UNDO表空間管理模式172.5.11關于COMPATIBLE初始化參數182.5.12設置License參數182.6使用服務器參數文件管理初始化參數182.6.1什么是服務器初始化參數文件182.6.2移植到服務器參數文件182.6.3建立服務器參數文件192.6.4存儲服務器參數文件在HARD-Enabled存儲192.6.5SPFILE初始化參數202.6.6改變初始化參數值202.6.7清除初始化參數值212.6.8導出服務器參數文件212.6.9備份服務器參數文件212.6.10恢復一個丟失或損壞的初始化參數文件212.6.11查看參數設置212.7使用Oracle服務管理應用負載222.7.1關于Oracle Services222.7.2建立數據庫服務242.7.3數據庫服務數據字典視圖242.8建立數據庫后的考慮252.8.1一些安全考慮252.8.2使能透明數據加密252.8.3建立安全的外部密碼存儲252.8.4安裝樣例數據庫252.9刪除一個數據庫252.10數據庫數據字典視圖25緒言本章包含兩部分內容創(chuàng)建和配置數據庫。【小故事】有個老鐵匠,他打的鐵比誰都牢固,可是因為他木訥又不善言,所以賣出的鐵很少,所得的錢僅僅只夠勉強糊口而已。人家說他太老實,但他卻不管這些,仍舊一絲不茍地把鐵鏈打得又結實又好。有一次,他打好了一條船用的巨鏈,裝在一條大海輪的甲船上做了主錨鏈。這條巨鏈放在船上好多年都沒有機會派上用場。有一天晚上,海上風暴驟起,風急浪高,隨時都有可能把船沖到礁石上。船上其他的錨鏈上都像紙做的一樣,根本受不住風浪,全都被掙斷了。最后,大家想起了那條老鐵匠打的主錨鏈,把它拋下海去。全船一千多乘客和許多貨物的安全都系在這條鐵鏈上。鐵鏈堅如磐石,它像只巨手緊緊拉住船,在狂虐的暴風中經住了考驗,保住了全船一千多人的生命。當風浪過去,黎明到來,全船的人都為此熱淚盈眶,歡騰不已【大道理】: 我們必須像文中的老人一樣,懂得扎實地打好每一錘,竭盡全力精心地去打造屬于自己的堅韌,命運的巨輪才不會在惡浪的擊打中傾覆,最關鍵時刻,要知道,一根結實牢固的生命鏈條,會讓所有陰云密布的籠罩,頃刻間變成秋水長天的海闊天遙。2 建立和配置Oracle數據庫2.1 關于建立Oracle數據庫在完成本章內容后你可以做到使用圖形工具或是SQL命令建立數據庫。典型的在安裝Oracle數據庫軟件的過程中建立數據庫。然而,你也能夠在安裝之后建立數據庫。在安裝之后建立可能基于如下考慮:在使用Oracle Universal Installer時僅安裝軟件,沒有建立一個數據庫;你想在一臺已經存在數據庫的主機上建立另一個數據庫,本章假定在已存在的數據庫相同的ORACLE_HOME建立新的數據庫。你也能夠運行OUI建立一個新的ORACLE_HOME創(chuàng)建一個新的數據庫。建立數據庫可以通過以下兩種方法: 使用Database Configuration Assistant(DBCA)圖形工具; 使用CREATE DATABASE語句;2.1.1 建立數據庫之前的考慮建立數據庫前需要考慮以下內容:規(guī)劃表和索引,評估他們所需的空間 Part II, Oracle Database Structure and Storage Part III, Schema Objects規(guī)劃數據庫包含的操作系統(tǒng)文件分布。通過適當的分布文件來分布文件I/O訪問能夠有效提高數據庫性能。你能通過集中方式分布I/O。例如:放置redo 文件在分離的或條帶化的磁盤上。合理放置數據文件以減少沖突。 并且你可以控制數據的密度(每數據塊的行數)。如果建立快速恢復區(qū)Oracle推薦放置在和數據文件不同的存儲設備上。為了簡化管理任務可以考慮使用Oracle管理文件和自動存儲管理來建立和管理數據存儲的操作系統(tǒng)文件。 Chapter 17, Using Oracle Managed Files Oracle Automatic Storage Management Administrators Guide Oracle Database Performance Tuning Guide Oracle Database Backup and Recovery Users Guide Your Oracle operating systemspecific documentation, including the appropriate Oracle Database installation guide.選擇一個全局數據庫名,表示數據庫在網絡結構中的名字和位置。全局數據庫名通過參數DB_NAME和DB_DOMAIN 初始化參數 Determining the Global Database Name數據初始化參數文件中的參數,了解服務器參數文件。存儲管理參數文件。 About Initialization Parameters and Initialization Parameter Files What Is a Server Parameter File? Oracle Database Reference選擇Oracle字符集。字符集在創(chuàng)建數據庫時指定,字符集存放在數據庫中, Oracle Database Globalization Support Guide考慮數據庫必須支持的時區(qū)。Oracle數據庫包含兩個時區(qū)文件作為有效的時區(qū)選擇。默認時區(qū)文件是timezlrg_11.dat。它包含很多的時區(qū)選擇比一個更小的時區(qū)文件 timezone_11.dat. Specifying the Database Time Zone File選擇一個標準的數據庫塊,通過指定初始化參數文件DB_BLOCK_SIZE。并且在數據庫建立后不可被改變,系統(tǒng)表空間和大多數表空間使用標準的數據庫塊。另外,可以指定非標準的塊尺寸建立表空間 Specifying Database Block Sizes如果你計劃使用4K的塊作為在線重做日志文件的大小,需要手工指定重做日志文件塊大小 Planning the Block Size of Redo Log Files決定SYSAUX 表空間合適的初始大小 About the SYSAUX Tablespace計劃為非系統(tǒng)用戶準備一個默認表空間,以防止不注意情況下寫入數據到系統(tǒng)表空間。Creating a Default Permanent Tablespace計劃undo表空間管理undo數據。Chapter 16, Managing Undo設計備份和恢復策略保護數據庫,多元化控制文件,選擇合適的備份模式并管理在線和歸檔重做日志。Chapter 12, Managing the Redo LogChapter 13, Managing Archived Redo LogsChapter 11, Managing Control FilesOracle Database Backup and Recovery Users Guide熟悉啟動和關閉實例,裝載和打開數據庫Chapter 3, Starting Up and Shutting Down2.2 使用DBCA建立Oracle數據庫Database Configuration Assistant (DBCA)是建立數據庫時優(yōu)先選擇的方法,因為它能完成大部分的自動工作。DBCA能夠被Oracle Universal Installer調用,相對的也能夠在安裝之后直接運行DBCA。DBCA能運行于交互或靜默模式。交互模式提供了一個圖形接口和向導來建立和配置數據庫。非交互模式(靜默),通過運行DBCA時指定命令行參數和響應文件進行腳本化數據庫創(chuàng)建。2.2.1 建立數據庫在交互模式詳見:Oracle Database 2 Day DBA2.2.2 建立數據庫在非交互模式下面給出一個非交互模式命令的例子:dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname ora11g -sid ora11g -responseFile NO_VALUE -characterSet AL32UTF8 -memoryPercentage 30 -emConfiguration LOCAL通過dbca help 可以查看詳細名命令行參數。2.3 使用CREATE DATABASE語句建立一個數據庫使用CREATE DATABASE SQL語句建立數據庫需要更過的手工操作。如果使用語句建立數據庫,在操作數據庫前必須完成一些額外的工作。這部分工作包含建立數據字典視圖和表,按照標準的PL/SQL包。這些能夠通過已備有的腳本完成。2.3.1 指定一個實例ID(SID)確定一個唯一的Oracle SID。使用命令行窗口設置一個ORACLE_SID環(huán)境變量。SID用于區(qū)別同一臺計算機上的其它實例,SID最大12個字符,必須有字母和數據組成。在某些平臺上是大小寫敏感的。各平臺SID環(huán)境變量配置: Bourne, Bash, or Korn shell:ORACLE_SID=mynewdbexport ORACLE_SID C shell:setenv ORACLE_SID mynewdb Windows operating system:set ORACLE_SID=mynewdb2.3.2 確保設置必要的環(huán)境變量在大多數平臺上ORACLE_SID和ORACLE_HOME必須設置,并且設置PATH變量包含ORACLE_HOME/bin。在UNIX/LINUX平臺上這些變量必須手工設置。在Windows平臺上會自動配置到注冊表中。2.3.3 選擇數據庫管理員認證方法選擇是使用密碼文件認證,還是使用操作系統(tǒng)認證。2.3.4 建立初始化參數文件當Oracle實例開始時會去讀初始化參數文件。這個文件可以是一個文本文件,使用文本編輯器編輯。也可以是一個二進制文件,通過數據庫建立和動態(tài)改變。二進制文件時優(yōu)先處理的,稱為服務器參數文件。在此處應該先建立一個文本文件,再通過文本文件生成服務器參數文件。參數文件例子,見2.5的初始化參數說明。手工編輯初始化參數文件時確保至少有下列三項,參數Mandatory描述sDB_NAMEYes數據庫標識。必須與CREATE DATABASE語句中使用的一致,最大8字符。CONTROL_FILESNo強烈推薦。如果不提供默認在初始化參數文件的位置建立一個控制文件。建議配置多個控制文件。MEMORY_TARGETNo指定使用實例自動內存管理。2.3.5 建立實例(僅Windows)在Windows平臺必須使用oradim命令通過建立一個Windows服務來建立Oracle實例。例:oradim -NEW -SID sid -STARTMODE MANUAL -PFILE pfile直接輸入oradim可以獲得幫助2.3.6 連接到數據庫實例使用SYSDBA系統(tǒng)權限連接到Oracle數據庫實例使用密碼文件認證連接sqlplus /nologconn sys as syssdba使用操作系統(tǒng)認證連接sqlplus /nologconn /as sysdbaSQL*PLUS輸入下列信息connected to idle instance2.3.7 建立服務器參數文件使用服務器參數文件時能夠通過執(zhí)行ALTER SYSTEM命令修改初始化參數并保存改變。以下命令使用默認路徑下的默認名字的文本初始化參數文件PFILE,在默認位置下生成默認服務器參數文件SPFILE。create spfile from pfile;2.3.8 開始實例開始實例不裝載數據庫,因為初始化參數文件或服務器參數文件存儲在默認位置,因此可以不指定PFILE。startup nomount此時,實例分配內存并啟動進程,數據庫還不存在。2.3.9 執(zhí)行數據庫創(chuàng)建語句 例一:在下面這個例子中假定: 初始化參數文件中DB_NAME與語句中一致 初始化參數文件指定了控制文件的位置和數量 目錄/u01/app/oracle/oradata/mynewdb 已存在 目錄/u01/logs/my and /u02/logs/my已存在CREATE DATABASE mynewdb USER SYS IDENTIFIED BY sys_password USER SYSTEM IDENTIFIED BY system_password LOGFILE GROUP 1 (/u01/logs/my/redo01a.log,/u02/logs/my/redo01b.log) SIZE 100M BLOCKSIZE 512, GROUP 2 (/u01/logs/my/redo02a.log,/u02/logs/my/redo02b.log) SIZE 100M BLOCKSIZE 512, GROUP 3 (/u01/logs/my/redo03a.log,/u02/logs/my/redo03b.log) SIZE 100M BLOCKSIZE 512 MAXLOGFILES 10 MAXLOGMEMBERS 5 MAXLOGHISTORY 1000 MAXDATAFILES 1000 CHARACTER SET ZHS16GBK NATIONAL CHARACTER SET AL16UTF16 EXTENT MANAGEMENT LOCAL DATAFILE /u01/app/oracle/oradata/mynewdb/system01.dbf SIZE 325M REUSE SYSAUX DATAFILE /u01/app/oracle/oradata/mynewdb/sysaux01.dbf SIZE 325M REUSE DEFAULT TABLESPACE users DATAFILE /u01/app/oracle/oradata/mynewdb/users01.dbf SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED DEFAULT TEMPORARY TABLESPACE temp TEMPFILE /u01/app/oracle/oradata/mynewdb/temp01.dbf SIZE 20M REUSE UNDO TABLESPACE undotbs DATAFILE /u01/app/oracle/oradata/mynewdb/undotbs01.dbf SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;數據庫被建立包含下列特性: 數據庫名:mynewdb 控制文件被建立于初始化參數文件中control_files參數指定的位置; sys和system用戶的密碼被指定為sys_password和system_password; 新的數據庫有3個在線重做日志組,每組2個成員。MAXLOGFILES, MAXLOGMEMBERS, 和MAXLOGHISTORY定義了重做日志的限制; 數據庫使用的字符集指定為ZHS16GBK AL16UTF16指NATIONAL CHARACTER SET,用于存儲列定義:NCHAR, NCLOB,或 NVARCHAR2 SYSTEM表空間被建立包含如下文件,如果文件已存在,它將被覆蓋/u01/app/oracle/oradata/mynewdb/system01.dbf; SYSAUX表空間被建立 默認表空間USERS被建立為數據庫的默認固定表空間。 默認臨時表空間TEMP被建立作為數據庫的默認臨時表空間; 默認UNDO表空間untotbs被建立,為存儲數據庫的UNDO數據;例二:此例使用Oracle管理文件創(chuàng)建數據庫,簡化了CREATE DATABASE語句。為了使用Oracle管理文件,初始化參數DB_CREATE_FILE_DEST必須被指定。這個參數定義了一個基本目錄,數據庫將建立并自動命名變化的數據庫文件。DB_CREATE_FILE_DEST參數示例:DB_CREATE_FILE_DEST=/u01/app/oracle/oradataCREATE DATABASE語句示例:CREATE DATABASE mynewdbUSER SYS IDENTIFIED BY sys_passwordUSER SYSTEM IDENTIFIED BY system_passwordEXTENT MANAGEMENT LOCALDEFAULT TEMPORARY TABLESPACE tempUNDO TABLESPACE undotbs1DEFAULT TABLESPACE users;2.3.10 建立附加表空間你能為你的應用建立附加表空間,例如:建立數據表空間CREATE TABLESPACE apps_tbs LOGGING DATAFILE /u01/app/oracle/oradata/mynewdb/apps01.dbf SIZE 500M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;建立索引表空間,與應用數據分離CREATE TABLESPACE indx_tbs LOGGING DATAFILE /u01/app/oracle/oradata/mynewdb/indx01.dbf SIZE 100M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;2.3.11 運行腳本建立數據字典視圖運行腳本建立數據字典視圖、同義詞,和PL/SQL包,和SQL*PLUS功能支持。?/rdbms/admin/catalog.sql?/rdbms/admin/catproc.sql?/sqlplus/admin/pupbld.sqlexit2.3.12 運行腳本安裝附加選項可選2.3.13 備份數據庫做一個數據庫全備份2.3.14 使能實例自動啟動Windows:ORADIM -EDIT -SID sid -STARTMODE AUTO -SRVCSTART SYSTEM -SPFILEUNIX/LINUX:編輯/etc/oratab文件2.4 CREATE DATABASE語句子句說明當使用CREATE DATABASE語句建立數據庫時,Oracle至少完成下列工作: 建立數據文件;Creates the datafiles for the database 建立控制文件Creates the control files for the database 建立重做日志文件Creates the redo log files for the database and establishes the ARCHIVELOG mode. 建立SYSTEM表空間; 建立SYSAUX表空間; 設置數據庫存儲數據字符集; 設置數據庫時區(qū); 裝載并打開數據庫2.4.1 保護數據庫:設置SYS和SYSTEM密碼在CREATE DATABASE子句中包含下列子句用來指定SYS和SYSTEM密碼:USER SYS IDENTIFIED BY passwordUSER SYSTEM IDENTIFIED BY password如果忽略這個子句將分配用戶默認的change_on_install和manager作為密碼。為了保護數據庫,你必須在數據庫建立后使用alter user語句修改密碼。2.4.2 建立本地管理的系統(tǒng)表空間在CREATE DATABASE語句中指定EXTENT MANAGEMENT LOCAL子句建立本地管理SYSTEM表空間。COMPATIBLE參數必須被設置為10.0.0以上。如果沒有指定EXTENT MANAGEMENT LOCAL參數,SYSTEM表空間將使用字典管理,字典管理是將被廢棄的。2.4.3 關于SYSAUX表空間SYSAUX總是在數據庫建立時建立。SYSAUX作為SYSTEM表空間的輔助表空間。它作為數據庫一些需要自己表空間的特性和產品的默認表空間。它降低了數據庫表空間的數量,也降低的SYSTEM表空間的負載。SYSAUX表空間僅能通過CREATE DATABASE語句中的SYSAUX DATAFILE子句設置下列屬性: PERMANENT READ WRITE EXTENT MANAGMENT LOCAL SEGMENT SPACE MANAGMENT AUTO不能通過ALTER TABLESPACE改變這些屬性,不能刪除或重命名SYSAUX表空間。SYSAUX表空間的大小與安裝的數據庫組件相關,V$SYSAUX_OCCUPANTS視圖可以用來查看組件列表。根據組件的初始大小,在建立數據庫時SYSAUX表空間應該設置為至少400M。2.4.4 使用自動UNDO管理:建立UNDO表空間自動UNDO段管理使用UNDO表空間,開啟此功能需要設置初始化參數UNDO_MANAGEMENT=AUTO。忽略此參數數據庫默認是自動UNDO段管理的。在此模式下UNDO段存儲在UNDO表空間并由Oracle數據庫管理。如果想指定UNDO表空間的名字,在CREATE DATABASE語句建立數據庫時中使用子句UNDO TABLESPACE。如果忽略此子句,那么數據庫建立默認UNDO表空間名字為:SYS_UNDOTBS。2.4.5 建立默認固有表空間在CREATE DATABASE語句建立數據庫時中使用子句DEFAULT TABLESPACE建立默認固有表空間。當未顯式指定表空間時,Oralce為非SYSTEM用戶分配默認固有表空間。2.4.6 建立默認臨時表空間在CREATE DATABASE語句建立數據庫時中使用子句DEFAULT TEMPORARY TABLESPACE。未顯式指定臨時表空間時,Oralce為非SYSTEM用戶分配默認臨時表空間2.4.7 在建立數據庫時使用Oracle管理文件特性使用Oracle管理文件特性可以最小化CREATE DATABASE語句執(zhí)行時的子句的數量。通過Oracle管理文件可以使用目錄或ASM。在初始化參數文件中指定初始化參數DB_CREATE_FILE_DEST, DB_CREATE_ONLINE_LOG_DEST_n, 或 DB_RECOVERY_FILE_DEST,通知Oracle建立和管理數據庫的操作系統(tǒng)文件Oracle將能自動管理以下文件。 Tablespaces and their datafiles Temporary tablespaces and their tempfiles Control files Redo log files Archived redo log files Flashback logs Block change tracking files RMAN backups以下語句說明一個CREATE DATABASE使用Oralce管理文件的例子:CREATE DATABASE mynewdb USER SYS IDENTIFIED BY sys_password USER SYSTEM IDENTIFIED BY system_password EXTENT MANAGEMENT LOCAL UNDO TABLESPACE undotbs DEFAULT TEMPORARY TABLESPACE temp DEFAULT TABLESPACE users; SYSTEM 表空間被建立為本地管理表空間,如果沒有EXTENT MANAGEMENT LOCAL子句, SYSTEM表空間被建立為字典管理; 不需要DATAFILE子句; 不需要要LOGFILE子句; 不需要SYSAUX數據文件子句; 不需要為UNDO TABLESPACE、DEFAULT TABLESPACE和 DEFAULT TEMPORARY TABLESPACE 子句指定DATAFILE 如果CONTROL_FILES初始化參數中沒有指定,那么數據庫也會建立Oracle管理控制文件 如果使用服務器參數文件Oracle自動設置相應的初始化參數。2.4.8 在數據庫建立時支持BIGFILE表空間Oracle簡化了表空間管理并且能夠支持極大地數據庫使用create bigfile tablespace子句。大文件表空間僅能包含一個文件,但是這個文件能支持到4G個數據塊。Oracle數據庫文件有最大數量限制,通常是64K個文件。因此bigfile表空間能顯著的增大Oracle數據庫的容量。在建立數據庫時可以使用CREATE DATABASE的SET DEFAULT.TABLESPACE子句設置數據庫的表空間默認類型。指定SET DEFAULT BIGFILE TABLESPACE 或 SET DEFAULT SMALLFILE TABLESPACE。如果忽略子句,那默認為SMALLFILE TABLESPACE,此為Oracle傳統(tǒng)的表空間類型,能夠支持每表空間1022個數據文件,每數據文件4M個數據塊。能夠通過ALTER DATABASE命令修改數據庫表空間默認類型:ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE;能夠通過數據字典視圖查詢當前數據庫表空間默認類型:SELECT PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME = DEFAULT_TBS_TYPE;2.4.9 數據庫時區(qū)和時區(qū)文件特性可以通過CREATE DATABASE語句的SET TIME_ZONE設置時區(qū),默認使用操作系統(tǒng)時區(qū)設置。Oracle主目錄的子目錄中包含兩個時區(qū)文件,每個時區(qū)包含以下有效信息:Offset from Coordinated Universal Time (UTC)Transition times for Daylight Saving TimeAbbreviations for standard time and Daylight Saving Time默認的時區(qū)文件是:ORACLE_HOME/oracore/zoneinfo/timezlrg_11.dat另一個更小和更少的時區(qū)文件是:ORACLE_HOME/oracore/zoneinfo/timezone_11.dat通過下列語句可以查詢數據庫能夠使用的時區(qū):SELECT * FROM V$TIMEZONE_NAMES;可以通過增加ORA_TZFILE環(huán)境變量,修改默認時區(qū)文件。但是如果已經使用了大時區(qū)文件,不要改為小時區(qū)文件,因為數據庫數據中可能已經存在時區(qū)數據。2.4.10 設置FORCE LOGGING模式一些數據定義語言語句(例如:Create Table)允許NOLOGGING子句,這將導致數據庫操作不生成重做日志。NOLOGGING設置能夠提高操作速度,但是可能對介質恢復和Standby數據庫帶來負面影響。Oracle能夠強制寫入重做日志,甚至在DDL語句指定了NOLOGGING時。數據庫從不為臨時表空間和臨時段生成重做記錄。使用FORCE LOGGING子句:ALTER DATABASE NO FORCE LOGGING;FORCE LOGGING是數據庫固定的屬性,啟動、關閉不會影響此屬性。但是重建控制文件時需要指定FORCE LOGGING,來生效此屬性。FORCE LOGGING的性能考慮: 可能發(fā)生多少介質失?。?unloged的直接寫不能恢復時有多嚴重; FORCE LOGGING導致的性能下降是否可以容忍;如果使用非歸檔模式,那么不需要打開FORCE LOGGING。因為非歸檔模式不能進行介質恢復,FORCE LOGGING不能帶來有效地好出。2.5 初始化參數說明2.5.1 關于初始化參數和參數文件當Oracle實例啟動時從初始化參數中讀出初始化參數。這個文件必須指定DB_NAME參數,其它參數有默認值。初始化參數文件能夠使只讀的文本文件或可讀寫的二進制文件。此二進制文件被稱為服務器參數文件。服務器參數文件能夠通過ALTER SYSTEM命令永久的改變初始化參數,它也是提供self-tuning數據庫的基礎??梢允褂檬止?chuàng)建或DBCA創(chuàng)建服務器參數文件。在手工建立服務器參數文件之前可以使用文本參數文件開始實例。在實例啟動時Oracle首先搜索服務器參數文件在默認的位置,如果沒有找到,搜索文本參數文件??梢栽趫?zhí)行startup命令啟動時指定參數覆蓋默認文件名。Oracle默認文件名如下:平臺默認名默認位置UNIX 和LinuxinitORACLE_SID.oraORACLE_HOME/dbsWindowsinitORACLE_SID.oraORACLE_HOMEdatabase文本初始化參數格式:文本初始化參數文件必須包含name/value,按以下形式:對于單值得參數parameter_name=value對于一個或多個值,(例如:CONTROL_FILES參數)parameter_name=(value,value .)字符串類型的參數必須使用單引號()包含. 當操作系統(tǒng)是大小敏感的, filenames類的參數需要注意大小敏感。如果參數包含多個值可以使用類似下列格式:control_files=/u01/app/oracle/oradata/orcl/control01.ctlcontrol_files=/u01/app/oracle/oradata/orcl/control02.ctlcontrol_files=/u01/app/oracle/oradata/orcl/control03.ctl如果指定參數不允許多個值,那么僅最后一個指定值生效。初始化參數文件例子:db_name=ORCLmemory_target=1Gprocesses = 150audit_file_dest=/admin/orcl/adumpaudit_trail =dbdb_block_size=8192db_domain=db_recovery_file_dest=/flash_recovery_areadb_recovery_file_dest_size=2Gdiagnostic_dest=dispatchers=(PROTOCOL=TCP) (SERVICE=ORCLXDB)open_cursors=300 remote_login_passwordfile=EXCLUSIVEundo_tablespace=UNDOTBS1control_files = (ora_control1, ora_control2)compatible =11.2.02.5.2 確定全局數據庫名全局數據庫名由網絡架構中的數據庫位置和數據庫本地名稱組成。體現數據庫層面由初始化參數的DB_NAME和DOMAIN_NAME這兩個參數組成。例如建立數據庫使用全局數據庫名,那么初始化參數配置如下:DB_NAME = testDB_DOMAIN = 2.5.3 DB_NAME初始化參數文件DB_NAME必須設置成一個不超過8個字符的文本字符串。在數據庫創(chuàng)建期間這個名字被記錄到數據文件,重做日志文件和控制文件。在數據庫啟動時參數文件中的數據庫名必須和控制文件中一致,否則數據庫不能啟動。2.5.4 DB_DOMAIN初始化參數文件DB_DOMAIN是數據庫建立時指定的網絡域名格式的文本字符串。如果數據庫建立為分布式數據庫系統(tǒng)的一部分,那么在數據庫建立前在初始化參數中指定。這個參數是可選的。2.5.5 指定快速恢復區(qū)Oracle使用快速恢復區(qū)存儲和管理備份和恢復相關文件。他是一個獨立的數據庫區(qū)域,相對應數據庫文件(數據文件,控制文件和在線重做日志文件)。使用下列初始化參數指定快速恢復區(qū):DB_RECOVERY_FILE_DEST:快速恢復區(qū)的位置。這是一個目錄,可以使文件系統(tǒng)或自動存儲管理(ASM)。但不能是裸設備。在Oracle Real Application Clusters (Oracle RAC) 環(huán)境,這個位置必須是一個群集文件系統(tǒng),Oracle ASM 磁盤組,或一個共享文件目錄通過NFS。DB_RECOVERY_FILE_DEST_SIZE:指定快速恢復區(qū)能使用的最大的字節(jié)數。這個初始化參數必須指定在DB_RECOVERY_FILE_DEST初始化參數之前。RAC環(huán)境這個參數必須所有實例相同。如果設置了LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST參數你不能使用快速恢復特性,替代的可以使用LOG_ARCHIVE_DEST_n參數。如果沒有指定本地歸檔參數和LOG_ARCHIVE_DEST_1,那么LOG_ARCHIVE_DEST_1隱式地將指向快速恢復區(qū)。2.5.6 指定控制文件CONTROL_FILES參數指定一個或多個數據庫的控制文件名。當執(zhí)行Create Database語句時,CONTROL_FILES初始化參數列出的控制文件被建立。如果未指定CONTROL_FILES參數,那么數據庫將建立控制文件在初始化參數文件相同的目錄,文件名與操作系統(tǒng)相關。如果使能Oracle文件,將建立Oracle管理控制文件。2.5.7 指定數據塊大小DB_BLOCK_SIZE為數據庫指定一個標準的數據庫大小。這個塊大小用于SYSTEM表空間和其它表空間的默認值。Oracle能夠支持4個附加的非默認數據塊大小。1. DB_BLOCK_SIZE初始化參數:選擇最常用的數據塊大小作為標準的數據塊大小。在多數案例中,僅需要一種數據塊大小。典型的數據塊大小設置為4K或8K,如果未指定此參數默認數據塊大小與操作系統(tǒng)相關。數據塊大小在數據庫建立后不能被改變,除非重建數據庫。如果數據庫大小與操作系統(tǒng)塊不同,確保Oracle數據塊是操作系統(tǒng)快的整倍數。大的數據庫能夠提供很好的磁盤和內存讀寫效率。因此,考慮指定比操作系統(tǒng)塊大小更大的塊。考慮下列條件:Oracle數據庫在一個大的計算機上有著大量內存和快速的硬盤,典型的使用4K以上的塊大小。Oracle 數據庫運行的操作系統(tǒng)使用很小的數據塊。例如:如果操作系統(tǒng)塊默認是1K并且默認的數據庫塊和它匹配,那么數據庫在正常操作過程中可能執(zhí)行過多的磁盤IO。此時應該設置數據塊為操作系統(tǒng)塊的多倍。2. 非標準數據庫塊執(zhí)行CREATE TABLESPACE語句并指定BLOCKSIZE子句能夠使用非標準數據庫塊建立表空間。非標準的數據庫大小可以是2K,4K,8K,16K和32K這些2的次方,最大的數據塊大小和平臺相關,有些數據塊大小在某些平臺可能不被允許。為了使用非標準的數據塊,必須在SGA的buffer cache中配置相應的想使用的數據塊大小的subcache。2.5.8 指定最大進程數PROCESSES初始化參數決定了能夠并發(fā)連接到數據庫的操作系統(tǒng)進程數。這個參數最小必須設置為后臺進程數加上用戶進程數。后臺進程的數量隨著數據庫的特性而變化。例如:使用ASM數據庫的實例將附加3個后臺進程。2.5.9 指定DDL鎖超時Data Definition Language (DDL)語句必須在內部結構上獨占鎖。如果DDL語句運行時這些鎖是不可用的,那么DDL語句將失敗。可以設置DDL鎖超時參數,使DDL在失敗之前等待指定的秒數。DDL_LOCK_TIMEOUT參數值范圍0-1000000,默認為0,可以同過ALTER SYSTEM或ALTER SESSION語句設置。2.5.10 指定UNDO表空間管理模式UNDO_MANAGEMENT初始化參數:決定實例是否開始在自動UNDO管理模式。設置參數AUTO使能此模式。在11g中AUTO是默認的。如果忽略此參數或值為NULL時。UNDO_TABLESPACE初始化參數:當實例啟動在自動UNDO管理模式時,它試圖選擇一個UNDO表空間存儲UNDO數據。對于RAC,每個實例對應自己的UNDO表空間。2.5.11 關于COMPATIBLE初始化參數COMPATIBLE參數啟動和禁用數據庫的特性。例如建立一個11.2.0的數據庫,但是COMPATIBLE參數設置為10.0.0,那么如果嘗試使用。默認的COMPATIBLE參數值是最近的主發(fā)行版。2.5.12 設置License參數Oracle不在使用并發(fā)會話數確定License,因此LICENSE_MAX_SESSIONS 和LICENSE_SESSIONS_WARNING已經被廢棄。如果使用用戶LICENSE,Oracle能幫助你強制實行這種許可形式,你能夠設置數據庫所允許建立的最大用戶數,一旦達到這個限制,你不能建立更多的用戶。LICENSE_MAX_USERS初始化參數用于此設置。2.6 使用服務器參數文件管理初始化參數2.6.1 什么是服務器初始化參數文件服務器初始化參數文件作為Oracle數據庫服務器的初始化參數資料庫被維護。它被設計為服務端的初始化參數文件。初始化參數存儲在服務器參數文件中,它能夠在實例運行時被改變保存。它不再需要手工編輯初始化參數文件,能夠使用ALTER SYSTEM語句保存改變。它是Oracle數據庫服務器self-tuning的基礎。服務器參數文件通過Create Spfile語句從文本初始化參數建立(也能通過DBCA直接建立)。服務器參數文件是一個二進制文件不能使用文本編輯器編輯。(警告:雖然能夠使用文本編輯器打開服務器參數文件,但是不要編輯它,否則將導致文件損壞,不能啟動實例。并且如果實例正在運行,實例將

溫馨提示

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

評論

0/150

提交評論