《深入解析Oracle:數(shù)據(jù)庫的初始化》圍繞"數(shù)據(jù)庫的初始化"這個(gè)主題展開,詳細(xì)介紹了數(shù)據(jù)庫的創(chuàng)建、使用模板創(chuàng)建數(shù)據(jù)庫、插接式數(shù)據(jù)庫、數(shù)據(jù)庫的啟動(dòng)和關(guān)閉、參數(shù)及參數(shù)文件、控制文件與數(shù)據(jù)庫初始化、控制文件與啟動(dòng)校驗(yàn)、數(shù)據(jù)字典等內(nèi)容,不但兼顧了Oracle 10g、11g版本的功能,還為讀者揭秘了剛剛發(fā)布的Oracle 12c的最新技術(shù)。 《深入解析Oracle:數(shù)據(jù)庫的初始化》給出了大量取自實(shí)際工作現(xiàn)場(chǎng)的實(shí)例,在分析實(shí)例的過程中,兼顧深度與廣度,不僅對(duì)實(shí)際問題的現(xiàn)象、產(chǎn)生原因和相關(guān)原理進(jìn)行了深入淺出的講解,更主要的是,結(jié)合實(shí)際應(yīng)用環(huán)境,提供了一系列解決問題的思路和方法,包括詳細(xì)的操作步驟,具有很強(qiáng)的實(shí)戰(zhàn)性和可操作性,適用于具備一定數(shù)據(jù)庫基礎(chǔ)、打算深入學(xué)習(xí)Oracle技術(shù)的數(shù)據(jù)庫從業(yè)人員,尤其適用于入門、進(jìn)階以及希望深入研究Oracle技術(shù)的數(shù)據(jù)庫管理人員。
目 錄
第1章 Oracle數(shù)據(jù)庫的創(chuàng)建 1
1.1 Oracle軟件的獲取與安裝 1
1.1.1 Oracle軟件的獲取 1
1.1.2 Oracle的補(bǔ)丁集 4
1.2 使用DBCA創(chuàng)建數(shù)據(jù)庫 8
1.2.1 DBCA的啟動(dòng) 8
1.2.2 模板選擇及EM選項(xiàng) 10
1.2.3 數(shù)據(jù)庫安全與口令 13
1.2.4 存儲(chǔ)管理及選件 14
1.2.5 初始化參數(shù)選擇設(shè)定 18
1.2.6 文件存儲(chǔ)及創(chuàng)建選項(xiàng) 21
1.2.7 告警日志及跟蹤文件 24
1.3 數(shù)據(jù)庫創(chuàng)建的腳本 25
1.3.1 數(shù)據(jù)庫創(chuàng)建腳本 25
1.3.2 創(chuàng)建的起點(diǎn) 26
1.3.3 ORADIM工具的使用 27
1.3.4 ORACLE_SID的含義 27
1.3.5 Oracle的口令文件 32
1.3.6 Oracle 12c中的口令文件 36
1.3.7 腳本的執(zhí)行 37
1.3.8 db_name參數(shù)和instance_name參數(shù) 38
1.3.9 sql.bsq文件與數(shù)據(jù)庫創(chuàng)建 42
1.3.10 數(shù)據(jù)文件及字典的創(chuàng)建 43
1.4 auto_space_advisor_job_proc案例一則 46
1.5 口令文件修改案例一則 49
第2章 使用模板創(chuàng)建數(shù)據(jù)庫 52
2.1 數(shù)據(jù)庫創(chuàng)建模板 53
2.2 DBMS_BACKUP_RESTORE包的使用 54
2.3 克隆數(shù)據(jù)庫 55
2.4 傳輸表空間技術(shù) 58
2.5 跨平臺(tái)表空間傳輸 63
2.5.1 字節(jié)順序和平臺(tái) 63
2.5.2 源平臺(tái)和目標(biāo)平臺(tái) 63
2.5.3 源平臺(tái)的導(dǎo)出及轉(zhuǎn)換 64
2.5.4 文件傳輸 66
2.5.5 目標(biāo)數(shù)據(jù)庫的導(dǎo)入 66
2.5.6 同字節(jié)序文件的跨平臺(tái) 68
2.5.7 Oracle 10g同字節(jié)序跨平臺(tái)遷移 73
2.5.8 Oracle 10g同字節(jié)序跨平臺(tái)遷移的增強(qiáng) 75
2.5.9 實(shí)現(xiàn)數(shù)據(jù)遷移的高可用性 83
2.6 Oracle 12c表空間傳輸?shù)暮?jiǎn)化和增強(qiáng) 84
2.7 文件系統(tǒng)與ASM的切換 90
2.8 DBMS_FILE_TRANSFER的可選性 93
2.9 用戶的鎖定 96
2.10 最后的腳本 97
2.11 Oracle 12c引入EM express簡(jiǎn)化版本 98
2.12 systemstate轉(zhuǎn)儲(chǔ)案例分析一則 101
第3章 插接式數(shù)據(jù)庫 109
3.1 插接式數(shù)據(jù)簡(jiǎn)介 109
3.2 CDB的組成 110
3.2.1 ROOT 110
3.2.2 Seed PDB 111
3.2.3 PDB 112
3.3 元數(shù)據(jù)的隔離 113
3.4 CDB的內(nèi)存管理 114
3.5 PDB的創(chuàng)建和訪問 118
3.6 由現(xiàn)有PDB創(chuàng)建新的PDB 123
3.7 PDB的使用與維護(hù) 126
3.8 種子數(shù)據(jù)庫的隱藏和保護(hù) 129
3.9 CDB與PDB的起停管理 130
3.10 COMMON和Local用戶 133
3.11 COMMON和Local用戶的內(nèi)部隔離 142
3.12 將Non-PDB插入CDB 146
3.13 UNPLUG數(shù)據(jù)庫 151
3.14 PDB的備份與恢復(fù) 152
3.14.1 啟動(dòng)歸檔模式 152
3.14.2 對(duì)PDB執(zhí)行備份 154
3.14.3 對(duì)PDB及PDB文件執(zhí)行恢復(fù) 155
3.14.4 對(duì)PDB執(zhí)行不完全恢復(fù) 157
3.15 CDB的視圖與原理 169
3.16 PDB為云計(jì)算而生 174
第4章 數(shù)據(jù)庫的啟動(dòng)和關(guān)閉 176
4.1 數(shù)據(jù)庫的啟動(dòng) 176
4.1.1 啟動(dòng)數(shù)據(jù)庫到NOMOUNT狀態(tài) 177
4.1.2 啟動(dòng)數(shù)據(jù)庫到MOUNT狀態(tài) 202
4.1.3 啟動(dòng)數(shù)據(jù)庫OPEN階段 209
4.2 數(shù)據(jù)庫的訪問 220
4.2.1 客戶端的TNSNAMES.ORA文件配置 221
4.2.2 服務(wù)器端的監(jiān)聽器文件listener.ora配置 223
4.2.3 通過不同服務(wù)器名對(duì)數(shù)據(jù)庫的訪問 225
4.2.4 動(dòng)態(tài)監(jiān)聽器注冊(cè)服務(wù) 226
4.2.5 簡(jiǎn)捷的Easy Connect方式 230
4.3 數(shù)據(jù)庫的關(guān)閉 231
4.3.1 數(shù)據(jù)庫關(guān)閉的步驟 231
4.3.2 幾種關(guān)閉方式的對(duì)比 233
4.3.3 數(shù)據(jù)庫關(guān)閉的診斷案例一則 235
第5章 參數(shù)及參數(shù)文件 238
5.1 初始化參數(shù)的分類 238
5.1.1 推導(dǎo)參數(shù)(Derived Parameters) 238
5.1.2 操作系統(tǒng)依賴參數(shù) 240
5.1.3 可變參數(shù) 240
5.1.4 廢棄參數(shù) 240
5.1.5 初始化參數(shù)的獲取 241
5.1.6 初始化參數(shù)的可選項(xiàng)目 244
5.2 參數(shù)文件 245
5.2.1 PFILE和SPFILE 246
5.2.2 獲取參數(shù)的視圖 247
5.2.3 SPFILE的創(chuàng)建 249
5.2.4 由內(nèi)存創(chuàng)建參數(shù)文件 250
5.2.5 SPFILE的搜索順序 251
5.2.6 使用PFILE/SPFILE啟動(dòng)數(shù)據(jù)庫 251
5.2.7 修改參數(shù) 253
5.2.8 解決SPFILE參數(shù)修改錯(cuò)誤 258
5.2.9 重置SPFILE中設(shè)置的參數(shù) 259
5.2.10 是否使用了SPFILE 260
5.2.11 SPFILE的備份與恢復(fù) 261
5.2.12 如何設(shè)置Events事件 267
5.2.13 導(dǎo)出SPFILE文件 267
5.2.14 使用ASM存儲(chǔ)參數(shù)文件 269
5.3 CDB與PDB的參數(shù)管理 270
5.3.1 參數(shù)表的引入 271
5.3.2 參數(shù)表在PDB啟動(dòng)中的作用 274
5.4 參數(shù)文件診斷案例之一 275
5.4.1 登錄系統(tǒng)檢查告警日志文件文件 275
5.4.2 嘗試重新啟動(dòng)數(shù)據(jù)庫 277
5.4.3 檢查數(shù)據(jù)文件 277
5.4.4 MOUNT數(shù)據(jù)庫,檢查系統(tǒng)參數(shù) 277
5.4.5 檢查參數(shù)文件 278
5.4.6 再次檢查alert文件 278
5.4.7 修正PFILE 280
5.4.8 啟動(dòng)數(shù)據(jù)庫 280
5.5 RAC環(huán)境參數(shù)文件診斷案例 280
5.5.1 數(shù)據(jù)庫資源異常 280
5.5.2 問題的發(fā)現(xiàn) 281
5.5.3 參數(shù)文件問題的解決 282
5.6 RAC環(huán)境參數(shù)文件案例兩則 283
5.6.1 修改參數(shù)引起的掛起 283
5.6.2 參數(shù)疊加帶來的冗余 283
第6章 控制文件與數(shù)據(jù)庫初始化 285
6.1 控制文件的內(nèi)容 285
6.2 Oracle 12c中控制文件的變化 288
6.3 SCN的說明 290
6.3.1 SCN的定義 290
6.3.2 SCN的獲取方式 292
6.3.3 SCN的進(jìn)一步說明 293
6.4 檢查點(diǎn)(Checkpoint) 296
6.4.1 檢查點(diǎn)(Checkpoint)的工作原理 297
6.4.2 全量檢查點(diǎn)與增量檢查點(diǎn) 298
6.4.3 LOG_CHECKPOINT_TO_ALERT參數(shù) 305
6.4.4 控制文件與數(shù)據(jù)文件頭信息 306
6.4.5 數(shù)據(jù)庫的啟動(dòng)驗(yàn)證 308
6.4.6 使用備份的控制文件 313
6.4.7 FAST_START_MTTR_TAR GET 315
6.4.8 關(guān)于檢查點(diǎn)執(zhí)行的案例 317
6.4.9 Oracle 10g自動(dòng)檢查點(diǎn)調(diào)整 319
6.4.10 檢查點(diǎn)信息及恢復(fù)起點(diǎn) 321
6.4.11 正常關(guān)閉數(shù)據(jù)庫的狀況 322
6.4.12 數(shù)據(jù)庫異常關(guān)閉的情況 323
6.4.13 數(shù)據(jù)庫并行恢復(fù)案例一則 327
6.4.14 判斷一個(gè)死事務(wù)的恢復(fù)進(jìn)度 330
6.5 數(shù)據(jù)庫的初始化 331
6.5.1 bootstrap$及數(shù)據(jù)庫初始化過程 331
6.5.2 bootstrap$的定位 334
6.5.3 Oracle數(shù)據(jù)庫中的Cache對(duì)象 335
6.5.4 Oracle數(shù)據(jù)庫的引導(dǎo) 336
6.5.5 數(shù)據(jù)庫引導(dǎo)的分解 338
6.5.6 bootstrap$的重要性 341
6.5.7 BBED工具的簡(jiǎn)要介紹 342
6.5.8 壞塊的處理與恢復(fù) 345
6.5.9 使用BBED模擬和修復(fù)壞塊 347
6.5.10 使用RMAN進(jìn)行壞塊修復(fù) 349
第7章 控制文件與啟動(dòng)校驗(yàn) 351
7.1 啟動(dòng)校驗(yàn)的兩種情況 351
7.2 MISSING文件的產(chǎn)生 356
7.3 遭遇ORA-00600 25013/25015錯(cuò)誤 359
7.4 來龍去脈--表空間創(chuàng)建 360
7.5 Drop Tablespace Internal 366
7.6 ORA-600 4348錯(cuò)誤的成因 376
7.7 一致性損壞的顯示錯(cuò)誤 385
7.8 實(shí)際的處理過程 388
7.9 字典檢查何時(shí)發(fā)生 389
第8章 數(shù)據(jù)字典 391
8.1 數(shù)據(jù)字典概述 391
8.2 內(nèi)部RDBMS(X$)表 392
8.3 數(shù)據(jù)字典表 394
8.4 Oracle 12c的數(shù)據(jù)字典維護(hù)信息 399
8.5 數(shù)據(jù)字典表的特殊維護(hù) 400
8.6 靜態(tài)數(shù)據(jù)字典視圖 404
8.6.1 靜態(tài)數(shù)據(jù)字典視圖的分類 404
8.6.2 靜態(tài)數(shù)據(jù)字典視圖的內(nèi)部實(shí)現(xiàn) 406
8.6.3 同義詞 407
8.6.4 常用數(shù)據(jù)字典視圖舉例 408
8.7 動(dòng)態(tài)性能視圖 412
8.7.1 GV$和V$視圖 412
8.7.2 GV_$、V_$視圖和V$、GV$同義詞 413
8.7.3 進(jìn)一步的說明 417
8.7.4 動(dòng)態(tài)性能視圖與數(shù)據(jù)庫啟動(dòng) 418
8.8 最后的驗(yàn)證 419
8.8.1 V$PARAMETER的結(jié)構(gòu) 419
8.8.2 視圖還是同義詞 419
8.8.3 Oracle如何通過同義詞定位對(duì)象 420
8.9 同義詞優(yōu)化案例一則 423
8.10 數(shù)據(jù)字典與統(tǒng)計(jì)信息缺失案例一則 426
8.11 DBA的數(shù)據(jù)字典敏感度 429
8.11.1 臨時(shí)表空間組案例一則 429
8.11.2 從數(shù)據(jù)字典中獲得更多知識(shí) 432
一般是按照 版本/CPU數(shù)/用戶數(shù) 來進(jìn)行授權(quán)的。幾萬到幾十萬不等,具體價(jià)格要聯(lián)系經(jīng)銷商。這里的價(jià)格供參考:http://product.pcpop.com/data_base/
oracle數(shù)據(jù)庫標(biāo)準(zhǔn)版價(jià)格現(xiàn)在是多少
一般是按照 版本/CPU數(shù)/用戶數(shù) 來進(jìn)行授權(quán)的。幾萬到幾十萬不等,具體價(jià)格要聯(lián)系經(jīng)銷商。
咨詢 支持Java web端針對(duì)用戶的自定義報(bào)表工具 數(shù)據(jù)庫為Oracle 謝謝
Jaspersoft ---- > ireport
ORACLE數(shù)據(jù)庫在大H型鋼軋線二級(jí)系統(tǒng)中的應(yīng)用
格式:pdf
大?。?span id="i29ppsx" class="single-tag-height">162KB
頁數(shù): 2頁
評(píng)分: 4.5
該文闡述了ORACLE數(shù)據(jù)庫的特點(diǎn)及其訪問方式,并介紹了ORACLE數(shù)據(jù)庫及其所帶的Form,Reports在開發(fā)大H型鋼軋線二級(jí)系統(tǒng)中的應(yīng)用。
ORACLE數(shù)據(jù)庫系統(tǒng)可靠性研究 ——基于應(yīng)用的數(shù)據(jù)庫系統(tǒng)健壯性測(cè)量
格式:pdf
大?。?span id="47b2a7y" class="single-tag-height">162KB
頁數(shù): 1頁
評(píng)分: 4.5
隨著全球信息技術(shù)的不斷快速發(fā)展,在社會(huì)中的到廣泛應(yīng)用的就是軟件系統(tǒng),這些軟件系統(tǒng)都是基于數(shù)據(jù)庫系統(tǒng)所研制出的.軟件系統(tǒng)在不同的領(lǐng)域中會(huì)有不同的關(guān)鍵系統(tǒng),如果系統(tǒng)出現(xiàn)問題,嚴(yán)重就會(huì)給企業(yè)帶來巨大的經(jīng)濟(jì)損失.軟件的健壯性是衡量軟件質(zhì)量的重要指標(biāo),軟件在異常輸入以及異常情況中,系統(tǒng)就會(huì)發(fā)生一系列的健壯性問題.
相信對(duì)于大部分使用過VueJS的同學(xué)來說, vue-cli是他們非常熟悉的一個(gè)工具。借助 vue-cli,我們通過非常簡(jiǎn)單的問答形式,方便地初始化一個(gè)vue工程,完全不需要擔(dān)心繁復(fù)的webpack、eslint配置等等。
但是,仍然有許多同學(xué)沒有搞清楚 vue-cli和 vue工程之間的關(guān)系,導(dǎo)致沒有充分發(fā)揮 vue-cli的功能。在這篇文章中,我將從底層原理開始并結(jié)合幾個(gè)例子,告訴大家 vue-cli還能這樣用。
什么是vue-cli
引用vue-cli官方文檔的一句話:
A simple CLI for scaffolding Vue.js projects.一個(gè)簡(jiǎn)單的Vue.js工程命令行腳手架工具。
在全局安裝vue-cli之后,就可以通過一條命令初始化我們的vue工程:
vue init <template-name> <project-name>
接下來vue-cli就會(huì)按照這個(gè) <template-name>模板內(nèi)部的設(shè)置,拋出幾個(gè)問答選項(xiàng)。在回答完問答選項(xiàng)以后,我們的vue工程目錄就已經(jīng)生成好了,接下來只要把依賴安裝完,直接就可以跑起來,是不是非常方便呢?
接下來,我們就要看看,這一條命令的背后,究竟發(fā)生了一些什么事。
vue-cli初始化項(xiàng)目的原理
從官方文檔可以知道,vue-cli使用了download-git-repo這個(gè)工具去下載遠(yuǎn)端git倉(cāng)庫里面的工程,如果加上了 --clone參數(shù),則會(huì)在內(nèi)部運(yùn)行 git clone,通過克隆的方式把遠(yuǎn)端git倉(cāng)庫拉取到本地。明白這一點(diǎn)至關(guān)重要:
vue-cli并非從無到有地憑空生成一個(gè)項(xiàng)目,而是通過下載/拉取已有的工程到本地,完成生成項(xiàng)目的工作。
而這個(gè)“已有的工程”,就是所謂的“模板(template)”。
當(dāng)然,vue-cli可不只是把模板拉取到本地這么簡(jiǎn)單,它還允許我們通過問答的形式對(duì)模板進(jìn)行個(gè)性化配置,這個(gè)又是如何做到的呢?
vue-cli使用了inquirer.js實(shí)現(xiàn)了“問答環(huán)節(jié)”,簡(jiǎn)單來說是這樣子的:
// 準(zhǔn)備幾個(gè)問題
constquestions = [
{
type: 'input',
name: 'name',
message: 'What's your name?'
},
{
type: 'input',
name: 'age',
message: 'How old are you?',
}
]
然后把這段問題傳給inquirer.js就可以了:
inquirer.prompt(questions).then(({ name, age }) => {
console.log(`Myname is ${name}, and I'm ${age} years old`)
})
在運(yùn)行的時(shí)候,vue-cli會(huì)在命令行里面把 What's your name?和 Howold are you?這兩個(gè)問題相繼拋出,獲取用戶輸入,把輸入賦值給 name和 age變量,這樣就能夠獲取用戶的輸入信息了。接著我們引出下一個(gè)問題,這些用戶輸入,是如何跟模板的自定義關(guān)聯(lián)起來的呢?
我們打開一個(gè)vue-cli的模板,比如webpack-simple里面的README.md,它長(zhǎng)這樣:
# {{ name }}
> {{ deion }}
上面使用雙括號(hào)包裹起來的,最終會(huì)根據(jù)用戶的輸入而更改為具體的內(nèi)容。是不是覺得這種寫法很熟悉?其實(shí)就是Handlebars的模板語法。
以這個(gè)README.md文件為例,在vue-cli運(yùn)行的過程中,會(huì)首先讀取文件的內(nèi)容放在內(nèi)存,然后通過 inquirer.js獲取用戶輸入,把輸入的值替換到文件內(nèi)容里面,最后通過另外一個(gè)名叫Metalsmith的工具,把替換好的內(nèi)容輸出為文件,也就生成了具有個(gè)性化內(nèi)容的README.md文件了。
整個(gè)流程并不復(fù)雜,在明白這些原理后,我們就能更深入地使用vue-cli了。
Java與Java,Vue-cli與Vue
雖然這么類比不太準(zhǔn)確,但我想大家也應(yīng)該能明白我的意思。
簡(jiǎn)單來說,就是vue-cli不僅僅能初始化vue工程,理論上能夠初始化一切工程,包括react,angular等等等等,只要你有一份能夠運(yùn)行的模板,就能夠通過vue-cli進(jìn)行工程的初始化。
在討論區(qū)有許多類似的問題:
“vue-cli當(dāng)中如何配置sass?”
“vue-cli中如何修改devServer的端口?”
“vue-cli中發(fā)現(xiàn)項(xiàng)目跑不起來”
……
vue-cli說:“這鍋我不背。”
是的,所遇到的問題都不是vue-cli的問題,而是相關(guān)模板的問題。那么應(yīng)該如何寫一份合格的模板呢?下面我們一起來研究一下。
寫一份vue-cli模板
參考官方文檔,也許還是不能理解到底應(yīng)該怎么寫,那么我們可以直接參考官方例子webpack-simple,看看它到底是怎么寫的。
首先可以看到目錄結(jié)構(gòu):

