真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語(yǔ)言統(tǒng)計(jì)圖書函數(shù),C語(yǔ)言統(tǒng)計(jì)函數(shù)

如何學(xué)習(xí)Oracle

這是一位大師的講oracle時(shí)的第一節(jié)課的課件,專門講如何學(xué)習(xí)oracle

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),余姚企業(yè)網(wǎng)站建設(shè),余姚品牌網(wǎng)站建設(shè),網(wǎng)站定制,余姚網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,余姚網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

一、目前學(xué)習(xí)Oracle的兩派人--------1.只是操作,2.學(xué)習(xí)理論深入了解

二、Oracle的重要性

三、學(xué)習(xí)前提

學(xué)習(xí)Oracle的前提是:熟悉Linux操作系統(tǒng)、Unix操作系統(tǒng)、存儲(chǔ)、帶庫(kù)。主要是管理和操作系統(tǒng)原理

四、學(xué)習(xí)方法

1、sql、pl/sql(網(wǎng)上有很多的視頻,可以做一個(gè)簡(jiǎn)單的入手,然后看幾本書,多做實(shí)驗(yàn))

作為oracle的基本功,需要大家對(duì)sql和plsql非常的熟悉。特別是sql里面的多表連接、子查詢、各種新版本的函數(shù),以及plsql里面的所有語(yǔ)法。建議大家拿出足夠的時(shí)間來(lái)研究這兩塊。不要認(rèn)為這是開(kāi)發(fā)人員的工作,他也是DBA的重要工作,而且對(duì)DBA的要求更高,你不但能看懂,還要能夠找出問(wèn)題。學(xué)些這方面知識(shí)的要點(diǎn)就是:多練、多思考,多測(cè)試。

2、Oracle管理(體系結(jié)構(gòu))(這一塊一定要聽(tīng)課,而且是要聽(tīng)“大師”的課、多討論)

這是Oracle的難點(diǎn),Orcle技術(shù)博大精深,主要的難點(diǎn)就集中在這里面。包括Oracle的存儲(chǔ)管理、對(duì)象管理、內(nèi)存和進(jìn)程、undo管理、初始化參數(shù)、數(shù)據(jù)字典視圖、安全、latch和lock、權(quán)限和角色、資源調(diào)度、閃回、日志原理等。

學(xué)習(xí)這一塊知識(shí)的時(shí)候,一個(gè)重點(diǎn)是:要知道原理和“根”,知道表面的東西沒(méi)有任何意義。

知道原理以后,通過(guò)實(shí)驗(yàn)去證明,將原理總結(jié)出來(lái)。

這一塊學(xué)習(xí)的好還是不好,直接決定了以后的一個(gè)備份恢復(fù)、優(yōu)化、排錯(cuò)。

這一塊雖然是研究管理,但是更加注重原理和體系結(jié)構(gòu)的分析和解剖。

應(yīng)該叫做“深入剖析Oracle體系結(jié)構(gòu)”,多深都需要。

在這一部分的學(xué)習(xí)中,已經(jīng)學(xué)習(xí)了很多優(yōu)化的內(nèi)容,在學(xué)習(xí)任何一個(gè)知識(shí)點(diǎn)的時(shí)候,我們都離不開(kāi)對(duì)性能的分析。

3、備份恢復(fù)(聽(tīng)聽(tīng)課、看幾本書,多做做實(shí)驗(yàn)、多討論)

有了第二部分的鋪墊,這一章的學(xué)習(xí)相對(duì)有意思,前提是我們對(duì)Oracle的日志原理研究得較深,對(duì)oracle的內(nèi)存和進(jìn)程研究得較深。策劃一個(gè)完美和正確的備份計(jì)劃和實(shí)施方案(具體要分析出原理),實(shí)施備份;對(duì)各種損壞進(jìn)行恢復(fù)(還是要能夠夠分析出原理);另外可以做一些高難度的恢復(fù)實(shí)驗(yàn)(還是老話、要能夠分析出原理)。

