第一篇:Oracle 的安裝與配置實驗報告
Oracle 的安裝與配置實驗報告
班 級:10網(wǎng)工三班
學(xué)生姓名:謝昊天
學(xué)號:1215134046
實驗?zāi)康暮鸵螅?/p>
掌握Oracle的基本安裝方法。掌握Oracle 10g的網(wǎng)絡(luò)配置。能夠使用DBCA創(chuàng)建數(shù)據(jù)庫。
實驗內(nèi)容:
1、Oracle 10g的安裝。
2、Oracle 10g的網(wǎng)絡(luò)配置。
3、使用DBCA創(chuàng)建數(shù)據(jù)庫。
實驗步驟與調(diào)試過程:
安裝oracle:
1、執(zhí)行Oracle10g中的安裝文件,點擊setup開始Oracle 10g的安裝
2、出現(xiàn)“選擇要使用的安裝方法”窗口選擇高級安裝,點擊下一步。
3、所需安裝的路徑,點擊下一步;
4、在此可以選擇企業(yè)版,點擊下一步
5、選擇“創(chuàng)建啟動數(shù)據(jù)庫”
6、選擇“創(chuàng)建象樣本方案的數(shù)據(jù)庫”選項),點擊下一步。
7、選擇默認(rèn)設(shè)置,即“使用Database Console管理數(shù)據(jù)庫”,以便在本地對數(shù)據(jù)庫進(jìn)行管理。單擊“下一步”按鈕。
8、指定數(shù)據(jù)庫文件存儲選項選擇默認(rèn)設(shè)置,單擊“下一步”按鈕。
9、即選中“不啟用自動備份”單選按鈕,單擊“下一步”按鈕
10、選擇“所有用戶都使用同一個口令”選項,口令輸入oracle
11、“概要”窗口按照全局設(shè)置、產(chǎn)品語言、空間要求、新安裝組件分類顯示安裝設(shè)置。可以先在概要窗口中檢查一下這些設(shè)置是否滿意,如不滿意可以單擊“上一步”按鈕,返回到前一個步驟修改。
12、單擊“口令管理”按鈕,彈出“口令管理”窗口。
13、口令管理窗口。可以分別為SYS、SYSTEM、SCOTT用戶設(shè)置口令。
14、安裝完成,點擊退出按鈕,退出Oracle universal installer。可以記下該頁面上面的文本內(nèi)容,將來通過web訪問控制oracle。
15、配置Oracle 10g網(wǎng)絡(luò)環(huán)境
網(wǎng)絡(luò)配置
1、安裝目錄中點擊Net Manager,進(jìn)入如下界面。
2、選擇協(xié)議,這里選擇TCP/IP
3、輸入主機(jī)的IP地址或名稱,然后輸入端口號。
4、選擇服務(wù)器。
5、通過網(wǎng)頁打開登陸界面進(jìn)行驗證。
創(chuàng)建DBCA數(shù)據(jù)庫。
1、開始菜單中的Database Configuration Assistant(DBCA),單擊下一步。
2、選擇創(chuàng)建數(shù)據(jù)庫,單擊下一步,“數(shù)據(jù)庫模板”窗口,單擊常規(guī)用途模板,然后單擊下一步。
3、輸入全局?jǐn)?shù)據(jù)庫名和SID,保持configure the Database with Enterprise Manager被選中,“數(shù)據(jù)庫連接選項”窗口,選擇在缺省情況下您需要您的數(shù)據(jù)庫工作的模式。單擊未用模式或分享服務(wù)器模式并單擊下一步。
4、“初始化參數(shù)”窗口的字符集選項卡上,單擊使用 Unicode(AL32UTF8)。
5、當(dāng)數(shù)據(jù)庫創(chuàng)建過程完成時,單擊完成。
實驗結(jié)果:
1、oracle安裝完成,可以通過web訪問控制oracle。
2、oracle安裝成功后可以通查看服務(wù),也可以通過sqlplus+用戶名/密碼來進(jìn)行驗證。
3、網(wǎng)絡(luò)配置好后可以通過http://PC-201301151832:1158/em來驗證,還可以查看oracle的各項作用。
4、可以通過網(wǎng)頁來查看發(fā)現(xiàn)DBCA數(shù)據(jù)庫創(chuàng)建成功。
疑難小結(jié):
通過本次試驗,我對Oracle 的安裝與配置思想有了進(jìn)一步的了解,通過動手實現(xiàn)Oracle 的安裝與配置,更加深刻的理解了Oracle 安裝的特點。在實驗的過程中同時,發(fā)現(xiàn)如果在Oracle安裝時候同時創(chuàng)建一個數(shù)據(jù)庫實例會比先安裝Oracle程序,再創(chuàng)建數(shù)據(jù)庫慢。如果一開始不創(chuàng)建一個數(shù)據(jù)庫實例,那么Oracle不會往系統(tǒng)服務(wù)里安裝服務(wù)項。并且在實驗過程中,回顧書本上的理論知識,鞏固了我的知識。
主要算法和清單程序:
1、只需要安裝包然后點擊 setup、按照提醒 就可以進(jìn)行安裝;
2、創(chuàng)建數(shù)據(jù)庫的語句 和一些命令;
3、Oracle 10g網(wǎng)絡(luò)環(huán)境配置;
4、操作系統(tǒng)(XP),安裝oracle10g;
5、驗證安裝是否正確;
6、看相關(guān)服務(wù)是否正常啟動;
7、登錄sql *plus客戶端和OEM驗證;
8、把oracle相關(guān)服務(wù)設(shè)置成手動啟動(不讓自動啟動,這樣可以減輕系統(tǒng)負(fù)擔(dān));
9、建立一個批處理文件,通過它實現(xiàn)oracle服務(wù)的啟動和停止;
10、配置本地服務(wù)命名,本地服務(wù)器有問題時連接遠(yuǎn)程服務(wù)器操作(net manager)。
第二篇:Oracle實驗報告
Oracle數(shù)據(jù)庫實驗報告
實驗一:Oracle 10g安裝卸載及相關(guān)工具配置
一、實驗?zāi)繕?biāo):
安裝Oracle 10g,了解OEM,通過DBCA安裝數(shù)據(jù)庫,通過DBCA刪除數(shù)據(jù)庫,sqldeveloper連接數(shù)據(jù)庫,卸載oracle 10g。
二、實驗學(xué)時數(shù) 2學(xué)時
三、實驗步驟和內(nèi)容:
1、安裝Oracle10g(默認(rèn)安裝數(shù)據(jù)庫)雙擊setup.exe,選擇基本安裝,安裝目錄D:盤,標(biāo)準(zhǔn)版,默認(rèn)數(shù)據(jù)庫orcl,口令bhbh。進(jìn)入先決條件檢查界面時:網(wǎng)絡(luò)配置需求選項不用打勾,直接下一步,是。直到安裝成功。
2、登陸和了解OEM 主要是已網(wǎng)頁的形式來對數(shù)據(jù)庫進(jìn)行管理。
第1頁 http://主機(jī)IP:1158/em 用戶名:sys 口令:bhbh 身份:sysdba 或者
用戶名:system 口令:bhbh 身份:normal
3、通過DBCA刪除已安裝的默認(rèn)數(shù)據(jù)庫orcl 程序->OracleOraDb10g_home1->配置和移植工具->Database Configuration Assistant->創(chuàng)建數(shù)據(jù)庫->……
5、sqldeveloper連接數(shù)據(jù)庫 打開sqldeveloper,新建連接 連接名:system_ora 用戶名:system 口令:bhbh 主機(jī)名:本機(jī)計算機(jī)名 SID:xscj 測試,顯示成功,連接,保存。
第2頁
6、卸載oracle 10g Windows下
1>停止所有Oracle服務(wù),點Universal Installer卸載
2>刪除注冊表中的所有關(guān)于Oracle項
在HKEY_LOCAL_MACHINESOFTWARE下,刪除Oracle目錄
3>刪除硬盤上所有Oracle文件。(1)Oracle安裝文件
(2)系統(tǒng)目錄下,在Program files文件夾中的Oracle文件
四、上機(jī)作業(yè)
根據(jù)實驗步驟完成逐個實驗?zāi)繕?biāo)中的任務(wù)。
五、心得體會
通過這次的實驗,我了解了oracle數(shù)據(jù)庫的情況。懂得了數(shù)據(jù)庫就是把數(shù)據(jù)存儲在一個類似與倉庫的地方,需要用時才從數(shù)據(jù)庫里調(diào)出來。通過上機(jī)實踐,知道了裝數(shù)據(jù)庫和卸載數(shù)據(jù)庫,并且學(xué)會了怎樣連數(shù)據(jù)庫。
實驗二:Oracle 10g手工建數(shù)據(jù)庫
一、實驗?zāi)繕?biāo):
安裝Oracle 10g數(shù)據(jù)庫環(huán)境,手工建立數(shù)據(jù)庫;通過Net Configuration Assistant建立監(jiān)聽,使用sqldeveloper連接數(shù)據(jù)庫測試。
二、實驗學(xué)時數(shù) 2學(xué)時
三、實驗步驟和內(nèi)容:
先安裝好Oracle 10g數(shù)據(jù)庫環(huán)境(不安裝默認(rèn)數(shù)據(jù)庫)。1.創(chuàng)建好相關(guān)的目錄
第3頁 假設(shè)oracle安裝在D盤,打開命令行,運行->cmd-> md D:oracleproduct10.2.0adminmydbpfile md D:oracleproduct10.2.0adminmydbbdump md D:oracleproduct10.2.0adminmydbcdump md D:oracleproduct10.2.0adminmydbudump md D:oracleproduct10.2.0oradatamydb md D:oracleproduct10.2.0flash_recovery_areamydb 2.創(chuàng)建數(shù)據(jù)庫實例
(1)設(shè)置環(huán)境變量SID(注:以后每打開一次CMD都要運行此句)set ORACLE_SID=mydb(2)創(chuàng)建口令文件
orapwd file=D:oracleproduct10.2.0oradatamydbPWDmydb.ora Password=bhbh entries=5(3)使用oradim命令創(chuàng)建數(shù)據(jù)庫實例mydb oradim-new-sid mydb-startmode manual-pfile “D:oracleproduct10.2.adminmydbpfileinitmydb.ora” 3.用sys賬戶以sysdba的身份登錄 輸入sqlplus sys/bhbh as sysdba 4.創(chuàng)建實例初始化參數(shù)文件initmydb.ora,并將其放到D:oracleproduct10.2.adminmydbpfile路徑下。
initmydb.ora # Copyright(c)1991, 2001, 2002 by Oracle Corporation
第4頁 job_queue_processes=10 # Job Queues # Shared Server dispatchers=“(PROTOCOL=TCP)(SERVICE=mydbXDB)” # Miscellaneous compatible=10.2.0.1.0 # Security and Auditing remote_login_passwordfile=EXCLUSIVE # Sort, Hash Joins, Bitmap Indexes pga_aggregate_target=25165824 sort_area_size=65536 # Database Identification db_domain=“" db_name=mydb # File Configuration control_files=(”D:oracleproduct10.2.0oradatamydbcontrol01.ctl“, ”D:oracleproduct10.2.0oradatamydbcontrol02.ctl“,”D:oracleproduct10.2.0oradatamydbcontrol03.ctl“)db_recovery_file_dest=D:oracleproduct10.2.0flash_recovery_area db_recovery_file_dest_size=2147483648 # Pools
第5頁 java_pool_size=50331648 large_pool_size=8388608 shared_pool_size=83886080 # Cursors and Library Cache open_cursors=300 # System Managed Undo and Rollback Segments undo_management=AUTO undo_tablespace=UNDOTBS1 # Diagnostics and Statistics background_dump_dest=D:oracleproduct10.2.0adminmydbbdump core_dump_dest=D:oracleproduct10.2.0adminmydbcdump user_dump_dest=D:oracleproduct10.2.0adminmydbudump # Processes and Sessions processes=150 # Cache and I/O db_block_size=8192 db_cache_size=25165824 db_file_multiblock_read_count=16
5.運行命令實例初始化 STARTUP NOMOUNT
第6頁 pfile=”D:oracleproduct10.2.0adminmydbpfileinitmydb.ora“;6.運行創(chuàng)建數(shù)據(jù)庫SQL命令 CREATE DATABASE mydb MAXINSTANCES 1 MAXLOGHISTORY 1 MAXLOGFILES 5 MAXLOGMEMBERS 5 MAXDATAFILES 100 DATAFILE 'D:oracleproduct10.2.0oradatamydbsystem01.dbf' SIZE 500M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED SYSAUX DATAFILE 'D:oracleproduct10.2.0oradatamydbsysaux01.dbf' size 20M UNDO TABLESPACE UNDOTBS1 DATAFILE 'D:oracleproduct10.2.0oradatamydbundotbs01.dbf' SIZE 150M REUSE AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED DEFAULT TEMPORARY TABLESPACE TEMP1 TEMPFILE 'D:oracleproduct10.2.0oradatamydbtemp01.dbf' SIZE 100M REUSE CHARACTER SET ZHS16GBK NATIONAL CHARACTER SET AL16UTF16 LOGFILE 'D:oracleproduct10.2.0oradatamydbredo01.log' SIZE 50M,第7頁
'D:oracleproduct10.2.0oradatamydbredo02.log' SIZE 50M,'D:oracleproduct10.2.0oradatamydbredo03.log' SIZE 50M;7.創(chuàng)建用戶表空間USERS CREATE TABLESPACE USERS DATAFILE 'D:oracleproduct10.2.0oradatamydbusers01.dbf' SIZE 128M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED;8.創(chuàng)建數(shù)據(jù)字典(需要幾分鐘,報錯不要緊)
@D:oracleproduct10.2.0db_1RDBMSADMINcatalog.sql;9.創(chuàng)建內(nèi)部包(需要幾分鐘,報錯不要緊)
@D:oracleproduct10.2.0db_1RDBMSADMINcatproc.sql;10.創(chuàng)建自啟動文件,以便以后不用每次打開數(shù)據(jù)庫實例都要運行一次第5步。
create spfile FROM pfile='D:oracleproduct10.2.0adminmydbpfileinitmydb.ora';11.重啟數(shù)據(jù)庫,即關(guān)閉再打開。shutdown;connect sys/bhbh as sysdba;startup;12.授權(quán)用戶system為dba,置密碼為bhbh
第8頁 grant dba to system identified by bhbh;13.使用system用戶登錄 conn system/bhbh;14.為system用戶創(chuàng)建一張KC表 CREATE TABLE KC(KCH CHAR(3)NOT NULL, KCM CHAR(16)NOT NULL, KKXQ NUMBER(1)NOT NULL, XS NUMBER(2)NOT NULL, XF NUMBER(2), CONSTRAINT CH_KKXQ CHECK(kkxq between 1 and 8), CONSTRAINT ”PK_KCH“ PRIMARY KEY(”KCH“))TABLESPACE USERS;15.給KC表插入一條數(shù)據(jù),并提交。
INSERT INTO KC VALUES('001','數(shù)據(jù)庫',7,68,4);commit;16.測試查詢 Select * from kc;17.使用Net Configuration Assistant添加監(jiān)聽器,并重啟監(jiān)聽器(運行cmd->netca也一樣)。
第9頁 18.創(chuàng)建Em資料檔案庫(這一步可以省略,只為創(chuàng)建OEM,我們以后學(xué)習(xí)用不到)。
cmd->emca-config dbcontrol db-repos create 19.打開SQLDeveloper,并新建數(shù)據(jù)庫連接并測試是否成功。
20.若之前手工安裝數(shù)據(jù)庫出現(xiàn)差錯,可使用以下命令刪除數(shù)據(jù)庫實例: cmd->oradim-delete-sid mydb 然后刪除第1步所建目錄即可。
四、上機(jī)作業(yè)
根據(jù)實驗步驟完成逐個實驗?zāi)繕?biāo)中的任務(wù)。
五、心得體會:
通過這次的實驗,明白了手動建數(shù)據(jù)庫,建表空間等。還知道了運行數(shù)據(jù)庫的命令,授權(quán)命令插表等等。這次學(xué)習(xí)讓我對數(shù)據(jù)庫的了解和運用又新的體會。
實驗三:數(shù)據(jù)庫修改
一、實驗?zāi)繕?biāo):
學(xué)習(xí)簡化實驗二里的實驗步驟,學(xué)習(xí)修改數(shù)據(jù)庫某些屬性,完成數(shù)據(jù)庫作業(yè)1:手工快速創(chuàng)建數(shù)據(jù)庫實例XSCJ和數(shù)據(jù)庫XSCJ。
二、實驗學(xué)時數(shù) 2學(xué)時
三、實驗步驟和內(nèi)容:
第10頁 1.安裝好ORACLE 10g,(不需要安裝數(shù)據(jù)庫)。
2.快速安裝數(shù)據(jù)庫實例mydb和數(shù)據(jù)庫mydb需要3個文件:init.bat,initmydb.ora,ctreatedb.sql。
(1)雙擊運行init.bat文件;
(2)將initmydb.ora放到正確的路徑下(參考實驗二);(3)在sqlplus環(huán)境下運行ctreatedb.sql
3.了解startup nomount,startup mount和startup三種狀態(tài)的使用情況的區(qū)別,即打開實例不裝載數(shù)據(jù)庫、打開實例裝載數(shù)據(jù)庫但不打開數(shù)據(jù)庫和打開實例裝載數(shù)據(jù)庫同時打開數(shù)據(jù)庫。
(1)運行P45頁例子2-7修改數(shù)據(jù)庫(提示:startup;)ALTER DATABASE mydb DATAFILE 'D:oracleproduct10.2.0oradatamydbusers01.dbf' RESIZE 200M;(2)運行P45頁例子2-9刪除數(shù)據(jù)庫(提示:startup mount;)取消數(shù)據(jù)庫的受限制狀態(tài):
alter system enable restricted session;刪除數(shù)據(jù)庫: DROP DATABASE;(3)重建數(shù)據(jù)庫
sys重新登錄,運行ctreatedb.sql。
4.刪除數(shù)據(jù)庫實例mydb和數(shù)據(jù)庫mydb。使用命令 oradim-delete-sid mydb 以及刪除相關(guān)文件夾。
四、上機(jī)作業(yè)
第11頁 適當(dāng)?shù)匦薷慕◣焖玫降?個文件里的參數(shù),手工安裝數(shù)據(jù)庫實例xscj和數(shù)據(jù)庫xscj(快速安裝),用戶表空間myts。
五、心得體會
這次學(xué)習(xí),讓我明白了怎樣修改數(shù)據(jù)庫某些屬性,手工快速創(chuàng)建數(shù)據(jù)庫實例XSCJ和數(shù)據(jù)庫XSCJ。DROP DATABASE命令可以刪除數(shù)據(jù)庫…
實驗四:表的創(chuàng)建、修改和刪除 以及表數(shù)據(jù)的插入、修改和刪除
一、實驗?zāi)繕?biāo):
學(xué)習(xí)表的創(chuàng)建、插入、修改和刪除以及表數(shù)據(jù)的插入、修改和刪除。
二、實驗學(xué)時數(shù) 4學(xué)時
三、實驗步驟和內(nèi)容: 1.手工創(chuàng)建好數(shù)據(jù)庫XSCJ。
2.為用戶system創(chuàng)建3個表XSB、KCB和CJB(P66-67 例子3.7-3.9,create table用法,自己照書完成)。
CREATE TABLE XSB(XH char(6)NOT NULL PRIMARY KEY, XM char(8)NOT NULL, XB char(2)DEFAULT '1' NOT NULL,第12頁
CSSJ date NOT NULL, ZY char(12)NULL, ZXF number(2)NULL, BZ varchar2(200)NULL)TABLESPACE myts;CREATE TABLE KCB(KCH char(3)NOT NULL PRIMARY KEY,KCM char(16)NOT NULL, KKXQ number(1)NULL, XS number(2)NULL, XF number(1)NOT NULL)TABLESPACE myts;CREATE TABLE CJB(XH CHAR(6)NOT NULL, KCH CHAR(3)NOT NULL, CJ NUMBER(2), XF NUMBER(1), PRIMARY KEY(XH,KCH))TABLESPACE myts;3.學(xué)習(xí)修改表結(jié)構(gòu)(P70 例子3.11(1)-(3)alter table用法)。(1)在表XSB中增加兩列:JXJ(獎學(xué)金等級)、DJSM(獎學(xué)金等級說明)。
第13頁 ALTER TABLE XSB ADD(JXJ number(1), DJSM varchar2(40)DEFAULT '獎金1000元');(2)在表XSB中修改名為DJSM的列的默認(rèn)值。ALTER TABLE XSB MODIFY(DJSM DEFAULT '獎金800元');(3)在表XSB中刪除名為JXJ和DJSM的列。ALTER TABLE XSB DROP COLUMN JXJ;ALTER TABLE XSB DROP COLUMN DJSM;修改好可用命令:describe table_name;查看。4.刪除表(P71 drop table用法)。DROP TABLE table_name;5.向XSCJ數(shù)據(jù)庫的表XSB中插入一行(P75 例子3.12 insert用法)。INSERT INTO XSB(XH, XM, XB, CSSJ, ZY, ZXF)VALUES('101101', '王林', '男',TO_DATE('19900210','YYYYMMDD'), '計算機(jī)', 50);提交數(shù)據(jù): Commit;
插入后可用命令:select * from table_name;查看。
第14頁 6.學(xué)習(xí)刪除表數(shù)據(jù)(P78 DELETE和TRUNCATE的用法)。將XSCJ數(shù)據(jù)庫的XSB表中總學(xué)分小于50的行刪除: DELETE FROM XSB WHERE ZXF<50;使用TRUNCATE TABLE語句刪除表中的所有數(shù)據(jù),且不能恢復(fù)。TRUNCATE TABLE table_name;插入后可用命令:select * from table_name;查看。7.為3個表XSB、KCB和CJB插入數(shù)據(jù)(使用insert.sql)8.學(xué)習(xí)修改表數(shù)據(jù)(P78-79 例子3.17-3.20 UPDATE 用法)。UPDATE XSB SET BZ='三好' WHERE XH='101110';UPDATE XSB SET ZXF=ZXF+10;
UPDATE XSB SET ZY='通信工程', BZ='轉(zhuǎn)專業(yè)學(xué)習(xí)', XH='101241' WHERE XM= '羅林琳';
UPDATE XS
第15頁 SET ZXF=ZXF+ 4, BZ= '提前修完《數(shù)據(jù)結(jié)構(gòu)》,并獲得學(xué)分'
插入后可用命令:select * from table_name where(條件);查看。9.將數(shù)據(jù)恢復(fù)到剛插入時的狀態(tài)(即把修改過的表清空再插入)。10.了解一下同義詞,知道同義詞的作用(不作重點)。
四、上機(jī)作業(yè)
手工安裝數(shù)據(jù)庫實例xscj和數(shù)據(jù)庫xscj(快速安裝),用戶表空間myts后,為用戶system創(chuàng)建3個表XSB、KCB和CJB,并插入所有數(shù)據(jù)。
五、心得體會
這次學(xué)習(xí)的表創(chuàng)建,刪除和修改的學(xué)習(xí)使我對數(shù)據(jù)庫的表的認(rèn)識更進(jìn)一步。通過這次的學(xué)習(xí),學(xué)會對表的創(chuàng)建、修改、刪除。創(chuàng)建表就是按格式寫些代碼;修改(UPDATE+表名+需修改的內(nèi)容)和刪除(DROP TABLE + 表名)就是使用指定的指令對表進(jìn)行操作,使之完成想要的目的。
WHERE XM='李明';
實驗五:數(shù)據(jù)庫查詢練習(xí)
一、實驗?zāi)繕?biāo):
學(xué)習(xí)數(shù)據(jù)庫數(shù)據(jù)查詢語句的基本方法以及視圖的使用方法。
二、實驗學(xué)時數(shù)
第16頁 6學(xué)時
三、實驗步驟和內(nèi)容:
課本例子:4.5,4.6,4.8,4.9,4.12(2),4.14,4.15(2),4.16,4.17 4.18,4.19,4.28,4.29,4.37,4.39(1),(3),4.42,4.43,4.46
(一)學(xué)習(xí)和掌握課本查詢語句的基本語法和使用方法,完成下面練習(xí)(*為必做,@為選做)。
*
1、查詢所有計算機(jī)系學(xué)生的信息。Select * from xsb;*
2、查詢王同學(xué)所修的學(xué)號
Select kch from xsb where xm like '王%';*
3、查詢出生于85和86年的女同學(xué)的學(xué)號和姓名。Select xh,xm from xsb where cssj between to_date('19900101','yyyymmdd')and to_date('19911231','yyyymmdd')and xb='女';*
4、查詢學(xué)號為101104所選修的全部課程成績。Select cj from cjb where xh='101104';*
5、檢索每個學(xué)生的姓名和年齡。
Select xm,to_char(sysdate,'yyyy')-to_char(cssj,'yyyy')as 年齡 from xsb;*
6、在XS表中檢索學(xué)生的姓名和出生年份,輸出的列名為姓名和生年 Select xm,to_char(cssj,'yyyy')as 出生時間 from xsb;*
7、在XS_KC表中,求選修課程206的學(xué)生的學(xué)號和得分,并將結(jié)果按分?jǐn)?shù)降序排序。
第17頁 Select xh,cj from cjb where kch=’206’ order by cj desc;*
8、把課程名為軟件工程的成績從學(xué)生選課數(shù)據(jù)表XS_KC中刪除。Delete from kcb where kcm=(select kch from kcb where kcm=‘軟件工程’);*
9、把女同學(xué)的成績提高10%。
Update cjb set cj=cj*1.1 where xh in(select xh from xsb where xb='女')and cj<=90;*
10、如果學(xué)號為061106的學(xué)生的成績少于90,則加上10分。Update cjb set cj=cj+10 where xh=’061106’and cj<90;*
11、查詢學(xué)號為061104的學(xué)生選修的課程號和課程名。
Select xh,xm from xsb where xh in(select xh from cjb where kcb=’061104’;
*
12、檢索學(xué)習(xí)課程號為206的學(xué)生學(xué)號與姓名。Select xm,xh from xsb where kch=’206’;*
13、檢索‘李明’所選修的全部課程名稱。
Select kcm from kch where xm=(select xm from xsb where xm=’李明’);*
14、查找每個同學(xué)的學(xué)號及選修課程的平均成績情況。Select xh,avg as 課程號平均成績 from cjb;*
15、求選修了各課程的學(xué)生的人數(shù)。
Select count(distinct xh)as 選修課程總?cè)藬?shù) from cjb;Select kch as課程號 ,count(xh)as 選修人數(shù) group by kch;
第18頁 *
16、查詢平均成績都在80分以上的學(xué)生學(xué)號及平均成績。Select xh,cj from cjb group by xh having avg(cj)>80;Select xh,cj from cjb group by xh having avg(cj)>80 order by avg(cj);Select xh,cj from cjb group by xh having avg(cj)>80 order by avg(cj)desc;*
17、查詢至少有6人選修的課程號。
Select kch as 課程號 from cjb group by having count(*)>=6;*
18、檢索選修課程號為101或102的學(xué)生學(xué)號,姓名和所在系
Select xh,xm,zy from kch=(select kch from kcb where kch=’101’and kch= ‘102’;
*
19、統(tǒng)計被學(xué)生選修的課程門數(shù)。Select cjb 每個學(xué)生情況以及選修課程情況
Select * from xsb inner join cjb on xsb.xh=cjb.xh Select xsb.*,cjb.* from xsb,cjb where xsb.xh=cjb.xh *20、查詢沒有選修數(shù)據(jù)庫的學(xué)生學(xué)號,姓名和專業(yè)名。
@
21、取出選修‘操作系統(tǒng)’課程的學(xué)生姓名。
@
22、檢索至少選修課程“數(shù)據(jù)結(jié)構(gòu)”和“計算機(jī)基礎(chǔ)”的學(xué)生學(xué)號。@
23、檢索至少選修課程號為101和206的學(xué)生姓名。@
24、列出學(xué)生所有可能的選課情況。@
25、查詢101號課程得最高分的學(xué)生的學(xué)號
@
26、‘計算機(jī)基礎(chǔ)’課程得最高分的學(xué)生的姓名、性別、所在系。
第19頁 @
27、將成績最低的學(xué)生的成績加上10分。@
28、所有成績都在70分以上的學(xué)生姓名及所在系。@
29、列出選修課程超過3門的學(xué)生姓名及選修門數(shù)。@30、至少選修了兩門課及以上的學(xué)生的姓名和性別 @
31、檢索至少有兩名男生選修的課程名。
@
32、統(tǒng)計每門課程的學(xué)生選修人數(shù)(超過10人的課程才統(tǒng)計)。@
33、計算機(jī)基礎(chǔ)成績比離散數(shù)學(xué)成績好的學(xué)生
@
34、列出每個同學(xué)的學(xué)號、姓名及選修課程的平均成績情況,沒有選修的同學(xué)也列出。
@
35、列出每個同學(xué)的學(xué)號及選修課程號,沒有選修的同學(xué)也列出
(二)視圖
1、創(chuàng)建一個名為zy_view的視圖,該視圖可以用來查看每個系名稱和學(xué)生人
Create or replace view zy_view(專業(yè),專業(yè)人數(shù))as select zy,count(xh)from xsb group by zy;
2、創(chuàng)建一名為xs_view的視圖,該視圖可以用來查看每個學(xué)生的姓名、選修的課程名和成績。查看視圖。
Create or replace view xs_view(姓名,課程名,成績)as select xm kcm cj from xsb,kcb,cjb where xsb.xh=cjb.xh and cjb.kch=kcb.kch;
3、創(chuàng)建一個名為kc_view的視圖,該視圖可以用來查看每門課的課程號,課程名,選修人數(shù)和平均成績。
Create or replace view kc_view(課程號,課程名,選修人數(shù),平均成績)as select kcb.kch,kcm,count(xh),avg(cj)from cjb,kcb where cjb.kch=kcb.kch group by kcb.kch,kcm;
4、利用kc_view視圖,查看平均成績最高的課程名。
Select 課程名 from kc_view where平均成績=(select max(平均成績)from kc_view);
5、修改xs_view視圖,將視圖重定義為每個學(xué)生的姓名、選課門數(shù)和平均
第20頁 成績。
Create or replace view xs_view(姓名,選課門數(shù),平均成績)as select xm,count(kch),avg(cj)from cjb,xsb where xsb.xh=cjb.xh group by xsb.xh,xm;
6、刪除zy_view視圖。Drop view zy_view;
四、上機(jī)作業(yè)
完成實驗內(nèi)容中的任務(wù),并把語句記錄在每道題的下面。
五、心得體會
這次學(xué)習(xí),我知道了對表的內(nèi)容的查詢,修改的操作,并通過實踐對這次操作命令進(jìn)一步的熟悉,運用和掌握。還學(xué)會了怎么建立視圖,視圖是可以快速的查詢多個表的不同的信息的圖表,它使我們更方便。
實驗六:索引和約束
一、實驗?zāi)繕?biāo):
(1)掌握索引的使用方法。
(2)掌握各種約束即數(shù)據(jù)完整性的實現(xiàn)方法。
二、實驗學(xué)時數(shù) 2學(xué)時
三、實驗步驟和內(nèi)容: 1.關(guān)于索引
第21頁 建立索引的最大好處是快速存取數(shù)據(jù)。
假設(shè)有10個學(xué)生,10門課,則成績表會有100條記錄,對于成績表中某人某門課成績的查找,最壞情況是逐行查找100次,即最后一行。而如果對成績表中的學(xué)號和課程號創(chuàng)建索引,則最壞情況只需查找20次(先查找學(xué)號,再查找課程號)。
建立索引的原則:(1)先插數(shù)據(jù)再建索引。
(2)如果經(jīng)常檢索的內(nèi)容僅為包含大量數(shù)據(jù)的表中少于15%的行,就需要創(chuàng)建索引。
(3)建立索引的先后順序會影響查詢的性能。2.創(chuàng)建索引表空間 CREATE TABLESPACE INDX DATAFILE 'D:oracleproduct10.2.0oradataxscjindx01.dbf' SIZE 32M REUSE AUTOEXTEND ON NEXT 1280K MINIMUM EXTENT 128K DEFAULT STORAGE(INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);2.創(chuàng)建索引
CREATE INDEX kc_name_idx ON KCB(KCM)TABLESPACE ”INDX";3.維護(hù)索引
第22頁 ALTER INDEX kc_name_idx
4.刪除索引 DROP INDEX kc_idx;5.數(shù)據(jù)完整性
生活中有些數(shù)據(jù)除了數(shù)據(jù)類型和寬度,還必須要定義其他規(guī)則的,比如學(xué)生學(xué)號必須是唯一的,不能重復(fù)的;性別必須是男或女,成績必須是0-100的范圍等。因此必須使用一些方法對數(shù)據(jù)進(jìn)行約束,才得以保持?jǐn)?shù)據(jù)完整性。
6.約束
(1)建表同時添加約束: XSB表: 主鍵為學(xué)號。KCB表: 課程號為主鍵,開課學(xué)期默認(rèn)值為1,且只能為1-8。CJB表
主鍵為學(xué)號和課程號,存在外鍵XH參照XSB表的XH,存在外鍵KCH參照KCB表的KCH。(2)建表后時添加約束 XSB表:
第23頁 RENAME TO kc_idx;性別必須為“男”或者“女”。CJB表:
成績必須>=0且<=100或者為空。7.插入數(shù)據(jù)驗證。8.思考題
(1)建KCB表時添加約束,使課程號必須為三位0-9數(shù)字
(2)建XSB表時添加約束,使學(xué)號為101開頭,后三位為0-9數(shù)字
四、上機(jī)作業(yè)
完成實驗內(nèi)容中的任務(wù),并把語句記錄在每道題的下面。
五、心得體會
通過這次的學(xué)習(xí),我知道了索引的最大好處是快速存取數(shù)據(jù)。1:先插數(shù)據(jù)再建索引。2:如果經(jīng)常檢索的內(nèi)容僅為包含大量數(shù)據(jù)的表中少于15%的行,就需要創(chuàng)建索引。3:建立索引的先后順序會影響查詢的性能。這3條是建立索引的原則。
我還知道了可以增加約束,就是制約范圍。
實驗七:PL/SQL編程
一、實驗?zāi)繕?biāo):
(1)掌握變量、運算符以及控制語句的使用。(2)掌握系統(tǒng)函數(shù)和自定義函數(shù)的使用。
二、實驗學(xué)時數(shù) 4學(xué)時
三、實驗步驟和內(nèi)容: SYS登錄,先導(dǎo)入數(shù)據(jù)字典:
第24頁 @D:oracleproduct10.2.0db_1RDBMSADMINcatalog.sql;@D:oracleproduct10.2.0db_1RDBMSADMINcatproc.sql;(1)定義變量
例子1:定義一個長度為10的變量count,其初始值為1,是varchar2類型。
count varchar2(10):= '1';例子2:在表XSB中包含XH列,為了聲明一個變量my_xh與XH列具有相同的數(shù)據(jù)類型,聲明時可使用點和%TYPE屬性,格式如下:
my_xh XSB.XH%TYPE;例子3:可以使用%ROWTYPE屬性聲明描述表的行數(shù)據(jù)的記錄。
如:聲明一個記錄名為cj_rec,它與CJB表具有相同的名稱和數(shù)據(jù)類型,格式如下:
DECLARE cj_rec CJB%ROWTYPE;對于用戶定義的記錄,必須聲明自己的域: DECLARE TYPE TimeRec IS RECORD(HH number(2),MM number(2));(2)程序塊
例子6.6:查詢總學(xué)分大于50的學(xué)生人數(shù) set serveroutput on DECLARE v_num number(3);
第25頁 BEGIN SELECT COUNT(*)INTO v_num
FROM xsb
WHERE zxf>50;
IF v_num<>0 THEN dbms_output.put_line('總學(xué)分>:50的人數(shù)為:'|| TO_CHAR(v_num));END IF;END;/ 例子6.9:求10的階乘。DECLARE n number:=1;count1 number:=2;BEGIN LOOP
n:=n*count1;
count1:=count1+1;
IF count1>10 THEN
EXIT;END IF;
第26頁 END LOOP;DBMS_OUTPUT.PUT_LINE(to_char(n));END;/(3)函數(shù)
系統(tǒng)函數(shù):例子6.20、6.21、6.22、6.23、6.24 自定義函數(shù):例子6.26、6.27、6.28
如果李明同學(xué)的年齡大于20歲,則顯示“李明同學(xué)年齡為X歲”,否則打印“李明同學(xué)不符合條件” set serveroutput on declare age number(2);begin select to_char(sysdate, 'yyyy')-to_char(cssj, 'yyyy')into age from xsb where xm='李明';if age>20 then dbms_output.put_line('李明同學(xué)年齡為'||to_char(age)||'歲');else dbms_output.put_line('李明同學(xué)不符合條件');end if;end;/
2.計算1+3+5+……+99的和,并顯示結(jié)果。
declare s number:=0;i number:=1;begin loop
第27頁 s:=s+i;i:=i+2;exit when i>99;end loop;dbms_output.put_line(to_char(s));end;/
3.編寫一個函數(shù)f_age,可以在xs表中根據(jù)姓名求出某人的年齡。
create or replace function f_age(sname in char)return number as age number;begin select to_char(sysdate,'yyyy')-to_char(cssj,'yyyy')into age from xsb where xm=sname;return(age);end;/
4.改寫第1題的程序塊,調(diào)用函數(shù)f_age來求年齡。set serveroutput on;declare age number(2);begin age:=f_age('李明');if age>20 then dbms_output.put_line('李明同學(xué)年齡為'||to_char(age)||'歲');else dbms_output.put_line('李明同學(xué)不符合條件');end if;end;/
第28頁
四、上機(jī)作業(yè)
完成實驗內(nèi)容中的任務(wù),并把語句記錄在每道題的下面。
五、心得體會
通過這次的學(xué)習(xí),學(xué)會了用sql語言編寫簡單的程序,定義和調(diào)用簡單函數(shù)。在此基礎(chǔ)上還鞏固了sql語句查詢的方法。在以后的學(xué)習(xí)中要多加理解,上機(jī)練習(xí)。
實驗八:游標(biāo)與存儲過程
一、實驗?zāi)繕?biāo):
(1)掌握游標(biāo)的使用方法。(2)掌握存儲過程的使用方法。
二、實驗學(xué)時數(shù) 6學(xué)時
三、實驗步驟和內(nèi)容: 游標(biāo) 例子:
set serveroutput on DECLARE v_xh char(6);v_zxf number(2);CURSOR XS_CUR3
第29頁 IS SELECT XH,ZXF FROM XSB WHERE ZYM='計算機(jī)';BEGIN OPEN XS_CUR3;FETCH XS_CUR3 INTO v_xh,v_zxf;WHILE XS_CUR3%FOUND LOOP dbms_output.put_line(v_xh||' '||TO_CHAR(v_zxf));FETCH XS_CUR3 INTO v_xh,v_zxf;END LOOP;CLOSE XS_CUR3;END;1.使用游標(biāo),將平均分大于75分的學(xué)生的學(xué)號、姓名、平均分逐行輸出。
set serveroutput on DECLARE v_xh char(12);v_xm char(12);v_cj number(38);CURSOR XS_CUR3 IS SELECT CJB.XH,XSB.XM,avg(CJ)FROM XSB,CJB WHERE xsb.xh=cjb.xh group by CJB.XH,XSB.XM having avg(cj)>75;
第30頁 BEGIN OPEN XS_CUR3;FETCH XS_CUR3 INTO v_xh,v_xm,v_cj;WHILE XS_CUR3%FOUND LOOP dbms_output.put_line(v_xh||' '||TO_CHAR(v_xm)||v_cj);FETCH XS_CUR3 INTO v_xh,v_xm,v_cj;END LOOP;CLOSE XS_CUR3;END;存儲過程 例子1:
CREATE OR REPLACE PROCEDURE update_info(xname in char)AS xf number;BEGIN SELECT ZXF INTO xf FROM XS WHERE XM=xname;IF XF>60 THEN UPDATE XSB SET BZ='三好學(xué)生' WHERE XM= xname;
第31頁
END IF;IF XF<35 THEN UPDATE XS SET BZ='學(xué)分未修滿' WHERE XM=xname;END IF;END update_info;執(zhí)行:
(1)EXECUTE update_info('李明');(2)begin update_info('李明');end;例子2: CREATE OR REPLACE PROCEDURE count_grade(zym in char,person_num out number)AS BEGIN
SELECT COUNT(XH)
INTO person_num
FROM XS WHERE ZYM=zym;END count_grade;
第32頁 執(zhí)行:
set serveroutput on DECLARE v_num number;BEGIN count_grade('計算機(jī)',v_num);dbms_output.put_line(v_num);END;/ 1.創(chuàng)建一個存儲過程p_delete可以刪除CJB表的信息。CREATE OR REPLACE PROCEDURE p_delete AS
BEGIN delete FROM CJB;END p_delete;執(zhí)行
EXECUTE p_delete;
2.創(chuàng)建一個存儲過程p_insert,可以給學(xué)生表添加一條記錄。CREATE OR REPLACE PROCEDURE p_insert(XH IN CHAR,XM IN CHAR,XB IN CHAR,CSSJ IN DATE,ZY IN CHAR,ZXF IN NUMBER,BZ IN CHAR)AS BEGIN insert into xsb values(XH,XM,XB,CSSJ,ZY,ZXF,BZ);END p_insert;執(zhí)行:
execute p_insert('102222','羅','女',to_date('19860310','yyyymmdd'),'通信工程',50,'轉(zhuǎn)專業(yè)學(xué)習(xí)');
第33頁
3.創(chuàng)建一個存儲過程p_count,輸入?yún)?shù)為姓名,輸出參數(shù)為選課門數(shù),平均成績。CREATE OR REPLACE PROCEDURE p_count(XNO IN CHAR,K_COUNT OUT NUMBER,AVG_CJ OUT NUMBER)BEGIN SELECT count(kch),avg(cj)INTO K_COUNT,AVG_CJ FROM XSB,CJB WHERE XSB.XH=CJB.XH AND XSB.XH=XNO;END p_count;
set serveroutput on DECLARE v_num1 number;v_num2 number(4,2);BEGIN p_count('101104',v_num1,v_num2);dbms_output.put_line(v_num1||' '||v_num2);END;
四、上機(jī)作業(yè)
完成實驗內(nèi)容中的任務(wù),并把語句記錄在每道題的下面。
五、心得體會
通過這次學(xué)習(xí),我知道了游標(biāo)和存儲過程,還知道了游標(biāo)和存儲過程的使用方法,并且掌握了它們的使用方法,為以后打下基礎(chǔ)。
實驗九:觸發(fā)器、用戶角色創(chuàng)建和邏輯備份
第34頁
一、實驗?zāi)繕?biāo):
(1)掌握觸發(fā)器的使用。
(2)掌握用戶和角色的創(chuàng)建和使用。(3)掌握數(shù)據(jù)表的導(dǎo)入導(dǎo)出。
二、實驗學(xué)時數(shù) 2學(xué)時
三、實驗步驟和內(nèi)容:
(一)觸發(fā)器
例子1: 假設(shè)XSCJ數(shù)據(jù)庫中增加一個新表XSB_HIS,表結(jié)構(gòu)和表XSB相同,用來存放從XSB表中刪除的記錄。創(chuàng)建一個觸發(fā)器,當(dāng)XSB表被刪除一行,把刪除的記錄寫到日志表XSB_HIS中。
CREATE OR REPLACE TRIGGER del_xs BEFORE DELETE ON XSB FOR EACH ROW BEGIN INSERT INTO XSB_HIS(XH,XM, XB,CSSJ, ZY, ZXF,BZ)VALUES(:OLD.XH,:OLD.XM, :OLD.XB, :OLD.CSSJ, :OLD.ZY, :OLD.ZXF, :OLD.BZ);END;1.創(chuàng)建一個觸發(fā)器,當(dāng)XSB表刪除一個人時,把這個人的選課信息也刪掉。CREATE OR REPLACE TRIGGER del_xs BEFORE DELETE ON XSB FOR EACH ROW BEGIN
第35頁 DELETE FROM CJB WHERE XH=:OLD.XH;END del_xs;
(二)用戶和角色
1.創(chuàng)建一個用戶tom,密碼為cat。該用戶角色為dba。使用該用戶建表,插入數(shù)據(jù)。
CREATE USER tom identified by cat default tablespace users;grant dba to tom;導(dǎo)入table.sql和insert.sql drop user tom cascade;
(三)數(shù)據(jù)庫邏輯備份 exp和imp的使用
(1)將XSB,KCB和CJB表導(dǎo)出成為DMP文件
(2)將XSB,KCB和CJB表刪除
(3)將剛導(dǎo)出DMP文件導(dǎo)入恢復(fù)3個表
(1)將用戶tom導(dǎo)出成為DMP文件
(2)將用戶tom刪除再重建
(3)將剛導(dǎo)出DMP文件導(dǎo)入恢復(fù)用戶tom
四、上機(jī)作業(yè)
完成實驗內(nèi)容中的任務(wù)。
五、心得體會
第36頁 通過這次實踐,我明白了什么是觸發(fā)器,并掌握的它的使用方法,還掌握了用戶和角色的創(chuàng)建和使用。還學(xué)會了數(shù)據(jù)表的導(dǎo)入導(dǎo)出,使保存數(shù)據(jù)變的很容易。
第37頁
第三篇:Oracle數(shù)據(jù)庫實驗報告
中南林業(yè)科技大學(xué)
實驗報告
課程名稱:
Oracle數(shù)據(jù)庫 專業(yè)班級: 姓名:
學(xué)號:
****年**月**日
實驗一
安裝和使用Oracle數(shù)據(jù)庫
【實驗?zāi)康摹?/p>
1.掌握Oracle軟件安裝過程,選擇安裝組件 2.掌握建立Oracle數(shù)據(jù)庫,配置網(wǎng)絡(luò)連接 3.掌握Oracle企業(yè)管理器的基本操作 4.使用SQL*Plus,登錄到實例和數(shù)據(jù)庫 5.掌握命令方式的關(guān)閉和啟動實例及數(shù)據(jù)庫 【實驗內(nèi)容】
1.查看已安裝的Oracle組件
2.查看服務(wù),記錄下和數(shù)據(jù)庫有關(guān)的服務(wù)名,將他們設(shè)為手動方式,啟動相關(guān)服務(wù)。
3.配置監(jiān)聽器,查看是否在服務(wù)中有LISTENER,是否能啟動。4.配置本地net服務(wù),提示:設(shè)置正確的服務(wù)器地址和端口號。5.打開SQL*Plus,用SYS和SYSTEM用戶名和密碼登錄。6.思考題:有幾種打開SQL*Plus的方法?分別是什么? 7.用命令關(guān)閉實例和數(shù)據(jù)庫,記錄命令
8.用命令以NOMOUNT的方式啟動實例,再加載數(shù)據(jù)庫,打開數(shù)據(jù)庫。
【實驗結(jié)論】
1.查看已安裝的Oracle組件
2.查看服務(wù),記錄下和數(shù)據(jù)庫有關(guān)的服務(wù)名,將他們設(shè)為手動方式,啟動相關(guān)服務(wù)。
3.配置監(jiān)聽器,查看是否在服務(wù)中有LISTENER,是否能啟動。
4.配置本地net服務(wù),提示:設(shè)置正確的服務(wù)器地址和端口號。
5.打開SQL*Plus,用SYS和SYSTEM用戶名和密碼登錄。
6.思考題:有幾種打開SQL*Plus的方法?分別是什么?(1)直接打開 sql plus 即窗口方式(2)cmd 命令行方式
(3)WEB 頁面中 iSQL*Plus 方式 7.用命令關(guān)閉實例和數(shù)據(jù)庫,記錄命令 SQL>shutdown immediate
8.用命令以NOMOUNT的方式啟動實例,再加載數(shù)據(jù)庫,打開數(shù)據(jù)庫。
sql>startup nomount sql>alter database mount;sql>alter database open;sql>startup
(1).用SQLplus 命令:show parameters參數(shù)名
(2).用select [列名] from 表名
2.初始化文件有幾種?默認(rèn)的保存位置在哪里?
初始化文件有三種:數(shù)據(jù)文件,日志文件,控制文件; 默認(rèn)的保存位置E:oracleproduct10.2.0oradataorcl
4.打開OEM,查看三類物理文件信息
三類物理文件:數(shù)據(jù)文件、控制文件、日志文件 數(shù)據(jù)文件:.DBF存儲表、索引及數(shù)據(jù)結(jié)構(gòu)信息
日志文件:.LOG記錄對數(shù)據(jù)庫的所有修改信息,用于恢復(fù)
控制文件:.CTL二進(jìn)制文件,記錄數(shù)據(jù)庫名、文件標(biāo)識、檢查點
5.分別用select命令查詢V$parameter動態(tài)性能視圖,用show命令查看全局?jǐn)?shù)據(jù)庫名、實例名、是否啟動自動歸檔、標(biāo)準(zhǔn)數(shù)據(jù)塊大小這四個參數(shù)的值,記錄命令和結(jié)果。用select命令查詢V$parameter動態(tài)性能視圖
用show命令查看全局?jǐn)?shù)據(jù)庫名、實例名
用show命令查看是否啟動自動歸檔、標(biāo)準(zhǔn)數(shù)據(jù)塊大小
6.如何用命令查看數(shù)據(jù)文件、控制文件的文件名、存儲位置和狀態(tài)信息?
(1).查看數(shù)據(jù)文件的文件名、存儲位置和狀態(tài)信息
(2).查看控制文件的文件名、存儲位置和狀態(tài)信息
0
和服務(wù)器型文件都要找到),查看各類默認(rèn)位置并記錄下來(包括物理文件所在目錄,該數(shù)據(jù)庫相關(guān)的各個目錄等),登錄到mydb數(shù)據(jù)庫。
2.用命令方式手工創(chuàng)建數(shù)據(jù)庫testorcl
(1)創(chuàng)建批處理文件,建立必需的各級目錄,參考第一題MYDB數(shù)據(jù)庫的默認(rèn)目錄。
(4)運行數(shù)據(jù)庫建立腳本,更改相關(guān)服務(wù)為手動啟動方式
(5)運行數(shù)據(jù)字典等創(chuàng)建腳本
3.在DBCA中刪除MYDB數(shù)據(jù)庫。
Enter valuefor 4:runner Specify log path as parameter 5: Enter valuefor 5: D:oracleproduct10.2.0db_2RDBMSlog
二、完成下面的查詢,記錄查詢命令和結(jié)果。1.查詢HR方案種有哪些表,列出表名 2.設(shè)置行寬為160,每頁行數(shù)為40 3.查詢employees表中所有薪水在3000到6000元之間的員工編號、姓、名、受聘日期、工作代號、薪水、經(jīng)理代號、部門號,按部門號升序排列,同一部門按員工編號降序排列
4.查詢每個部門的人數(shù)、平均薪水、最高薪水、最低薪水,按部門編號升序排列
5.查詢first_name的第三個字母是t的員工編號,first_name,電話號碼,部門編號,部門名稱
6.在job_history表中查詢?nèi)温殨r間超過1年的員工編號,任職歷時月份(保留整數(shù)),工作代號,部門代號。
7.查詢每個部門經(jīng)理的員工編號、姓名、薪水、部門號。
【實驗結(jié)論】
一、需要訪問HR示例方案中的表,如果機(jī)器上沒有該示例方案,則運行相關(guān)包和相應(yīng)配置裝入HR方案。
1.將hr.rar解壓到D:oracleproduct10.2.0db_2demoschema human_resources目錄下,然后在SQL*PLUS 中執(zhí)行 hr_main.sql
二、完成下面的查詢,記錄查詢命令和結(jié)果。1.查詢HR方案種有哪些表,列出表名
5.查詢first_name的第三個字母是t的員工編號,first_name,電話號碼,部門編號,部門名稱
738
實驗五
PL/SQL編程
【實驗?zāi)康摹?/p>
1.熟悉PL/SQL的數(shù)據(jù)類型和書寫規(guī)則 2.熟悉控制結(jié)構(gòu)和游標(biāo)的使用 3.編寫和運行函數(shù)、過程和觸發(fā)器 【實驗內(nèi)容】
編寫腳本文件,調(diào)試運行腳本文件,并記錄結(jié)果。
1.在SQL*Plus中編寫一個PL/SQL塊,功能用于打印學(xué)生信息 在DECLARE部分完成:
(2)建立學(xué)生信息記錄類型stu_record_type,包括學(xué)號,姓名,性別,籍貫,學(xué)習(xí)成績和活動成績。均為可變長字符類型(3)編寫本地子過程:學(xué)生信息打印過程PrintStuRecord,把(1)中定義的記錄類型作為參數(shù)(4)定義學(xué)生信息記錄變量stu_record 在BEGIN…END部分完成:
(1)為stu_record變量的各個元素賦值如下: 學(xué)號:‘2001001’ 姓名:’李新’
性別:‘m’
籍貫:‘黑龍江省哈爾濱市’ 學(xué)習(xí)成績:‘Excellent’
0
(1)建立學(xué)生信息記錄類型stu_record_type,包括學(xué)號,姓名,性別,籍貫,學(xué)習(xí)成績和活動成績。均為可變長字符類型
set serveroutput on declare type stu_record_type is record
(s_no varchar2(8), s_name varchar2(10), s_sex varchar2(2), s_address varchar2(20), s_studyscore varchar2(10), s_activescore varchar2(10));(2)編寫本地子過程:學(xué)生信息打印過程PrintStuRecord,把中定義的記錄類型作為參數(shù)
procedure PrintStuRecord as begin dbms_output.put_line('學(xué)號:'|| stu_record.s_no);dbms_output.put_line('姓名 :'|| stu_record.s_name);dbms_output.put_line('性別:'|| stu_record.s_sex);dbms_output.put_line('籍貫:'|| stu_record.s_address);dbms_output.put_line('學(xué)習(xí)成績:'|| stu_record.s_studyscore);dbms_output.put_line('活動成績:'|| stu_record.s_activescore);end PrintStuRecord;(3)定義學(xué)生信息記錄變量stu_record stu_record stu_record_type;在BEGIN…END部分完成:
(4)為stu_record變量的各個元素賦值如下: 學(xué)號:‘2001001’ 姓名:’李新’
性別:‘m’
籍貫:‘黑龍江省哈爾濱市’
2.建立對bookinfo表的DML觸發(fā)器,一旦bookinfo表發(fā)生了任何變化,立即觸發(fā),對bookinfo表的數(shù)據(jù)進(jìn)行統(tǒng)計,結(jié)果存儲在數(shù)據(jù)統(tǒng)計表中
(1)如果沒有則建立bookinfo表,選擇建立在scott用戶下,表結(jié)構(gòu)為(bookno varchar2(36)Primary key, bookname varchar2(40)not null, authorname varchar2(10)not null, publishtime date, bookprice float)
create table bookinfo(bookno varchar2(36)Primary key,4
Selectcount(bookno),count(distinct authorname)from bookinfo;end;/
(4)在bookinfo表中插入、刪除和更新信息,再查看major_stats表中數(shù)據(jù)的變化 <1>插入
647
實驗六
模式對象管理與安全管理
【實驗?zāi)康摹?/p>
1.了解模式對象的類型
2.掌握在OEM中操作模式對象的方法
3.掌握命令方式建立表、視圖、索引等常見對象的方法 4.熟悉Oracle中權(quán)限分類和設(shè)置,理解系統(tǒng)提供用戶的角色和權(quán)限
5.熟練使用建立用戶、角色,為用戶授權(quán)、授予角色的命令
【實驗內(nèi)容】
1.創(chuàng)建一個TESTUSET用戶,密碼為test,默認(rèn)表空間為user表空間
2.創(chuàng)建用戶后為其授予登錄數(shù)據(jù)庫和創(chuàng)建數(shù)據(jù)庫對象的權(quán)限 3.用TESTUSER用戶登錄數(shù)據(jù)庫
4.創(chuàng)建學(xué)生信息表(學(xué)號,姓名,性別,入學(xué)成績),定義主鍵和輸入數(shù)據(jù)(至少5條數(shù)據(jù)),提交添加的數(shù)據(jù)。并完成下面的題目:
(1)再繼續(xù)添加2條數(shù)據(jù),設(shè)置一個保存點savepoint,再添加1條數(shù)據(jù),執(zhí)行回退到保存點的回退命令。查看此時表中數(shù)據(jù)(2)查詢?nèi)雽W(xué)成績大于480的學(xué)生信息(3)建立男生信息視圖
(4)在“成績”字段上建立B-樹索引
5.創(chuàng)建一個表簇,名為empl_dep,容納empl表和dep表,有公
第四篇:Oracle安裝報告
Oracle 安裝報告
安裝Oracle 10g 數(shù)據(jù)庫
步驟:
1、先裝虛擬機(jī)
2、在虛擬機(jī)中裝一個windows xp 操作系統(tǒng)
3、安裝數(shù)據(jù)庫Oracle 10g 在windows xp 中(注意安裝時的細(xì)節(jié))
注釋:由于Oracle 10g 數(shù)據(jù)庫卸載比較麻煩,所以我們選擇在虛擬機(jī)中安裝 虛擬機(jī)的安裝:
從官網(wǎng)上下載一個虛擬機(jī),然后進(jìn)行安裝,根據(jù)提示一步一步的安裝,最后完成。Windows xp 的安裝:
在虛擬機(jī)中找到windows 鏡像的路徑,點擊確定。然后運行,進(jìn)行安裝。分配空間時,不能分的太小,不然Oracle 會跑步起來,硬盤分配不能低于10G,內(nèi)存不能少于256MB。系統(tǒng)安裝完畢以后,在安裝一個小工具,就是Vmare Tools 工具,裝上這個工具就可以從我們的電腦上拷貝數(shù)據(jù)了。Oracle 10g 安裝:
先把數(shù)據(jù)庫安裝文件拷貝到虛擬機(jī)中,然后在進(jìn)行安裝。安裝時會遇到很多問題,一定要仔細(xì)對待。本數(shù)據(jù)庫安裝會默認(rèn)三個用戶:sys(默認(rèn)密碼change_on_install)、system(默認(rèn)密碼manager)、scott(默認(rèn)密碼tiger)。默認(rèn)數(shù)據(jù)庫orcl 在密碼設(shè)置的時候,首字母必須是英文字母,不能為數(shù)字。路徑的設(shè)置也要注意。安裝完成以后,進(jìn)行測試一下,點擊sqlplus,進(jìn)入這個界面,出現(xiàn)一個登錄界面,輸入用戶名System,你自己設(shè)置的密碼 ******,主機(jī)字符串就不用管了,因為現(xiàn)在你就有一個數(shù)據(jù)庫。進(jìn)入以后若出現(xiàn)連接成功就說明Oracle 安裝成功。心得體會:
在安裝Oracle數(shù)據(jù)庫的過程中,我也遇到了一系列的問題,通過詢問老師和同學(xué)、查閱資料,最總得到了解決。自我感覺還可以,自己進(jìn)行安裝開發(fā)軟件,從中能學(xué)到不少的東西,進(jìn)而為以后的發(fā)展打下一定的基礎(chǔ)。這樣的話我們就會對這個產(chǎn)品更加徹底的了解了。
第五篇:1,班級學(xué)號姓名,實驗報告范文Oracle安裝
《Oracle 數(shù)據(jù)庫系統(tǒng)》電子實驗報告(1)
題 目:安裝 Oracle 數(shù)據(jù)庫
日期
201..姓 名
實驗環(huán)境:
Windows 或 linux,Oracle 11g 2
實驗?zāi)康模?/p>
1.熟悉 Oracle 數(shù)據(jù)庫安裝包的獲取方法 2.熟悉 Oracle 軟件的安裝
實驗內(nèi)容:
1.安裝環(huán)境說明
2.安裝包的獲取
3.安裝步驟,及注意事項
4.Oracle 數(shù)據(jù)庫的初步使用 1)Sql Plus 環(huán)境
2)Sql Developer 環(huán)境 3)瀏覽器環(huán)境
完成情況:
完成了***************完成了****************
出現(xiàn)的問題:(小四宋體)在完成**任務(wù)時,遇到了**問題,解決思路是****,解決步驟時*****。在完成**任務(wù)時,遇到了**問題,解決思路是****,解決步驟時*****。
*****************