著實(shí)是非常簡(jiǎn)單,其中 meta.json就是向用戶拋出的問答題, /template目錄則是真正的模板內(nèi)容。首先我們來看看 meta.json都寫了些啥:
{
"prompts": {
"name": {
"type": "string",
"required": true,
"label": "Project name"
},
"deion": {
"type": "string",
"required": true,
"label": "Project deion",
"default": "A Vue.js project"
},
"author": {
"type": "string",
"label": "Author"
},
"sass": {
"type": "confirm",
"message": "Use sass?",
"default": false
}
},
"completeMessage": "{{#inPlace}}To get started:nn npm installn npm run dev.{{else}}To get started:nn cd {{destDirName}}n npm installn npm run dev.{{/inPlace}}"
}
可以看到,它一共向用戶提了4個(gè)問題:
Project name
Project deion
Author
Use sass?
接著,我們打開 /template目錄,看看它長(zhǎng)什么樣:

這就是終將被生成的工程目錄。打開里面的 package.json:
{
"name": "{{ name }}",
"deion": "{{ deion }}",
"version": "1.0.0",
"author": "{{ author }}",
"private": true,
"s": {
"dev": "cross-env NODE_ENV=development webpack-dev-server --open --hot",
"build": "cross-env NODE_ENV=production webpack --progress --hide-modules"
},
"dependencies": {
"vue": "^2.4.4"
},
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-preset-env": "^1.6.0",
"cross-env": "^5.0.5",
"css-loader": "^0.28.7",
"file-loader": "^1.1.4",
{{#sass}}
"node-sass": "^4.5.3",
"sass-loader": "^6.0.6",
{{/sass}}
"vue-loader": "^13.0.5",
"vue-template-compiler": "^2.4.4",
"webpack": "^3.6.0",
"webpack-dev-server": "^2.9.1"
}
}
結(jié)合前文原理里面的內(nèi)容,也不難理解這個(gè) package.json里面雙括號(hào)的含義了。
看到這里,是不是已經(jīng)躍躍欲試,想要寫一份屬于自己的模板呢?又或者想要打造一款屬于自己的命令行腳手架工具?原理都是很簡(jiǎn)單的,只要按照想法一步步實(shí)現(xiàn)即可。
后記
《教你從零開始搭建一款前端腳手架工具》
好用的項(xiàng)目初始化工具SCION升級(jí)啦!
但是發(fā)現(xiàn)仍然有許多同學(xué)對(duì)于vue-cli的理解有些偏差,于是寫下這篇文章,聊一聊自己的理解。
vue組件開發(fā)練習(xí)--焦點(diǎn)圖切換
一套Vue的單頁模板:N3-admin
vuejs開發(fā)H5頁面總結(jié)
Webpack 3,從入門到放棄
輕松入門React和Webpack
主要內(nèi)容
從一個(gè)簡(jiǎn)單的例子認(rèn)識(shí)webpack
入口文件和輸出文件
認(rèn)識(shí)webpack-loader和webpack-plugin
打包后路徑的相關(guān)問題
webpack-dev-server配置介紹
三文件配置方案
優(yōu)化webpack的打包性能
學(xué)習(xí)寫一個(gè)vue-loader
學(xué)習(xí)寫一個(gè)vue-plugin
這里先給出一個(gè)簡(jiǎn)單示例說利用Oracle Text實(shí)現(xiàn)全文檢索的方法與步驟,在后面在進(jìn)行具體的說明。Orcale9i提供了Oracle Text Manager可以簡(jiǎn)化許多工作,所有在Oracle Text Manager中完成的工作,都可以在通過PL/SQL來實(shí)現(xiàn)。要使用Oracle Text,必須具有CTXAPP角色或者是CTXSYS用戶。Oracle Text為系統(tǒng)管理員提供CTXSYS用戶,為應(yīng)用程序開發(fā)人員提供CTXAPP角色。
CTXSYS用戶可執(zhí)行以下任務(wù):啟動(dòng)Oracle Text服務(wù)器,執(zhí)行CTXAPP角色的所有任務(wù)。
具有CTXAPP角色的用戶可執(zhí)行以下任務(wù):創(chuàng)建索引,管理 Oracle Text 數(shù)據(jù)字典,包括創(chuàng)建和刪除首選項(xiàng),進(jìn)行Oracle Text 查詢,使用 Oracle Text PL/SQL程序包。
使用Oracle Text的步驟:
⑴創(chuàng)建表來保存某些文檔。該示例使用一個(gè)主關(guān)鍵字列來標(biāo)識(shí)每個(gè)文檔,使用一個(gè)小的VARCHAR2列來保存每個(gè)文檔。
CREATE TABLE docs (id NUMBER PRIMARY KEY,text VARCHAR2(80));
⑵將兩個(gè)示例文檔置入該表:
INSERT INTO docs VALUES (1,'the first doc');
INSERT INTO docs VALUES (2,'the second doc');
COMMIT;
⑶使用Oracle Text Manager來創(chuàng)建和修改首選項(xiàng),首選項(xiàng)將與索引相關(guān)聯(lián)。
⑷使用Oracle Text Manager創(chuàng)建文本索引。另外,可以輸入以下使用默認(rèn)首選項(xiàng)的 SQL 語句:
CREATE INDEX doc_index ON docs(text) INDEXTYPE IS CTXSYS.CONTEXT;
⑸使用 CONTAINS 函數(shù),發(fā)出基于內(nèi)容的文檔查詢。例如:
SELECT id FROM docs WHERE CONTAINS (text,'first') > 0;
這將在文本列包含單詞 first (即文檔1) 的 docs 中查找所有行。語句中的>0部分是有效的Oracle SQL所必需的,Oracle SQL不支持函數(shù)的布爾返回值。
以上只是一個(gè)簡(jiǎn)單的示例,旨在給出使用Oracle Text建立全文索引的完整步驟,歸納起來如下:
⑴建表并裝載文本(包含帶有需要檢索的文本字段)
⑵配置索引
⑶建立索引
⑷發(fā)出查詢
⑸索引維護(hù):同步與優(yōu)化(將在后面介紹)
Oracle一直致力于全文檢索技術(shù)的研究,當(dāng)Oracle9i Rlease2發(fā)布之時(shí),Oracle數(shù)據(jù)庫的全文檢索技術(shù)已經(jīng)非常完美,Oracle Text使Oracle9i具備了強(qiáng)大的文本檢索能力和智能化的文本管理能力。Oracle Text是Oracle9i采用的新名稱,在Oracle8/8i中它被稱作Oracle interMedia Text,在Oracle8以前它的名稱是Oracle ConText Cartridge。使用Oracle9i和Oracle Text,可以方便而有效地利用標(biāo)準(zhǔn)的SQL工具來構(gòu)建基于文本的新的開發(fā)工具或?qū)ΜF(xiàn)有應(yīng)用程序進(jìn)行擴(kuò)展。應(yīng)用程序開發(fā)人員可以在任何使用文本的Oracle數(shù)據(jù)庫應(yīng)用程序中充分利用Oracle Text搜索,應(yīng)用范圍可以是現(xiàn)有應(yīng)用程序中可搜索的注釋字段,也可是實(shí)現(xiàn)涉及多種文檔格式和復(fù)雜搜索標(biāo)準(zhǔn)的大型文檔管理系統(tǒng)。Oracle Text支持Oracle數(shù)據(jù)庫所支持的大多數(shù)語言的基本全文搜索功能。本文將介紹如何使用Oracle9i的全文檢索技術(shù)來為自己的應(yīng)用提供一個(gè)優(yōu)秀的解決方案。