4、優(yōu)化(單實(shí)例優(yōu)化)(還是要聽(tīng)課,最好聽(tīng)一些專題性的,深入講解的專家課,還是要看一些經(jīng)典的書籍,特別是英文書)

這一塊完全是第一部分和第二部分的一個(gè)結(jié)合。這一塊的學(xué)習(xí)沒(méi)有最深,只有更深,學(xué)習(xí)方法和第二部分類似。

首先需要大家掌握一些Oracle的優(yōu)化方面的基礎(chǔ)知識(shí),例如深入分析索引原理、分區(qū)、等待事件、時(shí)間統(tǒng)計(jì)模型、動(dòng)態(tài)性能視圖、操作系統(tǒng)的一些性能優(yōu)化和查看命令,例如:top、iostat、vmstat、sar、pmap、prstat、filemon、nmon、svmon等。

最關(guān)鍵的還是要做三件事情:Oracle的動(dòng)態(tài)性能視圖、Oracle的報(bào)告(trace、statspack、awr、addm、ash)、執(zhí)行計(jì)劃;對(duì)這三塊要熟悉和分析出來(lái)。這個(gè)部分的分析和動(dòng)手實(shí)驗(yàn)很重要。

5、RAC(可以聽(tīng)聽(tīng)課,有了前面的基礎(chǔ)以后,基本上自己就能看懂書了,因此,可以看書,也可以聽(tīng)一些專題課)

現(xiàn)在RAC的使用越來(lái)越多,學(xué)習(xí)RAC的重點(diǎn)還是:基礎(chǔ)原理+RAC優(yōu)化。

RAC系統(tǒng)的優(yōu)化分為兩個(gè)步驟:RAC系統(tǒng)優(yōu)化和單實(shí)例優(yōu)化;根據(jù)RAC的基礎(chǔ)原理,能夠設(shè)計(jì)高性能的RAC系統(tǒng),能夠分析RAC性能問(wèn)題。對(duì)RAC的動(dòng)態(tài)性能視圖、等待事件、報(bào)告,能夠看懂和分析。

6、GC、DG、Stream、Gold Gate等

對(duì)于這些工具和組件,我們熟悉其體系結(jié)構(gòu),原理,一些監(jiān)控性能的工具等。

學(xué)習(xí)這些部分的幾個(gè)點(diǎn):熟悉體系結(jié)構(gòu)、原理;搭建;監(jiān)控(包括故障和性能);排錯(cuò)和優(yōu)化。

7、SQL優(yōu)化(看一本經(jīng)典的英文書籍、多做實(shí)驗(yàn)、多實(shí)踐、多分析)

為什么單獨(dú)的拿出來(lái)呢?因?yàn)檫@部分需要持之以恒的進(jìn)行研究和實(shí)驗(yàn),而且工作中幾乎是每天都要做的事情。

目前這方面,有一些比較經(jīng)典的中文書,值得大家去看看。

8、PL/SQL深度學(xué)習(xí)

在這部分學(xué)習(xí)的時(shí)候,就要時(shí)時(shí)刻刻注意性能,主要是注意測(cè)試。

9、綜合性項(xiàng)目實(shí)戰(zhàn):

模擬環(huán)境:

規(guī)劃、搭建、測(cè)試、管理、排錯(cuò)、優(yōu)化、分析

實(shí)戰(zhàn)環(huán)境:

同上

如何分析Oracle

以oracle表分析為例:

drop table test;

select count(*) from test;

--創(chuàng)建測(cè)試表

create table test

(

id number(9),

nick varchar2(30)

);

--插入測(cè)試數(shù)據(jù)

begin

for i in 1..100000 loop

insert into test(id) values(i);

end loop;

commit;

end;

select * from test;

--更新nick字段,使數(shù)據(jù)發(fā)生嚴(yán)重傾斜

update test set nick='abc' where rownum99999;

