




已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Oracle入門基本知識(shí)一點(diǎn)通關(guān)鍵字:Oracle 首頁.NetC軟件考試思科技術(shù)IT廠商認(rèn)證網(wǎng)絡(luò)安全網(wǎng)絡(luò)管理網(wǎng)絡(luò)工程JavaLinuxMail服務(wù)器MySQLOraclePhpPowerBuilderSQL SERVERUnixWeb及應(yīng)用服務(wù)器Web開發(fā)Windows華為3Com技術(shù)Oracle入門基本知識(shí)一點(diǎn)通Oracle基本知識(shí)輕松學(xué): 1. 一個(gè)表空間只能屬于一個(gè)數(shù)據(jù)庫。 2. 每個(gè)數(shù)據(jù)庫最少有一個(gè)控制文件(建議3個(gè),分別放在不同的磁盤上)。 3. 每個(gè)數(shù)據(jù)庫最少有一個(gè)表空間(SYSTEM表空間)。 4. 建立SYSTEM表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率,只應(yīng)存放數(shù)據(jù)字典。 5. 每個(gè)數(shù)據(jù)庫最少有兩個(gè)聯(lián)機(jī)日志組,每組最少一個(gè)聯(lián)機(jī)日志文件。 6. 一個(gè)數(shù)據(jù)文件只能屬于一個(gè)表空間。 7. 一個(gè)數(shù)據(jù)文件一旦被加入到一個(gè)表空間中,就不能再?gòu)倪@個(gè)表空間中移走,也不能再加入到其他表空間中。 8. 建立新的表空間需要建立新的數(shù)據(jù)文件。 9. 數(shù)據(jù)文件被Oracle格式化為Oracle塊,Oracle9i以前版本中,Oracle塊的大小是在第一次創(chuàng)建數(shù)據(jù)庫時(shí)設(shè)定的。 10. 并且以后不能改變,要想改變,只能重建數(shù)據(jù)庫。 11. 一個(gè)段segment只能屬于一個(gè)表空間,但可以屬于多個(gè)數(shù)據(jù)文件。 12. 一個(gè)區(qū)extent只能屬于一個(gè)數(shù)據(jù)文件,即區(qū)間(extent)不能跨越數(shù)據(jù)文件。 13. PCTFREE和PCTUSED總和不能大于等于100。 14. 單獨(dú)一個(gè)事務(wù)不能跨越多個(gè)回滾段。 15. 索引表不含ROWID值。 16. 擁有不同大小的回滾段沒有任何益處。 17. COMMIT后,數(shù)據(jù)不一定立即寫盤(數(shù)據(jù)文件)。 18. 一個(gè)事務(wù)即使不被提交,也會(huì)被寫入到重做日志中。 19. Oracle 8.0.4中,在初始安裝時(shí)建立的缺省數(shù)據(jù)庫,實(shí)例名為ORCL 。 20. 一個(gè)塊的最大長(zhǎng)度為16KB(有2K、4K、8K、16K)。 每個(gè)數(shù)據(jù)庫最大文件數(shù)(按塊大?。?2K塊20000個(gè)文件 4K塊40000個(gè)文件 8K塊或以上65536個(gè)文件 21. Oracle server可以同時(shí)啟動(dòng)多個(gè)數(shù)據(jù)庫 。 22. 一套操作系統(tǒng)上可以安裝多個(gè)版本的Oracle數(shù)據(jù)庫系統(tǒng)(UNIX可以,NT不可以)。 23. 一套Oracle數(shù)據(jù)庫系統(tǒng)中可以有多個(gè)Oracle數(shù)據(jù)庫及其相對(duì)應(yīng)的實(shí)例 。 24. 每個(gè)Oracle數(shù)據(jù)庫擁有一個(gè)數(shù)據(jù)庫實(shí)例(INSTANCE)(OPS除外)。 25. 所以,一套操作系統(tǒng)上同時(shí)可以有多個(gè)Oracle數(shù)據(jù)庫實(shí)例啟動(dòng)。 Oracle數(shù)據(jù)庫配置完全實(shí)戰(zhàn)手冊(cè)關(guān)鍵字:Oracle,數(shù)據(jù)庫 首頁.NetC軟件考試思科技術(shù)IT廠商認(rèn)證網(wǎng)絡(luò)安全網(wǎng)絡(luò)管理網(wǎng)絡(luò)工程JavaLinuxMail服務(wù)器MySQLOraclePhpPowerBuilderSQL SERVERUnixWeb及應(yīng)用服務(wù)器Web開發(fā)Windows華為3Com技術(shù)Oracle數(shù)據(jù)庫配置完全實(shí)戰(zhàn)手冊(cè)To be DBA or not to be, that is NOT the question. - Arron作者允許自由散發(fā)此文檔,但對(duì)其進(jìn)行的任何修改應(yīng)通知作者,以便于維護(hù)版本。作者email:zhou_Oracle8以8.1.5為界分為普通版本和internet版本。普通版版本號(hào)8.0.x,接觸較多的是8.0.5;internet版版本號(hào)包括8.1.5(Release 1),8.1.6(Release 2),8.1.7(Release 3)。普通版簡(jiǎn)稱Oracle 8,internet版簡(jiǎn)稱Oracle 8i。如果不作特別說明,文中凡出現(xiàn)Oracle 8i均指8.1.7版。Oracle9i目前出到第二版,版本號(hào)為9.2,簡(jiǎn)稱Oracle 9i。如果不作特別說明,文中凡出現(xiàn)Oracle 9i均指9.2版。本手冊(cè)介紹Oracle配置的基本方法,描述的是“所然”而不是“所以然”。全部操作以命令行方式出現(xiàn),不涉及GUI(只有白刃戰(zhàn)才是真正的戰(zhàn)斗)。鑒于大家對(duì)Windows已經(jīng)十分熟悉,同時(shí)為了避免Windows和Unix兩種截然不同的使用和開發(fā)風(fēng)格給描述帶來的復(fù)雜性,所以本手冊(cè)不介紹在Windows上的Oracle(上帝的歸上帝,愷撒的歸愷撒)。文中所有例子以oradb作為數(shù)據(jù)庫實(shí)例名,數(shù)據(jù)庫用戶dbuser,口令Oracle。如果不作特別說明,關(guān)于Oracle 8i所有的例子都在Solaris 8 Intel Platform+Oracle 8iR3上通過,關(guān)于Oracle 9i所有的例子都在RedHat Linux 7.3+Oracle 9iR2上通過。附錄文件sample.tar包含全部示例,簡(jiǎn)稱附錄。大量使用表emp作為例子(參見附錄08_proc/proc/single/emp.sql):create table emp(no number(12) not null,name char(20) not null,age number(6) not null,duty char(1) not null,salary number(12) not null,upd_ts date not null,primary key (no);開發(fā)中對(duì)應(yīng)emp表結(jié)構(gòu),定義其宿主結(jié)構(gòu)(參見附錄08_proc/proc/single/db.h):typedef structdouble no;char name21;int age;char duty2;double salary;char upd_ts15; emp_t;修改歷史:2000/07 版本1.02000/09 版本1.1增加Linux安裝,export,import使用,數(shù)據(jù)庫監(jiān)控及優(yōu)化(utlbstat,utlestat,分析session),語言時(shí)間環(huán)境變量設(shè)置,Oracle8.0.5手工建庫腳本(wei_dick提供,稍加修改)2000/10 版本1.2修改Linux安裝中RedHat 6.x+Oracle 8.1.6、數(shù)據(jù)庫優(yōu)化中配置文件和session分析、常用技巧中下載上傳文本資料和訪問他機(jī)數(shù)據(jù)庫;增加創(chuàng)建數(shù)據(jù)庫實(shí)例中資料字典參考、常用技巧中刪除冗余記錄、應(yīng)用開發(fā),常見錯(cuò)誤感謝liu_freeman,jiao_julian,huang_miles等人對(duì)開發(fā)工具所作的努力2001/03 版本1.3修改安裝部分、init.ora配置、常用技巧、應(yīng)用開發(fā);增加手工建庫、MTS配置;重寫開發(fā)工具感謝li_bo的大力幫助2001/09 版本1.4修改數(shù)據(jù)庫優(yōu)化,使之較系統(tǒng)化;增加應(yīng)用開發(fā)中多線程下的數(shù)據(jù)庫連接2002/04 版本1.5修改數(shù)據(jù)庫優(yōu)化、多線程條件下數(shù)據(jù)庫編程;分離附錄的程序范例2002/12 版本2.0重新安排內(nèi)容,增加Oracle 9i安裝配置、OCI開發(fā)、mysql安裝配置開發(fā),補(bǔ)充數(shù)據(jù)庫優(yōu)化、PROC開發(fā)Oracle傻 瓜 手 冊(cè) 11 安裝 61.1 通用設(shè)置 61.2 UnixWare7 71.2.1 Oracle 8 71.3 HP-UX 81.3.1 Oracle 8 81.4 Linux 91.4.1 kernel 2.0 & glibc 2.0 91.4.2 kernel 2.2 & glibc 2.1 91.4.3 kernel 2.4 & glibc 2.2 101.5 Solaris 112 創(chuàng)建 132.1 Oracle 8 & 8i 132.1.1 工具創(chuàng)建 132.1.2 手工創(chuàng)建 132.1.3 MTS(multi-threaded server) 142.1.4 調(diào)整臨時(shí)表空間 152.1.5 調(diào)整回滾表空間 152.1.6 調(diào)整日志 152.1.7 調(diào)整用戶表空間 162.1.8 創(chuàng)建用戶 172.1.9 創(chuàng)建資料對(duì)象 172.1.10 創(chuàng)建只讀用戶 182.1.11 激活及關(guān)閉數(shù)據(jù)庫實(shí)例 192.1.12 網(wǎng)絡(luò)配置 192.2 Oracle 9i 212.2.1 手工創(chuàng)建 212.2.2 創(chuàng)建用戶表空間 223 初始化文件配置 233.1 Oracle 8 & 8i 233.2 Oracle 9i 254 工具 264.1 sqlldr 264.2 exp 274.3 imp 284.4 sqlplus 294.4.1 命令行參數(shù) 294.4.2 提示符命令 294.4.3 SET選項(xiàng) 304.4.4 例子 305 備份及恢復(fù) 325.1 export與import方式 325.2 冷備份 325.3 聯(lián)機(jī)全備份+日志備份 325.3.1 設(shè)置 325.3.2 步驟 335.3.3 恢復(fù) 335.4 注意要點(diǎn) 346 數(shù)據(jù)庫優(yōu)化 356.1 通用設(shè)置 356.1.1 硬件配置 356.1.2 應(yīng)用配置 356.1.3 日常性能監(jiān)控 366.2 實(shí)戰(zhàn)分析 366.2.1 總體分析 376.2.2 詳細(xì)分析 376.3 專題分析 396.3.1 巨表查詢 396.3.2 對(duì)比測(cè)試 416.3.3 上下載數(shù)據(jù) 446.3.4 回滾空間快照陳舊(snapshot too old) 467 常用技巧 487.1 增加、更改和刪除域 487.2 刪除冗余記錄 497.3 更改字符集 497.4 表數(shù)據(jù)遷移 507.5 成批生成資料 507.6 注意要點(diǎn) 518 嵌入式sql(C) 538.1 編譯 538.2 sql語句 548.2.1 內(nèi)部類型與宿主類型對(duì)應(yīng) 548.2.2 連接和斷開 548.2.3 事務(wù) 558.2.4 標(biāo)準(zhǔn)sql語句 558.2.5 動(dòng)態(tài)sql語句 558.2.6 數(shù)組操作 568.3 編程框架 588.3.1 總體原則 588.3.2 單線程和多線程 598.3.3 開發(fā)工具 609 OCIOracle Call Interface 619.1 連接和斷開 619.1.1 句柄層次 619.1.2 連接流程 619.1.3 斷開流程 629.2 sql語句 629.2.1 事務(wù) 629.2.2 無結(jié)果集的sql語句 639.2.3 有結(jié)果集的sql語句 639.2.4 LOB 659.3 編程框架 679.3.1 總體原則 679.3.2 sql語句 689.3.3 函數(shù) 6910 附錄mysql 7210.1 安裝配置 7210.2 管理 7210.2.1 初始調(diào)整 7210.2.2 建立用戶對(duì)象 7310.3 開發(fā) 7310.3.1 連接和斷開 7310.3.2 無結(jié)果集的sql語句 7410.3.3 有結(jié)果集的sql 7410.3.4 錯(cuò)誤處理 751 安裝所有參見內(nèi)容都在附件01_install_02_create_03_init/下。1.1 通用設(shè)置文件系統(tǒng)swap創(chuàng)建文件系統(tǒng)時(shí)應(yīng)考慮Oracle對(duì)swap的需要,大約每個(gè)Oracle服務(wù)進(jìn)程將占用10-20Mswap空間,通常操作系統(tǒng)建議2倍于內(nèi)存的swap空間,數(shù)據(jù)庫系統(tǒng)可能要求更多些。操作系統(tǒng)用戶和環(huán)境變量Oracle文檔要求為數(shù)據(jù)庫系統(tǒng)的管理和使用建立3個(gè)或更多的組,但這個(gè)需求是可以忽略的,實(shí)踐中并沒有體現(xiàn)其必要性。為簡(jiǎn)化操作起見,只建立dba組,即擁有更新軟件和管理最高權(quán)限(SYSDBA)的操作系統(tǒng)用戶組,此組稱為OSDBA,屬于此組的用戶可以SYSDBA身份登錄進(jìn)任何一個(gè)數(shù)據(jù)庫實(shí)例,簡(jiǎn)單的,只建立一個(gè)用戶,習(xí)慣上使用Oracle的名稱。$ groupadd dba$ useradd g dba d /home/Oracle m s /bin/bash Oracle確定Oracle 系統(tǒng)的根目錄Oracle_BASE,如/opt/Oracle,所有的軟件和配置都在這個(gè)目錄下展開,雖然并非一定需要如此,但這是一個(gè)良好的習(xí)慣。同時(shí)確定軟件安裝的起始點(diǎn)Oracle_HOME,通常在Oracle_BASE下。修改Oracle用戶的.profile,加入以下各行,或者修改/etc/profile,使每一個(gè)用戶都獲得環(huán)境變量設(shè)置umask 022Oracle_BASE=/opt/OracleOracle_HOME=$Oracle_BASE/product/版本號(hào)(如8.0.5,8.1.7,9.2.0等)Oracle_SID=oradbOracle_TERM=ansi 僅與Oracle8字符接口安裝有關(guān)ORA_NLS33=$Oracle_HOME/ocommon/nls/admin/data 字符集支持NLS_LANG=American_America.ZHS16CGB231280(Oracle8支持)|ZHS16GBK(Oracle8i支持)|ZHS16GB18030(Oracle9i支持)NLS_DATE_FORMAT=YYYYMMDDHH24MISSLD_LIBRARY_PATH=$Oracle_HOME/lib:$LD_LIBRARY_PATH 動(dòng)態(tài)連接路徑,Unixware中要確保/usr/ucb/lib在/usr/ccs/lib之后出現(xiàn)TMPDIR=/tmp 安裝中Oracle會(huì)在此目錄下存儲(chǔ)相當(dāng)數(shù)量的檔,所以TMPDIR所在的磁盤分區(qū)要確??臻e空間的大小,至少在1G左右PATH=$PATH:$Oracle_HOME/binexport Oracle_BASE Oracle_HOME Oracle_SID Oracle_TERM ORA_NLS33 NLS_LANG NLS_DATE_FORMAT LD_LIBRARY_PATH TMPDIR參見profile。注意:NLS_LANG=American_America.ZHS16CGB231280(ZHS16GBK)“American”指顯示信息時(shí)所用的語言,竊以為憑大家的英語水平足夠應(yīng)付,如改為SIMPLIFIED CHINESE,在不帶中文支持的終端上就沒人能看懂了?!癆merica”指地區(qū)“ZHS16CGB231280”指Client工具使用的字符集,一般使用”ZHS16CGB231280”,Oracle8i已支持到”ZHS16GBK”NLS_DATE_FORMAT=YYYYMMDDHH24MISSOracle的date類型過于靈活,為統(tǒng)一時(shí)間格式,利于編程,應(yīng)將時(shí)間的輸入輸出格式限定為14位字符串,如”20000101235959”據(jù)Oracle文檔,此參數(shù)可按照session,操作系統(tǒng)用戶環(huán)境,init.ora由高到低的優(yōu)先級(jí)順序設(shè)置,依次覆蓋。相關(guān)系統(tǒng)表:v$nls_parameters v$nls_valid_valuesX-WindowOracle 8的安裝程序是光盤mount點(diǎn)/bin/orainst,使用字符接口,不用考慮X-Window。Oracle 8i和9i使用光盤mount點(diǎn)/runInstaller進(jìn)行安裝,它是用Java編寫的圖形接口,對(duì)中文處理有問題,所以應(yīng)在進(jìn)入X-Window前確保語言(LANG)和地域(LC_ALL,LC_TYPE,)環(huán)境變量不是中文。LANG=CLC_ALL=C安裝選項(xiàng)Oracle 8i的主要軟件包在安裝選項(xiàng)Enterprise中,但并不包括proc,必須進(jìn)行第二次安裝,可選擇安裝選項(xiàng)Client中的programmer。Oracle 9i的主要軟件包在安裝選項(xiàng)Enterprise安裝選項(xiàng)中,但并不包括proc,必須進(jìn)行第二次安裝,一定要選擇安裝選項(xiàng)Client中的Administrator。runInstaller的穩(wěn)定性欠佳,建議每次安裝結(jié)束后,先退出,再進(jìn)行下一次安裝。1.2 UnixWare71.2.1 Oracle 8確認(rèn)操作系統(tǒng)的交換分區(qū)swap不少于350M認(rèn)為該打的補(bǔ)丁統(tǒng)統(tǒng)打上,寧濫毋缺。UnixWare7.0.1必須打的補(bǔ)丁為ptf7033,ptf7051,ptf7052,ptf7068,ptf7096。將/etc/default/login中的ulimit設(shè)為大于2113674(稍大一點(diǎn)即可,太大會(huì)有問題)將/etc/conf/node.d/async中的600改為666修改以下核心參數(shù)核心參數(shù) 必需值 解釋SHMMAX 2147483647 共享內(nèi)存段最大尺寸SHMMNI 100 系統(tǒng)共享內(nèi)存段標(biāo)識(shí)最大數(shù)目SHMSEG 15 每個(gè)進(jìn)程所能使用最大共享內(nèi)存段數(shù)目SEMMNI 100 核心信號(hào)量標(biāo)識(shí)最大數(shù)目SEMMSL 150 每個(gè)信號(hào)量標(biāo)識(shí)包含的信號(hào)量個(gè)數(shù)SCORLIM 0X7FFFFFFF Core文件最大尺寸HCORLIM 0X7FFFFFFF SDATLIM 0X7FFFFFFF 進(jìn)程堆最大尺寸HDATLIM 0X7FFFFFFF SVMMLIM 0X7FFFFFFF 進(jìn)程最大映像地址HVMMLIM 0X7FFFFFFF SFSZLIM 0X7FFFFFFF 進(jìn)程檔最大偏移量HFSZLIM 0X7FFFFFFF SFNOLIM 128 進(jìn)程能打開的最大檔個(gè)數(shù)HFNOLIM 2048 NPROC 20+(8*MAXUSERS) MAX:125000ARG_MAX 1,048,576 NPBUF 100 I/O緩沖區(qū)數(shù)目MAXUP 1000 用戶同時(shí)使用的最大進(jìn)程個(gè)數(shù)STRTHRESH 0X500000 流能使用的最大字節(jié)數(shù)為優(yōu)化應(yīng)用系統(tǒng)修改以下核心參數(shù)核心參數(shù) 參考值 解釋MSGMAX 8192 消息最大尺寸MSGMNB 81920 消息隊(duì)列尺寸MSGMNI 2048 系統(tǒng)能并存的最大消息隊(duì)列數(shù)目MSGSSZ 16384 MSGTQL 4096 系統(tǒng)能并用的消息頭數(shù)目SEMMNI 1024 SEMMSL 150 也可通過編輯/etc/conf/cf.d/stune達(dá)到同樣效果重新連接內(nèi)核,重起或運(yùn)行/etc/conf/bin/idbuild B修改核心參數(shù)SEMMAP時(shí),注意要同時(shí)修改/etc/conf/mtune.d/ipc中相應(yīng)的MAX值建立/var/opt/Oracle,使Oracle成為此目錄屬主mount Oracle光盤,通常mount目錄為/SD-CDROM_1root用戶,Oracle_OWNER=Oracle,執(zhí)行光盤上orainst中oratab.sh,建立/var/opt/Oracle/oratab安裝時(shí),選custom方式,安裝時(shí)不建立數(shù)據(jù)庫,字符集可選Simplified Chinese1.3 HP-UX1.3.1 Oracle 8流程大致與Unixware相同,調(diào)整kernel參數(shù)可通過sam,選擇/Kernel Configuration/Actions/Apply Tuned Parameter Set/OLTP Database Server System,另外為提高I/O能力,還需調(diào)整以下參數(shù):核心參數(shù) 參考值 解釋bufpages 61992 緩沖頁dbc_max_pct 10 動(dòng)態(tài)緩存占內(nèi)存最大百分比dbc_min_pct 10 動(dòng)態(tài)緩存占內(nèi)存最小百分比nbuf 設(shè)定共享庫目錄SHLIB_PATH,不是LD_LIBRARY_PATHSHLIB_PATH=$SHLIB_PATH:$Oracle_HOME/lib;export SHLIB_PATH1.4 Linux1.4.1 kernel 2.0 & glibc 2.0代表產(chǎn)品為Red Hat Linux 5.1。Oracle 8在RedHat5.1上能成功安裝,安裝軟件包為805ship.tgz一般不會(huì)在RedHat5.1上安裝Oracle8i以上的版本修改共享內(nèi)存最大尺寸限制:在系統(tǒng)初始化腳本/etc/rc.d/rc.sysinit中加入:echo 2147483648 /proc/sys/kernel/shmmax重啟計(jì)算機(jī)。這樣做避免了Oracle分配的共享內(nèi)存碎片化,對(duì)提高效率有好處。原$Oracle_HOME/precomp/admin/pcscfg.cfg中sys_include有誤,使proc預(yù)處理pc程序失敗,安裝結(jié)束后,應(yīng)設(shè)為:sys_include=(/usr/include,/usr/lib/gcc -lib/i386-redhat-Linux/egcs-2.91.66/include)(視gcc版本而定)1.4.2 kernel 2.2 & glibc 2.1代表產(chǎn)品為Red Hat Linux 6.2。修改共享內(nèi)存最大尺寸限制:在系統(tǒng)初始化腳本/etc/rc.d/rc.sysinit中加入:echo 2147483648 /proc/sys/kernel/shmmax重啟計(jì)算機(jī)。這樣做避免了Oracle分配的共享內(nèi)存碎片化,對(duì)提高效率有好處。原$Oracle_HOME/precomp/admin/pcscfg.cfg中sys_include有誤,使proc預(yù)處理pc程序失敗,安裝結(jié)束后,應(yīng)設(shè)為sys_include=(/usr/include,/usr/lib/gcc -lib/i386-redhat-Linux/egcs-2.91.66/include) (視gcc版本而定) Oracle 8本來已經(jīng)很少有人在LinuxKernel2.2的系統(tǒng)中安裝Oracle8.0.5,但筆者實(shí)在懷念8.0.5純粹的文本接口和與之相處的無數(shù)不眠之夜,故收錄如下:Oracle8在kernel為2.2.x的Linux中是無法正常運(yùn)行的,運(yùn)行可執(zhí)行檔如svrmgrl,sqlplus時(shí)會(huì)導(dǎo)致“Segmentation fault”,原因在于這些Linux使用了默認(rèn)的libc2.1,與Oracle8程序重連接所需的libc2.0不兼容。Oracle的補(bǔ)丁程序其實(shí)是將Oracle可執(zhí)行程序的重連接腳本中l(wèi)ibc位置重新定位到libc2.0上去,并用舊版的gcc,ld重新連接可執(zhí)行檔。為此必須先在系統(tǒng)中安裝兼容庫和相應(yīng)工具。這是權(quán)宜之計(jì),而且僅對(duì)RedHat有效。root用戶rpm ivh tcl-8.0.3-20.i386.rpm Oracle的Intelligent Agent要使用rpm ivh compat-binutils-5.2-.23.1.i386.rpmrpm ivh compat-glibc-5.2-.i386.rpmrpm ivh compat-egcs-5.2-1.0.3a.1.i386.rpmrpm ivh compat-egcs-c+-5.2-1.0.3a.1.i386.rpmrpm ivh compat-libs-5.2-1.i386.rpm版本號(hào)可略有差異Oracle用戶安裝Oracle8.0.5但不創(chuàng)建instance,如選擇安裝文檔,則會(huì)產(chǎn)生如下錯(cuò)誤:A write error occurred while try to copy /home/Oracle/setup_Oracle/Unixdoc/server.805/install/lnx_server.805.map to /Oracle/product/8.0.5/doc/server.805/install/lnx_server.805(No such file or directory).這是安裝程序的一個(gè)bug不能創(chuàng)建目錄??蛇M(jìn)入$Oracle_HOME/doc,mkdir p server.805/install,再選擇Retry從ftp.O/pub/www/otn/Linux下載glibcpatch.tgz,在某一目錄(如/patch)下展開cd /patchglibcpatch.sh經(jīng)過一段時(shí)間后,看到“Applied glibc patch for Oracle 8.0.5.x successfully”,表明補(bǔ)丁成功。此時(shí)就能成功創(chuàng)建instance。 Oracle 8i推薦使用典型安裝,否則會(huì)產(chǎn)生難以預(yù)料的錯(cuò)誤。1.4.3 kernel 2.4 & glibc 2.2代表產(chǎn)品為Red Hat Linux 7.3,SuSE Linux 7.3。 Oracle 8i與Oracle8在RedHat Linux 6.2上安裝所遇到的問題一樣,Oracle 8i使用的glibc 2.1與操作系統(tǒng)自帶的glibc 2.2不能兼容,解決的方法也一樣,要安裝glibc 2.1的兼容庫,并重新連接Oracle各組件。除非萬不得已,不建議使用兼容方式,因此省略安裝步驟,可參閱網(wǎng)上有關(guān)文檔。 Oracle 9iRedHat 7.3修改共享內(nèi)存最大尺寸限制:在系統(tǒng)初始化腳本/etc/rc.d/rc.sysinit中加入:echo 2147483648 /proc/sys/kernel/shmmax。修改信號(hào)量參數(shù):在系統(tǒng)初始化腳本/etc/rc.d/rc.sysinit中加入:echo 250 32000 100 128 /proc/sys/kernel/sem。這4個(gè)參數(shù)依次為SEMMSL(每個(gè)用戶擁有信號(hào)量最大數(shù)量),SEMMNS(系統(tǒng)信號(hào)量最大數(shù)量),SEMOPM(每次semop系統(tǒng)調(diào)用操作數(shù)),SEMMNI(系統(tǒng)信號(hào)量集最大數(shù)量),事實(shí)上只有SEMOP是需要調(diào)整的。重啟計(jì)算機(jī)。在連接可執(zhí)行檔過程中,會(huì)發(fā)生中斷,打開$Oracle_HOME/ctx/lib/env_ctx.mk,找到INSO_LINK,在-L$(CTXLIB) -L$(LDLIBFLAG)m后加入-L$(LDLIBFLAG)dl,重試。SuSE 7.3與RedHat類似,但SuSE沒有/etc/rc.d/rc.sysinit,筆者選擇/etc/rc.d/rc,將核心參數(shù)修改添加到最后exit語句之前。安裝過程中沒有發(fā)生任何問題。1.5 SolarisOracle 8i在Solaris 7,8 Intel Platform上均能順利安裝,未測(cè)試Solaris Sparc Platform。Oracle 9i目前無Solaris Intel Platform上的版本,由于條件所限,未測(cè)試在Solaris Sparc Platform上的Oracle 9i。修改下列核心參數(shù):核心參數(shù) 參考值 解釋shmmax 物理內(nèi)存/2 共享內(nèi)存段最大尺寸shmmin 1 共享內(nèi)存段最小尺寸shmmni 100 系統(tǒng)共享內(nèi)存段標(biāo)識(shí)最大數(shù)目shmseg 10 每個(gè)進(jìn)程所能使用最大共享內(nèi)存段數(shù)目semmni 100 系統(tǒng)信號(hào)量標(biāo)識(shí)最大數(shù)目semmsl cesses+10 每個(gè)信號(hào)量標(biāo)識(shí)包含的信號(hào)量數(shù)目semmns sum(cesses)*10+max(cesses)+count(init.ora)*10 系統(tǒng)信號(hào)量最大數(shù)目semopm 100 每個(gè)semop調(diào)用最大操作數(shù)目rlim_fd_max 4096 系統(tǒng)文件句柄最大數(shù)目rlim_fd_cur 1024 每個(gè)進(jìn)程檔句柄最大數(shù)目修改/etc/system,并重啟使核心參數(shù)生效例:set shmsys:shminfo_shmmax=2147483648set shmsys:shminfo_shmmin=1set shmsys:shminfo_shmmni=100set shmsys:shminfo_shmseg=10set semsys:seminfo_semmni=200set semsys:seminfo_semmsl=200set semsys:seminfo_semmns=1000set semsys:seminfo_semopm=100set semsys:seminfo_semmap=200set semsys:seminfo_semmnu=250set semsys:seminfo_semvmx=32767set msgsys:msginfo_msgmni=200set msgsys:msginfo_msgmap=200set msgsys:msginfo_msgmax=65536set msgsys:msginfo_msgmnb=655360set msgsys:msginfo_msgssz=64set msgsys:msginfo_msgtql=1000set msgsys:msginfo_msgseg=16384set rlim_fd_max=4096set rlim_fd_cur=1024參見solaris_7_8/system注意:一定要先重建好kernel后再安裝,因?yàn)镺racle安裝時(shí)根據(jù)kernel動(dòng)態(tài)連接程序,如果先安裝Oracle,即使隨后正確調(diào)整kernel,也會(huì)帶來許多問題,如Oracle進(jìn)程不能拉起,instance創(chuàng)建失敗等。在kernel參數(shù)中,對(duì)數(shù)據(jù)庫運(yùn)行影響最大的主要是SHMMAX,SEMMNS,SEMMNI,SEMMSL,SHMMAX取內(nèi)存一半即可,SEMMNS理論上應(yīng)等于SEMMNI*SEMMSL,實(shí)際取一個(gè)較大值即可。SEMMNS: 信號(hào)量最大個(gè)數(shù),有些系統(tǒng)可忽略,因?yàn)樗cSEMMNI,SEMMSL有關(guān)。2 創(chuàng)建所有參見內(nèi)容都在附件01_install_02_create_03_init/下。以O(shè)racle用戶進(jìn)行操作,設(shè)定數(shù)據(jù)庫實(shí)例名為oradb(長(zhǎng)度建議不要超過8個(gè)字符)。2.1 Oracle 8 & 8i2.1.1 工具創(chuàng)建Oracle 8運(yùn)行$Oracle_HOME/bin/orainst(安裝數(shù)據(jù)庫時(shí)必須選中Oracle installer),選擇create database object,安裝接口中選Oracle Enterprise Server(RDBMS) mount point暫為$Oracle_BASE,字符集為ZHS16CGB231280或ZHS16GBK,調(diào)整system,tools,users,rbs,temp,redolog等尺寸。創(chuàng)建過程中會(huì)提示輸入osdba,osoper的Unix組,這是向instance表明此組的成員享有角色sysdba或sysoper的權(quán)限,從而用connect / as sysdba替換掉connect internalOracle 8i進(jìn)入X WINDOW,運(yùn)行dbassist2.1.2 手工創(chuàng)建任何工具都有其局限性,熟練的數(shù)據(jù)庫管理員可采用手工方法創(chuàng)建數(shù)據(jù)庫,以增加對(duì)系統(tǒng)的靈活控制。對(duì)于手工建庫Oracle 8與Oracle 8i的區(qū)別主要是建立的資料字典和存儲(chǔ)過程有些不同,Oracle8i的dbassistant可以生成建庫腳本供以后使用。取得/8i/initoradb.ora,編輯如db_name,control_file,dump_dest等參數(shù),以符合實(shí)際情況。如不需要生成remote_login_passwordfile,可在initoradb.ora中設(shè)remote_login_passwordfile=none;如需要,在initoradb.ora中設(shè)remote_login_passwordfile=exclusive,運(yùn)行orapwd file= password=必須創(chuàng)建新生成檔所要用到的目錄,如在配置文件中指定的bdump,cdump,udump等目錄,以及數(shù)據(jù)文件存儲(chǔ)目錄。將initoradb.ora轉(zhuǎn)移到$Oracle_BASE/admin/oradb/pfile/,并連接到$Oracle_HOME/dbs/initoradb.ora。ln s $Oracle_BASE/admin/oradb/pfile/initoradb.ora $Oracle_HOME/dbs/initoradb.ora取得8i/createdb.sh,編輯如pfile,數(shù)據(jù)文件目錄等參數(shù),以符合實(shí)際情況,并轉(zhuǎn)移到$Oracle_BASE/admin/oradb/create/下,執(zhí)行。相關(guān)系統(tǒng)表:v$databasev$datafile(file#,ts#,name)v$tablespace(ts#,name)v$parameter(sqlshow parameter)v$sga(sqlshow sga)2.1.3 MTS(multi-threaded server)Oracle8使用兩種配置模式:dedicated server(專用模式)和shared server(即multi-threaded server共享模式),缺省使用專用模式。在連接數(shù)不很大且保持長(zhǎng)期連接的情況下,專用模式為每個(gè)連接設(shè)立一個(gè)專用Oracle服務(wù)進(jìn)程,以保持較高的性能和穩(wěn)定性。而當(dāng)連接數(shù)上升到非常高的數(shù)目且不保持長(zhǎng)期連接時(shí),數(shù)據(jù)庫管理開銷增大,并且占用大量系統(tǒng)資源,給操作系統(tǒng)形成帶來極大的壓力。在這種情況下,共享模式更為有利,它通過緩沖池和預(yù)先設(shè)定數(shù)目的server提供服務(wù),每個(gè)連接不再有專用的Oracle服務(wù)進(jìn)程,每次sql操作由分配器(dispatcher)確定Oracle服務(wù)進(jìn)程。multi-thread僅表示分配器展開的多個(gè)服務(wù)流程,并非操作系統(tǒng)意義上的多線程配置: initoradb.ora加入mts_dispatchers = “(address=(protocol=TCP)(dispatchers=10)” #初始分配器數(shù)量mts_max_dispatchers = 15 #最大分配器數(shù)量mts_servers = 50 #初始服務(wù)進(jìn)程數(shù)量mts_max_servers = 80 #最大服務(wù)進(jìn)程數(shù)量mts_service = oradb3 #MTS方式下對(duì)外提供的數(shù)據(jù)庫服務(wù),非service_name表明instance能夠提供MTS服務(wù),不意味著取消dedicated方式 listener.ora應(yīng)刪除所有SID_LIST,SID_LIST的存在決定LISTENER以dedicated還是shared方式激活Oracle連接。如SID_LIST存在,LISTENER不再接受instance的登記,以dedicated方式激活Oracle連接; 如SID_LIST不存在,LISTENER激活時(shí)不為任何instance服務(wù),由instance來登記MTS service,以shared方式激活Oracle連接 clientMTS在client端配置頗為怪誕,在tnsnames.ora中的host一定要寫數(shù)據(jù)庫server的名字,而且必須作全名解析,似乎server端接收到client端請(qǐng)求后會(huì)將主機(jī)字符串返回,應(yīng)此client端必須能夠解析,否則會(huì)報(bào)出諸如“database service not exist”的錯(cuò)誤 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS=(PROTOCOL=TCP)(HOST= dbserver)(PORT = 1521)(CONNECT_DATA =(SERVICE_NAME = oradb)/etc/hosts dbserver激活:先起LISTENER,后起instance以下步驟均在數(shù)據(jù)庫open狀態(tài)下,由system用戶完成2.1.4 調(diào)整臨時(shí)表空間alter tablespace temp temporary; #Oracle8的orainst沒有將temp的缺省值permanent改為temporary,這樣用戶在temp上暫存的資料均為永久對(duì)象,很快將temp空間耗完。Oracle8i已修正。sqlalter tablespace temp default storage (initial 128k next 128k maxextents 5000 pctincrease 0);sql查詢操作如group by,order by,distinct,join等需要在臨時(shí)段上展開資料,須充分考慮臨時(shí)段的大小。如果實(shí)例激活參數(shù)指定hash_join_enabled=true(缺省為true),當(dāng)Oracle選擇以hash join方式進(jìn)行表與表的聯(lián)接,Oracle根據(jù)查詢操作的實(shí)際情況計(jì)算出hash_multiblock_io_count,此參數(shù)從屬于session,平時(shí)顯示為0,即hash join一次I/O讀寫需要的連續(xù)資料空間。這樣當(dāng)此參數(shù)大于臨時(shí)段的next擴(kuò)展塊時(shí),hash join操作會(huì)中斷。如果預(yù)知聯(lián)接表的規(guī)模比較巨大,可使用alter tablespace temp default storage(next )將next值設(shè)為較大值,待全部操作完成后,再恢復(fù)正常。2.1.5 調(diào)整回滾表空間先將建庫工具缺省設(shè)定的若干個(gè)回滾段刪除sqlalter rollback segment r01 offline;sqldrop rollback segment r01;根據(jù)實(shí)際需要?jiǎng)?chuàng)建回滾段(如r01-r10),供聯(lián)機(jī)處理和批處理使用sqlcreate rollback segment r01 storage(initial 128k next 128k maxextents 5000 optimal 5M) tablespace rbs;sqlalter rollback segment r01 online;注意修改$Oracle_HOME/dbs/initoradb.ora中的激活回滾段段名另創(chuàng)建一個(gè)尺寸無限制的回滾段(r99),供特殊用途sqlcreate rollback segment r99 storage(initial 128k next 128k maxextents 5000) tablespace rbs;如果在創(chuàng)建回滾段時(shí)使用create public rollback segment,則不需要在$Oracle_HOME/dbs/initoradb.ora中用rollback_segment=()選項(xiàng)激活,推薦使用public方式相關(guān)系統(tǒng)表:sqlselect segment_name, initial_extent, next_extent, max_extents, extents,bytes from dba_segments where segment_type=ROLLBACK; #回滾段占用空間狀況sqlselect segment_name, status from dba_rollback_segs; #回滾段狀態(tài)2.1.6 調(diào)整日志建立日志組sqlalter database add logfile group x(log1a,log1b) size 10M;增加日志組成員sqlalter database add logfile member log1c to group x;刪除日志數(shù)據(jù)庫實(shí)例至少需要2個(gè)日志組,只有狀態(tài)為inactive的日志組才能被刪除,而當(dāng)前日志組狀態(tài)為current,上一個(gè)切換的日志組狀態(tài)為active,這就意味著至少存在3個(gè)日志組才能刪除其中的一個(gè),如果要更新全部日志組,只能刪除一個(gè),再創(chuàng)建一個(gè),直至全部被更新。sqlalter database drop logfile group x;如果要?jiǎng)h除的日志組是當(dāng)前日志組,必須先將其切換至狀態(tài)為inactive,再刪除。sqlalter system switch logfile;刪除日志組成員sqlalter database drop logfile member log1c;相關(guān)系統(tǒng)表v$log 日志組狀態(tài)、占用空間、順序號(hào)等v$logfile 日志組文件2.1.7 調(diào)整用戶表空間創(chuàng)建表空間假定表數(shù)據(jù)在ts_data,索引在ts_indexsqlcreate tablespace ts_data default storage(initial 10M next 10M maxextents 5000 pctincrease 0) datafile path/data_01.dbf size 500M;sqlcreate tablespace ts_index default storage(initial 5M next 5M maxextents 5000 pctincrease 0) datafile path/index_01.dbf size 500M;參考命令:刪除表空間sqldrop tablespace data including contents; 刪除表空間及其包含的所有資料對(duì)象相關(guān)系統(tǒng)表:user(dba)_tablespaces增加表空間尺寸假定表空間ts_data由path/data_01.dbf和path/data_02.dbf(500M)組成增加一個(gè)數(shù)據(jù)文件:sqlalter tablespace ts_data add datafile path/data_03.dbf size 500M;擴(kuò)大原有檔大?。簊qlalter database datafile path/data_01.dbf resize 1000M;移動(dòng)表空間數(shù)據(jù)文件假如要求為:將path1下data_01.dbf移至path2下,并把文件名改為data01.dbf實(shí)例處于關(guān)閉狀態(tài)sqlplus “/ as sysdba”sqlstartup mount回到shell環(huán)境下$ mv path1/data_01.dbf path2/data01.dbf$ mv path1/data_02.dbf path2/data02.dbf再到sqlplus環(huán)境中sqlalter database rename file path1/data_01.dbf to path2/data01.dbf;或sqlalter tablespace tbsdata rename
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 診所電子設(shè)備管理制度
- 試劑耗材分級(jí)管理制度
- 財(cái)務(wù)結(jié)賬流程管理制度
- 財(cái)富管理中心管理制度
- 貨架倉(cāng)庫安全管理制度
- 貨物驗(yàn)收流程管理制度
- 貨運(yùn)簽收單據(jù)管理制度
- 應(yīng)急通道協(xié)議書范本
- 服裝代工合同協(xié)議書范本
- 勞務(wù)擔(dān)保協(xié)議書范本
- 2025年湖南省中考英語試卷真題(含答案)
- 儲(chǔ)能站施工組織設(shè)計(jì)施工技術(shù)方案(技術(shù)標(biāo))
- 樓梯 欄桿 欄板(一)22J403-1
- 2024年河南省豫地科技集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 2024年山西焦煤西山煤電集團(tuán)招聘筆試參考題庫含答案解析
- 2023北京第二次高中學(xué)業(yè)水平合格性考試信息技術(shù)試卷試題(答案詳解)
- 《活板》綜合練習(xí)
- 自動(dòng)喂料攪拌機(jī)
- 靜脈輸液ppt課件
- MD11使用說明書
- 企業(yè)職務(wù)犯罪法制講座.ppt
評(píng)論
0/150
提交評(píng)論