《深入解析Oracle:數(shù)據(jù)庫(kù)的初始化》圍繞"數(shù)據(jù)庫(kù)的初始化"這個(gè)主題展開(kāi),詳細(xì)介紹了數(shù)據(jù)庫(kù)的創(chuàng)建、使用模板創(chuàng)建數(shù)據(jù)庫(kù)、插接式數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)的啟動(dòng)和關(guān)閉、參數(shù)及參數(shù)文件、控制文件與數(shù)據(jù)庫(kù)初始化、控制文件與啟動(dòng)校驗(yàn)、數(shù)據(jù)字典等內(nèi)容,不但兼顧了Oracle 10g、11g版本的功能,還為讀者揭秘了剛剛發(fā)布的Oracle 12c的最新技術(shù)。 《深入解析Oracle:數(shù)據(jù)庫(kù)的初始化》給出了大量取自實(shí)際工作現(xiàn)場(chǎng)的實(shí)例,在分析實(shí)例的過(guò)程中,兼顧深度與廣度,不僅對(duì)實(shí)際問(wèn)題的現(xiàn)象、產(chǎn)生原因和相關(guān)原理進(jìn)行了深入淺出的講解,更主要的是,結(jié)合實(shí)際應(yīng)用環(huán)境,提供了一系列解決問(wèn)題的思路和方法,包括詳細(xì)的操作步驟,具有很強(qiáng)的實(shí)戰(zhàn)性和可操作性,適用于具備一定數(shù)據(jù)庫(kù)基礎(chǔ)、打算深入學(xué)習(xí)Oracle技術(shù)的數(shù)據(jù)庫(kù)從業(yè)人員,尤其適用于入門(mén)、進(jìn)階以及希望深入研究Oracle技術(shù)的數(shù)據(jù)庫(kù)管理人員。
目 錄
第1章 Oracle數(shù)據(jù)庫(kù)的創(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ù)庫(kù) 8
1.2.1 DBCA的啟動(dòng) 8
1.2.2 模板選擇及EM選項(xiàng) 10
1.2.3 數(shù)據(jù)庫(kù)安全與口令 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ù)庫(kù)創(chuàng)建的腳本 25
1.3.1 數(shù)據(jù)庫(kù)創(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ù)庫(kù)創(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ù)庫(kù) 52
2.1 數(shù)據(jù)庫(kù)創(chuàng)建模板 53
2.2 DBMS_BACKUP_RESTORE包的使用 54
2.3 克隆數(shù)據(jù)庫(kù) 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ù)庫(kù)的導(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 用戶(hù)的鎖定 96
2.10 最后的腳本 97
2.11 Oracle 12c引入EM express簡(jiǎn)化版本 98
2.12 systemstate轉(zhuǎn)儲(chǔ)案例分析一則 101
第3章 插接式數(shù)據(jù)庫(kù) 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)建和訪問(wèn) 118
3.6 由現(xiàn)有PDB創(chuàng)建新的PDB 123
3.7 PDB的使用與維護(hù) 126
3.8 種子數(shù)據(jù)庫(kù)的隱藏和保護(hù) 129
3.9 CDB與PDB的起停管理 130
3.10 COMMON和Local用戶(hù) 133
3.11 COMMON和Local用戶(hù)的內(nèi)部隔離 142
3.12 將Non-PDB插入CDB 146
3.13 UNPLUG數(shù)據(jù)庫(kù) 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ù)庫(kù)的啟動(dòng)和關(guān)閉 176
4.1 數(shù)據(jù)庫(kù)的啟動(dòng) 176
4.1.1 啟動(dòng)數(shù)據(jù)庫(kù)到NOMOUNT狀態(tài) 177
4.1.2 啟動(dòng)數(shù)據(jù)庫(kù)到MOUNT狀態(tài) 202
4.1.3 啟動(dòng)數(shù)據(jù)庫(kù)OPEN階段 209
4.2 數(shù)據(jù)庫(kù)的訪問(wèn) 220
4.2.1 客戶(hù)端的TNSNAMES.ORA文件配置 221
4.2.2 服務(wù)器端的監(jiān)聽(tīng)器文件listener.ora配置 223
4.2.3 通過(guò)不同服務(wù)器名對(duì)數(shù)據(jù)庫(kù)的訪問(wèn) 225
4.2.4 動(dòng)態(tài)監(jiān)聽(tīng)器注冊(cè)服務(wù) 226
4.2.5 簡(jiǎn)捷的Easy Connect方式 230
4.3 數(shù)據(jù)庫(kù)的關(guān)閉 231
4.3.1 數(shù)據(jù)庫(kù)關(guān)閉的步驟 231
4.3.2 幾種關(guān)閉方式的對(duì)比 233
4.3.3 數(shù)據(jù)庫(kù)關(guān)閉的診斷案例一則 235
第5章 參數(shù)及參數(shù)文件 238
5.1 初始化參數(shù)的分類(lèi) 238
5.1.1 推導(dǎo)參數(shù)(Derived Parameters) 238
5.1.2 操作系統(tǒng)依賴(lài)參數(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ù)庫(kù) 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ù)庫(kù) 277
5.4.3 檢查數(shù)據(jù)文件 277
5.4.4 MOUNT數(shù)據(jù)庫(kù),檢查系統(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ù)庫(kù) 280
5.5 RAC環(huán)境參數(shù)文件診斷案例 280
5.5.1 數(shù)據(jù)庫(kù)資源異常 280
5.5.2 問(wèn)題的發(fā)現(xiàn) 281
5.5.3 參數(shù)文件問(wèn)題的解決 282
5.6 RAC環(huán)境參數(shù)文件案例兩則 283
5.6.1 修改參數(shù)引起的掛起 283
5.6.2 參數(shù)疊加帶來(lái)的冗余 283
第6章 控制文件與數(shù)據(jù)庫(kù)初始化 285
6.1 控制文件的內(nèi)容 285
6.2 Oracle 12c中控制文件的變化 288
6.3 SCN的說(shuō)明 290
6.3.1 SCN的定義 290
6.3.2 SCN的獲取方式 292
6.3.3 SCN的進(jìn)一步說(shuō)明 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ù)庫(kù)的啟動(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ù)庫(kù)的狀況 322
6.4.12 數(shù)據(jù)庫(kù)異常關(guān)閉的情況 323
6.4.13 數(shù)據(jù)庫(kù)并行恢復(fù)案例一則 327
6.4.14 判斷一個(gè)死事務(wù)的恢復(fù)進(jìn)度 330
6.5 數(shù)據(jù)庫(kù)的初始化 331
6.5.1 bootstrap$及數(shù)據(jù)庫(kù)初始化過(guò)程 331
6.5.2 bootstrap$的定位 334
6.5.3 Oracle數(shù)據(jù)庫(kù)中的Cache對(duì)象 335
6.5.4 Oracle數(shù)據(jù)庫(kù)的引導(dǎo) 336
6.5.5 數(shù)據(jù)庫(kù)引導(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 來(lái)龍去脈--表空間創(chuàng)建 360
7.5 Drop Tablespace Internal 366
7.6 ORA-600 4348錯(cuò)誤的成因 376
7.7 一致性損壞的顯示錯(cuò)誤 385
7.8 實(shí)際的處理過(guò)程 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ù)字典視圖的分類(lèi) 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)一步的說(shuō)明 417
8.7.4 動(dòng)態(tài)性能視圖與數(shù)據(jù)庫(kù)啟動(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如何通過(guò)同義詞定位對(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
一套正版的oracle數(shù)據(jù)庫(kù)大概多少錢(qián)?
一般是按照 版本/CPU數(shù)/用戶(hù)數(shù) 來(lái)進(jìn)行授權(quán)的。幾萬(wàn)到幾十萬(wàn)不等,具體價(jià)格要聯(lián)系經(jīng)銷(xiāo)商。這里的價(jià)格供參考:http://product.pcpop.com/data_base/
oracle數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)版價(jià)格現(xiàn)在是多少
一般是按照 版本/CPU數(shù)/用戶(hù)數(shù) 來(lái)進(jìn)行授權(quán)的。幾萬(wàn)到幾十萬(wàn)不等,具體價(jià)格要聯(lián)系經(jīng)銷(xiāo)商。
咨詢(xún) 支持Java web端針對(duì)用戶(hù)的自定義報(bào)表工具 數(shù)據(jù)庫(kù)為Oracle 謝謝
Jaspersoft ---- > ireport
格式:pdf
大?。?span id="qxyampw" class="single-tag-height">162KB
頁(yè)數(shù): 2頁(yè)
評(píng)分: 4.5
該文闡述了ORACLE數(shù)據(jù)庫(kù)的特點(diǎn)及其訪問(wèn)方式,并介紹了ORACLE數(shù)據(jù)庫(kù)及其所帶的Form,Reports在開(kāi)發(fā)大H型鋼軋線二級(jí)系統(tǒng)中的應(yīng)用。
格式:pdf
大?。?span id="gjl0wjr" class="single-tag-height">162KB
頁(yè)數(shù): 1頁(yè)
評(píng)分: 4.5
隨著全球信息技術(shù)的不斷快速發(fā)展,在社會(huì)中的到廣泛應(yīng)用的就是軟件系統(tǒng),這些軟件系統(tǒng)都是基于數(shù)據(jù)庫(kù)系統(tǒng)所研制出的.軟件系統(tǒng)在不同的領(lǐng)域中會(huì)有不同的關(guān)鍵系統(tǒng),如果系統(tǒng)出現(xiàn)問(wèn)題,嚴(yán)重就會(huì)給企業(yè)帶來(lái)巨大的經(jīng)濟(jì)損失.軟件的健壯性是衡量軟件質(zhì)量的重要指標(biāo),軟件在異常輸入以及異常情況中,系統(tǒng)就會(huì)發(fā)生一系列的健壯性問(wèn)題.
相信對(duì)于大部分使用過(guò)VueJS的同學(xué)來(lái)說(shuō), vue-cli是他們非常熟悉的一個(gè)工具。借助 vue-cli,我們通過(guò)非常簡(jiǎn)單的問(wèn)答形式,方便地初始化一個(gè)vue工程,完全不需要擔(dān)心繁復(fù)的webpack、eslint配置等等。
但是,仍然有許多同學(xué)沒(méi)有搞清楚 vue-cli和 vue工程之間的關(guān)系,導(dǎo)致沒(méi)有充分發(fā)揮 vue-cli的功能。在這篇文章中,我將從底層原理開(kāi)始并結(jié)合幾個(gè)例子,告訴大家 vue-cli還能這樣用。
什么是vue-cli
引用vue-cli官方文檔的一句話:
A simple CLI for scaffolding Vue.js projects.一個(gè)簡(jiǎn)單的Vue.js工程命令行腳手架工具。
在全局安裝vue-cli之后,就可以通過(guò)一條命令初始化我們的vue工程:
vue init <template-name> <project-name>
接下來(lái)vue-cli就會(huì)按照這個(gè) <template-name>模板內(nèi)部的設(shè)置,拋出幾個(gè)問(wèn)答選項(xiàng)。在回答完問(wèn)答選項(xiàng)以后,我們的vue工程目錄就已經(jīng)生成好了,接下來(lái)只要把依賴(lài)安裝完,直接就可以跑起來(lái),是不是非常方便呢?
接下來(lái),我們就要看看,這一條命令的背后,究竟發(fā)生了一些什么事。
vue-cli初始化項(xiàng)目的原理
從官方文檔可以知道,vue-cli使用了download-git-repo這個(gè)工具去下載遠(yuǎn)端git倉(cāng)庫(kù)里面的工程,如果加上了 --clone參數(shù),則會(huì)在內(nèi)部運(yùn)行 git clone,通過(guò)克隆的方式把遠(yuǎn)端git倉(cāng)庫(kù)拉取到本地。明白這一點(diǎn)至關(guān)重要:
vue-cli并非從無(wú)到有地憑空生成一個(gè)項(xiàng)目,而是通過(guò)下載/拉取已有的工程到本地,完成生成項(xiàng)目的工作。
而這個(gè)“已有的工程”,就是所謂的“模板(template)”。
當(dāng)然,vue-cli可不只是把模板拉取到本地這么簡(jiǎn)單,它還允許我們通過(guò)問(wèn)答的形式對(duì)模板進(jìn)行個(gè)性化配置,這個(gè)又是如何做到的呢?
vue-cli使用了inquirer.js實(shí)現(xiàn)了“問(wèn)答環(huán)節(jié)”,簡(jiǎn)單來(lái)說(shuō)是這樣子的:
// 準(zhǔn)備幾個(gè)問(wèn)題
constquestions = [
{
type: 'input',
name: 'name',
message: 'What's your name?'
},
{
type: 'input',
name: 'age',
message: 'How old are you?',
}
]
然后把這段問(wèn)題傳給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è)問(wèn)題相繼拋出,獲取用戶(hù)輸入,把輸入賦值給 name和 age變量,這樣就能夠獲取用戶(hù)的輸入信息了。接著我們引出下一個(gè)問(wèn)題,這些用戶(hù)輸入,是如何跟模板的自定義關(guān)聯(lián)起來(lái)的呢?
我們打開(kāi)一個(gè)vue-cli的模板,比如webpack-simple里面的README.md,它長(zhǎng)這樣:
# {{ name }}
> {{ deion }}
上面使用雙括號(hào)包裹起來(lái)的,最終會(huì)根據(jù)用戶(hù)的輸入而更改為具體的內(nèi)容。是不是覺(jué)得這種寫(xiě)法很熟悉?其實(shí)就是Handlebars的模板語(yǔ)法。
以這個(gè)README.md文件為例,在vue-cli運(yùn)行的過(guò)程中,會(huì)首先讀取文件的內(nèi)容放在內(nèi)存,然后通過(guò) inquirer.js獲取用戶(hù)輸入,把輸入的值替換到文件內(nèi)容里面,最后通過(guò)另外一個(gè)名叫Metalsmith的工具,把替換好的內(nèi)容輸出為文件,也就生成了具有個(gè)性化內(nèi)容的README.md文件了。
整個(gè)流程并不復(fù)雜,在明白這些原理后,我們就能更深入地使用vue-cli了。
Java與Java,Vue-cli與Vue
雖然這么類(lèi)比不太準(zhǔn)確,但我想大家也應(yīng)該能明白我的意思。
簡(jiǎn)單來(lái)說(shuō),就是vue-cli不僅僅能初始化vue工程,理論上能夠初始化一切工程,包括react,angular等等等等,只要你有一份能夠運(yùn)行的模板,就能夠通過(guò)vue-cli進(jìn)行工程的初始化。
在討論區(qū)有許多類(lèi)似的問(wèn)題:
“vue-cli當(dāng)中如何配置sass?”
“vue-cli中如何修改devServer的端口?”
“vue-cli中發(fā)現(xiàn)項(xiàng)目跑不起來(lái)”
……
vue-cli說(shuō):“這鍋我不背。”
是的,所遇到的問(wèn)題都不是vue-cli的問(wèn)題,而是相關(guān)模板的問(wèn)題。那么應(yīng)該如何寫(xiě)一份合格的模板呢?下面我們一起來(lái)研究一下。
寫(xiě)一份vue-cli模板
參考官方文檔,也許還是不能理解到底應(yīng)該怎么寫(xiě),那么我們可以直接參考官方例子webpack-simple,看看它到底是怎么寫(xiě)的。
首先可以看到目錄結(jié)構(gòu):
著實(shí)是非常簡(jiǎn)單,其中 meta.json就是向用戶(hù)拋出的問(wèn)答題, /template目錄則是真正的模板內(nèi)容。首先我們來(lái)看看 meta.json都寫(xiě)了些啥:
{
"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}}"
}
可以看到,它一共向用戶(hù)提了4個(gè)問(wèn)題:
Project name
Project deion
Author
Use sass?
接著,我們打開(kāi) /template目錄,看看它長(zhǎng)什么樣:
這就是終將被生成的工程目錄。打開(kāi)里面的 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)躍躍欲試,想要寫(xiě)一份屬于自己的模板呢?又或者想要打造一款屬于自己的命令行腳手架工具?原理都是很簡(jiǎn)單的,只要按照想法一步步實(shí)現(xiàn)即可。
后記
《教你從零開(kāi)始搭建一款前端腳手架工具》
好用的項(xiàng)目初始化工具SCION升級(jí)啦!
但是發(fā)現(xiàn)仍然有許多同學(xué)對(duì)于vue-cli的理解有些偏差,于是寫(xiě)下這篇文章,聊一聊自己的理解。
vue組件開(kāi)發(fā)練習(xí)--焦點(diǎn)圖切換
一套Vue的單頁(yè)模板:N3-admin
vuejs開(kāi)發(fā)H5頁(yè)面總結(jié)
Webpack 3,從入門(mén)到放棄
輕松入門(mén)React和Webpack
主要內(nèi)容
從一個(gè)簡(jiǎn)單的例子認(rèn)識(shí)webpack
入口文件和輸出文件
認(rèn)識(shí)webpack-loader和webpack-plugin
打包后路徑的相關(guān)問(wèn)題
webpack-dev-server配置介紹
三文件配置方案
優(yōu)化webpack的打包性能
學(xué)習(xí)寫(xiě)一個(gè)vue-loader
學(xué)習(xí)寫(xiě)一個(gè)vue-plugin
這里先給出一個(gè)簡(jiǎn)單示例說(shuō)利用Oracle Text實(shí)現(xiàn)全文檢索的方法與步驟,在后面在進(jìn)行具體的說(shuō)明。Orcale9i提供了Oracle Text Manager可以簡(jiǎn)化許多工作,所有在Oracle Text Manager中完成的工作,都可以在通過(guò)PL/SQL來(lái)實(shí)現(xiàn)。要使用Oracle Text,必須具有CTXAPP角色或者是CTXSYS用戶(hù)。Oracle Text為系統(tǒng)管理員提供CTXSYS用戶(hù),為應(yīng)用程序開(kāi)發(fā)人員提供CTXAPP角色。
CTXSYS用戶(hù)可執(zhí)行以下任務(wù):啟動(dòng)Oracle Text服務(wù)器,執(zhí)行CTXAPP角色的所有任務(wù)。
具有CTXAPP角色的用戶(hù)可執(zhí)行以下任務(wù):創(chuàng)建索引,管理 Oracle Text 數(shù)據(jù)字典,包括創(chuàng)建和刪除首選項(xiàng),進(jìn)行Oracle Text 查詢(xún),使用 Oracle Text PL/SQL程序包。
使用Oracle Text的步驟:
⑴創(chuàng)建表來(lái)保存某些文檔。該示例使用一個(gè)主關(guān)鍵字列來(lái)標(biāo)識(shí)每個(gè)文檔,使用一個(gè)小的VARCHAR2列來(lái)保存每個(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來(lái)創(chuàng)建和修改首選項(xiàng),首選項(xiàng)將與索引相關(guān)聯(lián)。
⑷使用Oracle Text Manager創(chuàng)建文本索引。另外,可以輸入以下使用默認(rèn)首選項(xiàng)的 SQL 語(yǔ)句:
CREATE INDEX doc_index ON docs(text) INDEXTYPE IS CTXSYS.CONTEXT;
⑸使用 CONTAINS 函數(shù),發(fā)出基于內(nèi)容的文檔查詢(xún)。例如:
SELECT id FROM docs WHERE CONTAINS (text,'first') > 0;
這將在文本列包含單詞 first (即文檔1) 的 docs 中查找所有行。語(yǔ)句中的>0部分是有效的Oracle SQL所必需的,Oracle SQL不支持函數(shù)的布爾返回值。
以上只是一個(gè)簡(jiǎn)單的示例,旨在給出使用Oracle Text建立全文索引的完整步驟,歸納起來(lái)如下:
⑴建表并裝載文本(包含帶有需要檢索的文本字段)
⑵配置索引
⑶建立索引
⑷發(fā)出查詢(xún)
⑸索引維護(hù):同步與優(yōu)化(將在后面介紹)
Oracle一直致力于全文檢索技術(shù)的研究,當(dāng)Oracle9i Rlease2發(fā)布之時(shí),Oracle數(shù)據(jù)庫(kù)的全文檢索技術(shù)已經(jīng)非常完美,Oracle Text使Oracle9i具備了強(qiáng)大的文本檢索能力和智能化的文本管理能力。Oracle Text是Oracle9i采用的新名稱(chēng),在Oracle8/8i中它被稱(chēng)作Oracle interMedia Text,在Oracle8以前它的名稱(chēng)是Oracle ConText Cartridge。使用Oracle9i和Oracle Text,可以方便而有效地利用標(biāo)準(zhǔn)的SQL工具來(lái)構(gòu)建基于文本的新的開(kāi)發(fā)工具或?qū)ΜF(xiàn)有應(yīng)用程序進(jìn)行擴(kuò)展。應(yīng)用程序開(kāi)發(fā)人員可以在任何使用文本的Oracle數(shù)據(jù)庫(kù)應(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ù)庫(kù)所支持的大多數(shù)語(yǔ)言的基本全文搜索功能。本文將介紹如何使用Oracle9i的全文檢索技術(shù)來(lái)為自己的應(yīng)用提供一個(gè)優(yōu)秀的解決方案。