--創(chuàng)建索引

create index idx_test_nick on test(nick);

update test set nick='def' where nick is null;

--只對(duì)索引進(jìn)行分析

analyze index idx_test_nick compute statistics;

select * from user_indexes;

--查看索引名,對(duì)應(yīng)存儲(chǔ)的數(shù)據(jù)塊,不同的key數(shù)量,記錄數(shù)(行數(shù))的分析信息

select index_name, LEAF_BLOCKS, DISTINCT_KEYS, NUM_ROWS

from user_indexes

where index_name = 'IDX_TEST_NICK';

--dba_tab_col_statistics

--查看表的統(tǒng)計(jì)信息

select COLUMN_NAME, NUM_BUCKETS, num_distinct

from USER_tab_columns

where table_name = 'TEST';

select * from test where nick ='abc';

Execution Plan

----------------------------------------------------------

0 SELECT STATEMENT Optimizer=CHOOSE

1 0 TABLE ACCESS (BY INDEX ROWID) OF 'TEST'

2 1 INDEX (RANGE SCAN) OF 'IDX_TEST_NICK' (NON-UNIQUE)

select * from test where nick ='def';

Execution Plan

----------------------------------------------------------

0 SELECT STATEMENT Optimizer=CHOOSE

1 0 TABLE ACCESS (BY INDEX ROWID) OF 'TEST'

2 1 INDEX (RANGE SCAN) OF 'IDX_TEST_NICK' (NON-UNIQUE)

--由上可以看到,對(duì)索引分析之后,sql的執(zhí)行路徑都是基于規(guī)則的,索引的字段的偏移

--先根據(jù)索引找到rowid,然后再根據(jù)rowid讀取記錄,這個(gè)過(guò)程肯定比全表掃描讀取記錄要慢

--user_part_col_statistics 分區(qū)分析信息

--分析表的第二列nick

analyze table test compute statistics for columns size 2 nick;

select * from test where nick ='abc';

Execution Plan

----------------------------------------------------------

0 SELECT STATEMENT Optimizer=CHOOSE

1 0 TABLE ACCESS (BY INDEX ROWID) OF 'TEST'

2 1 INDEX (RANGE SCAN) OF 'IDX_TEST_NICK' (NON-UNIQUE)

--根據(jù)上面的執(zhí)行計(jì)劃,還是按照規(guī)則來(lái)執(zhí)行的

--分析表

analyze table test compute statistics for table;

select * from test where nick ='abc';

Execution Plan

----------------------------------------------------------

0 SELECT STATEMENT Optimizer=CHOOSE (Cost=49 Card=99998 Bytes=

1499970)

1 0 TABLE ACCESS (FULL) OF 'TEST' (Cost=49 Card=99998 Bytes=14

99970)

--分析表之后,完全按照成本來(lái)執(zhí)行

--刪除所有的統(tǒng)計(jì)數(shù)據(jù),并只對(duì)表與列進(jìn)行分析,不分析索引,

--ORACLE使用CBO的優(yōu)化器,并產(chǎn)生了正確的執(zhí)行計(jì)劃

analyze table test delete statistics;

--分析列nick

analyze table test compute statistics for table for columns size 2 nick;

select * from test where nick ='abc';

Execution Plan

----------------------------------------------------------

0 SELECT STATEMENT Optimizer=CHOOSE (Cost=49 Card=99998 Bytes=

1499970)

1 0 TABLE ACCESS (FULL) OF 'TEST' (Cost=49 Card=99998 Bytes=14

99970)

--

select * from test where nick ='def';

Execution Plan

----------------------------------------------------------

0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=2 Bytes=30)

1 0 TABLE ACCESS (BY INDEX ROWID) OF 'TEST' (Cost=2 Card=2 Byt

es=30)

2 1 INDEX (RANGE SCAN) OF 'IDX_TEST_NICK' (NON-UNIQUE) (Cost

=1 Card=2)

--創(chuàng)建TEST表ID列上的索引,但不對(duì)索引進(jìn)行分析

create index idx_test_id on test(id);

Execution Plan

----------------------------------------------------------

0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1000 Bytes=15

000)

1 0 TABLE ACCESS (BY INDEX ROWID) OF 'TEST' (Cost=2 Card=1000

Bytes=15000)

2 1 INDEX (RANGE SCAN) OF 'IDX_TEST_ID' (NON-UNIQUE) (Cost=1

Card=400)

--當(dāng)條件中即有id,又有nick時(shí),因?yàn)閚ick上有直方圖,ORACLE知道nick='abc'的值特別的多,所以不走IDX_TEST_NICK索引,走IDX_TEST_ID上的索引

select * from test where id=5 and nick='abc';

Execution Plan

----------------------------------------------------------

0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1000 Bytes=15

000)

1 0 TABLE ACCESS (BY INDEX ROWID) OF 'TEST' (Cost=2 Card=1000

Bytes=15000)

2 1 INDEX (RANGE SCAN) OF 'IDX_TEST_ID' (NON-UNIQUE) (Cost=1

Card=400)

--當(dāng)條件中即有id,又有nick時(shí),因?yàn)閚ick上有直方圖,ORACLE知道nick='def'的值特別的少,所以走IDX_TEST_NICK上的索引,不走IDX_TEST_ID索引

select * from test where id=5 and nick='def';

Execution Plan

----------------------------------------------------------

0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=15)

1 0 TABLE ACCESS (BY INDEX ROWID) OF 'TEST' (Cost=2 Card=1 Byt

es=15)

2 1 INDEX (RANGE SCAN) OF 'IDX_TEST_NICK' (NON-UNIQUE) (Cost

=1 Card=2)

select * from test where nick='def' and id=5;

Execution Plan

----------------------------------------------------------

0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=15)

1 0 TABLE ACCESS (BY INDEX ROWID) OF 'TEST' (Cost=2 Card=1 Byt

es=15)

2 1 INDEX (RANGE SCAN) OF 'IDX_TEST_NICK' (NON-UNIQUE) (Cost

=1 Card=2)

--在分析ID列后,ORACLE發(fā)現(xiàn)ID列的選擇度更高,所以不再選擇IDX_TEST_NICK索引,而是選擇IDX_TEST_ID

analyze table test compute statistics for columns size 1 id;

select * from test where id=5 and nick='def';

Execution Plan

----------------------------------------------------------

0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=7)

1 0 TABLE ACCESS (BY INDEX ROWID) OF 'TEST' (Cost=2 Card=1 Byt

es=7)

2 1 INDEX (RANGE SCAN) OF 'IDX_TEST_ID' (NON-UNIQUE) (Cost=1

Card=1)

/*

下面來(lái)看另外一種情況,我們刪除所有的統(tǒng)計(jì)數(shù)據(jù),然后在ID列上創(chuàng)建唯一索引,在此條件下,

只分析表與分析列nick,我們看到ORACLE走了正確的執(zhí)行計(jì)劃,

走了UK_TEST_ID,其實(shí)從這里也給我們帶來(lái)很多的啟示:

在主鍵與唯一鍵約束的列上是否需要直方圖的問(wèn)題?

如果在這些列上有像這樣的查詢where id 100 and id 1000,

我們還是需要有直方圖的,但除此之外,好像真的沒(méi)有直方圖的必要了!

*/

analyze table test delete statistics;

drop index idx_test_id;

create unique index uk_test_id on test(id);

--分析表的第二列nick

analyze table test compute statistics for table for columns size 2 nick;

select * from test where id=5 and nick='def';

Execution Plan

----------------------------------------------------------

0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=15)

1 0 TABLE ACCESS (BY INDEX ROWID) OF 'TEST' (Cost=2 Card=1 Byt

es=15)

2 1 INDEX (UNIQUE SCAN) OF 'UK_TEST_ID' (UNIQUE) (Cost=1 Car

d=100000)

從以上一系列的實(shí)驗(yàn)可以看出,對(duì)ORACLE的優(yōu)化器CBO來(lái)說(shuō),表的分析與列的分析才是最重要的,索引的分析次之。還有我們可以考慮我們的哪些列上需要直方圖,對(duì)于bucket的個(gè)數(shù)問(wèn)題,oracle的默認(rèn)值是75個(gè),所以根據(jù)你的應(yīng)用規(guī)則,選擇合適的桶數(shù)對(duì)性能也是有幫助的。因?yàn)椴槐匾耐暗膫€(gè)數(shù)的大量增加,必然會(huì)帶來(lái)SQL語(yǔ)句硬解析時(shí)產(chǎn)生執(zhí)行計(jì)劃的復(fù)雜度問(wèn)題。

C#中怎么創(chuàng)建oracle數(shù)據(jù)庫(kù)

好像不行,都是用命令創(chuàng)建,創(chuàng)建如下:

在Oracle中建庫(kù),通常有 兩種方法。一是使用Oracle的建庫(kù)工且DBCA,這是一個(gè)圖形界面工且,使用起來(lái)方便且很容易理解,因?yàn)樗慕缑嬗押?、美觀,而且提示也比較齊全。在 Windows系統(tǒng)中,這個(gè)工具可以在Oracle程序組中打開(kāi)(”開(kāi)始”—“程序”—“ Oracle - OraDb10g_home1”—“ Configuration and Migration Tools”—“ Database Configuration Assistant”),也可以在命令行(”開(kāi)始”—“運(yùn)行”—“cmd”)工具中直接輸入dbca來(lái)打開(kāi)。另一種方法就是手工建庫(kù),這也就是下面所要講的內(nèi)容。

手工建庫(kù)比起使用DBCA建庫(kù)來(lái)說(shuō),是比較麻煩的,但是如果我們學(xué)好了手工建庫(kù)的話,就可以使我們更好地理解Oracle數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)。手工建庫(kù)須要經(jīng)過(guò)幾個(gè)步驟,每一個(gè)步驟都非常關(guān)鍵。它包括:

1、 創(chuàng)建必要的相關(guān)目錄

2、 創(chuàng)建初始化參數(shù)文件

3、 設(shè)置環(huán)境變量Oracle_sid

4、 創(chuàng)建實(shí)例

5、 創(chuàng)建口令文件

6、 啟動(dòng)數(shù)據(jù)庫(kù)到nomount(實(shí)例)狀態(tài)

7、 執(zhí)行建庫(kù)腳本

8、 執(zhí)行catalog腳步本創(chuàng)建數(shù)據(jù)字典

9、 執(zhí)行catproc創(chuàng)建package包

10、 執(zhí)行pupbld

11、 由初始化參數(shù)文件創(chuàng)建spfile文件

12、 執(zhí)行scott腳本創(chuàng)建scott模式

做完了以上的步驟之后就可以使用“SQLalter database open;”打開(kāi)數(shù)據(jù)庫(kù)正常的使用了。下面,我將具體地把以上的幾個(gè)步驟用實(shí)驗(yàn)展開(kāi)來(lái)講。

實(shí)驗(yàn)系統(tǒng)平臺(tái):Windows Server 2000 數(shù)據(jù)庫(kù)系統(tǒng)版本:Oracle Database 10G

Oracle的安裝路徑:D盤   創(chuàng)建的數(shù)據(jù)庫(kù)名稱:book

1、打開(kāi)命令行工具,創(chuàng)建必要有相關(guān)目錄

C:\mkdir D:\oracle\product\10.1.0\admin\book

C:\mkdir D:\oracle\product\10.1.0\admin\book\bdump

C:\mkdir D:\oracle\product\10.1.0\admin\book\udump

C:\mkdir D:\oracle\product\10.1.0\admin\book\cdump

C:\mkdir D:\oracle\product\10.1.0\admin\book\pfile

C:\mkdir D:\oracle\product\10.1.0\admin\book\create

C:\mkdir D:\oracle\product\10.1.0\oradata\book

上面創(chuàng)建目錄的過(guò)程也可以在Windows的圖形界面中去創(chuàng)建。其中 D:\oracle\product\10.1.0\admin\book目錄下的幾個(gè)子目錄主要用于存放數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中的跟蹤信息。最重要的兩上子目 錄是bdump和udump目錄,bdump目錄存放的是數(shù)據(jù)庫(kù)動(dòng)行過(guò)程中的各個(gè)后臺(tái)進(jìn)程的跟蹤信息,當(dāng)中alert文件是警告文件,其文件名稱為 alert_book.log,當(dāng)數(shù)據(jù)庫(kù)出現(xiàn)問(wèn)題時(shí),首先就可以去查看此文件以找出原因,手工創(chuàng)建過(guò)程中出現(xiàn)的各種問(wèn)題往往也可以通過(guò)查看這個(gè)文件找到原 因。Udump目錄存放和特定會(huì)話相關(guān)的跟蹤信息。D:\oracle\product\10.1.0\oradata\book目錄存放各種數(shù)據(jù)庫(kù)文 件,包括控制文件、數(shù)據(jù)文件、重做日志文件。

2、創(chuàng)建初始化參數(shù)文件

數(shù)據(jù)庫(kù)系統(tǒng)啟動(dòng)時(shí)須要用初始化參數(shù)文件的設(shè)置分配內(nèi)存、啟動(dòng)必要的后臺(tái)進(jìn)程的。因此,初始化參數(shù)文件創(chuàng)建的是否正確、參數(shù)設(shè)置是否正確關(guān)系著整個(gè)建庫(kù)的“命運(yùn)”。

創(chuàng)建初始化參數(shù)文件可以通過(guò)拷貝現(xiàn)在的初始化參數(shù)文件并將其做適當(dāng)?shù)男薷募纯桑瑥亩?不必要用手工去一句一句地寫出來(lái),因?yàn)槌跏蓟瘏?shù)文件的結(jié)構(gòu)體系基本上都是一樣的。在我們安裝Oracle的時(shí)候,系統(tǒng)已經(jīng)為我們安裝了一個(gè)名為orcl 的數(shù)據(jù)庫(kù),于是我們可以從它那里得到一份初始化參數(shù)文件。打開(kāi)D:\oracle\product\10.1.0\admin\orcl\pfile,找 到init.ora文件,把它拷貝到D:\oracle\product\10.1.0\bd_1\databse下,并將其改名為 initbook.ora。接著用記事本的方式打開(kāi)initbook.ora,修改以下的內(nèi)容:

db_domain=""

db_name=book

control_files=("D:\oracle\product\10.1.0\oradata\book\control01.ctl", "D:\oracle\product\10.1.0\oradata\book\control02.ctl", "D:\oracle\product\10.1.0\oradata\book\control03.ctl")

undo_management=AUTO

undo_tablespace=UNDOTBS1 ――注意此處的“UNDOTBS1”要和建庫(kù)腳步本中對(duì)應(yīng)

background_dump_dest=D:\oracle\product\10.1.0\admin\book\bdump

core_dump_dest=D:\oracle\product\10.1.0\admin\book\cdump

user_dump_dest=D:\oracle\product\10.1.0\admin\book\udump

3、打開(kāi)命令行,設(shè)置環(huán)境變量oracle_sid

C:\set oracle_sid=book

設(shè)置環(huán)境變量的目地是在默認(rèn)的情況下,指定命令行中所操作的數(shù)據(jù)庫(kù)實(shí)例是book。

4、創(chuàng)建實(shí)例(即后臺(tái)控制服務(wù))

C:\oradim –new –sid book

oradim是創(chuàng)建實(shí)例的工具程序名稱,-new表明執(zhí)行新建實(shí)例,-delete表明執(zhí)行刪掉實(shí)例,-sid指定害例的名稱。

5、創(chuàng)建口令文件

C:\orapwd file=D:\oracle\product\10.1.0\db_1\database\pwdbook.ora password=bookstore entries=2

orapwd是創(chuàng)建口令文件的工肯程序各稱,file參數(shù)指定口令文件所在的目錄和文件名稱,password參數(shù)指定sys用戶的口令,entries參數(shù)指定數(shù)據(jù)庫(kù)擁用DBA權(quán)限的用戶的個(gè)數(shù),當(dāng)然還有一個(gè)force參數(shù),相信您不指即明,這里就不再細(xì)述。

請(qǐng)注意,這里的命令要一行輸入,中間不得換行,否則會(huì)出現(xiàn)不必要的錯(cuò)誤。

口令文件是專門存放sys用戶的口令,因?yàn)閟ys用戶要負(fù)責(zé)建庫(kù)、啟動(dòng)數(shù)據(jù)庫(kù)、關(guān)閉數(shù)據(jù)庫(kù)等特殊任務(wù),把以sys用戶的中令單獨(dú)存放于口令文件中,這樣數(shù)據(jù)庫(kù)末打開(kāi)時(shí)也能進(jìn)行口令驗(yàn)證。

6、啟動(dòng)數(shù)據(jù)庫(kù)到nomount(實(shí)例)狀態(tài)

C:\sqlplus /nolog

SQL*Plus:Release 10.1.0.2.0 - Production on 星期三 6月 29 23:09:35 2005

Copyright 1982,2004,Oracle. All rights reserved.

SQLconnect sys/bookstore as sysdba ---這里是用sys連接數(shù)據(jù)庫(kù)

已連接到空閑例程

SQLstartup nomount

ORACLE 例程已經(jīng)啟動(dòng)。

Total System Global Area 319888364bytes

Fixed Size 453612bytes

Variable Size 209715200bytes

Database Buffers 109051904bytes

Redo Buffers 667648bytes

SQL

7、執(zhí)行建庫(kù)腳本

執(zhí)行建庫(kù)腳本,首先要有建庫(kù)的腳本。(去哪找建庫(kù)腳本呢?我又沒(méi)有?。┎挥弥?,請(qǐng)接著往下看。

得到一個(gè)符合自己要求的建庫(kù)腳本有兩種方法,一種方法是在自己的電腦上用DBCA來(lái) 建,接照它的提示一步步地去做,在做到第十二步的時(shí)候,請(qǐng)選擇“生成建庫(kù)腳本”,然后就大功告成,你就可以到相應(yīng)的目錄上去找到那個(gè)腳本并適當(dāng)?shù)匦匏憧?便用。另一種方法就是自己手工去寫一份建庫(kù)腳本,這也是這里要見(jiàn)意使用的方法,用記事本編輯如下的內(nèi)容,并將其保存為文件名任取而后綴名為(*.sql) 的SQL腳本,這里保存到E盤根本錄下且文件名稱為book.sql。

Create database book

datafile 'D:\oracle\product\10.1.0\oradata\book\system01.dbf' size 300M reuse autoextend on next 10240Kmaxsize unlimited

extent management local

sysaux datafile 'D:\oracle\product\10.1.0\oradata\book\sysaux01.dbf'

size 120M reuse autoextend on next 10240K maxsize unlimited

default temporary tablespace temp

tempfile 'D:\oracle\product\10.1.0\oradata\book\temp01.dbf' size 20M reuse autoextend on next 640K maxsize unlimited

undo tablespace "UNDOTBS1" --請(qǐng)注意這里的undo表空間要和參數(shù)文件對(duì)應(yīng)

datafile 'D:\oracle\product\10.1.0\oradata\book\undotbs01.dbf' size 200M reuse autoextend on next 5120K maxsize unlimited

logfile

group 1 ('D:\oracle\product\10.1.0\oradata\book\redo01.log') size 10240K,

group 2 ('D:\oracle\product\10.1.0\oradata\book\redo02.log') size 10240K,

group 3 ('D:\oracle\product\10.1.0\oradata\book\redo03.log') size 10240K

接著就執(zhí)行剛建的建庫(kù)腳本:

SQLstart E:\book.sql

8、執(zhí)行catalog腳步本創(chuàng)建數(shù)據(jù)字典

SQLstart D:\oracle\product\10.1.0\db_1\rdbms\admin\catalog.sql

9、執(zhí)行catproc創(chuàng)建package包

SQLstart D:\oracle\product\10.1.0\db_1\rdbms\admin\catproc.sql

10、執(zhí)行pupbld

在執(zhí)行pupbld之前要把當(dāng)前用戶(sys)轉(zhuǎn)換成system,即以system賬戶連接數(shù)據(jù)庫(kù)。因?yàn)榇藬?shù)據(jù)庫(kù)是剛建的,所以system的口令是系統(tǒng)默認(rèn)的口令,即manager。你可以在數(shù)據(jù)庫(kù)建好以后再來(lái)重新設(shè)置此賬戶的口令。

SQLconnect system/manager

SQLstart D:\oracle\product\10.1.0\db_1\sqlplus\admin\pupbld.sql

11、由初始化參數(shù)文件創(chuàng)建spfile文件

SQLcreate spfile from pfile;

12、執(zhí)行scott腳本創(chuàng)建scott模式

SQLstart D:\oracle\product\10.1.0\db_1\rdbms\admin\scott.sql

13、把數(shù)據(jù)庫(kù)打開(kāi)到正常狀態(tài)

SQLalter database open;

14、以scott連接到數(shù)據(jù)庫(kù)(口令為tiger),測(cè)試新建數(shù)據(jù)庫(kù)是否可以正常運(yùn)行

至此,整個(gè)數(shù)據(jù)庫(kù)就已經(jīng)建好了。接著你就可以在此數(shù)據(jù)庫(kù)上建立自己的賬戶和表空間啦以及數(shù)據(jù)庫(kù)對(duì)象,這里就不再作更多地?cái)⑹?/p>

Oracle建立實(shí)驗(yàn)用數(shù)據(jù)庫(kù)store,并建立監(jiān)聽(tīng)及本地命名,使用sys用戶登陸。 1、 建立名為school的表空間,指

2.create tablespace school datafile '物理路徑' size 容量大小;

alter database default tablespace school

3.create role student not identified;

grant create any table to student;

grant create any view to student;

grant create any sequence to student;

4.create user st_operator identified by test;

grant student,connect,resource to st_operator;

后面的表結(jié)構(gòu)我不清楚

vmware上怎么搭建oracle實(shí)驗(yàn)環(huán)境

建議你到百度搜索下,有好多vmware下部署oracle rac的文檔,參考看看,具體說(shuō)的話,過(guò)程比較多,這里也粘貼不下。

oracle實(shí)驗(yàn)創(chuàng)建insteadof不允許刪除表中數(shù)據(jù)

允許。oracle實(shí)驗(yàn)創(chuàng)建insteadof允許刪除表中數(shù)據(jù),insteadof選項(xiàng)使oracle激活觸發(fā)器,而不執(zhí)行觸發(fā)事件。只能對(duì)視圖和對(duì)象視圖建立insteadof觸發(fā)器,而不能對(duì)表、模式和數(shù)據(jù)庫(kù)建立insteadof觸發(fā)器。


當(dāng)前標(biāo)題:c語(yǔ)言統(tǒng)計(jì)圖書函數(shù),C語(yǔ)言統(tǒng)計(jì)函數(shù)
轉(zhuǎn)載來(lái)源:http://www.weahome.cn/article/hecepi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部