韓順平玩轉(zhuǎn)Oracleg實戰(zhàn)教程全套PPT_第1頁
韓順平玩轉(zhuǎn)Oracleg實戰(zhàn)教程全套PPT_第2頁
韓順平玩轉(zhuǎn)Oracleg實戰(zhàn)教程全套PPT_第3頁
韓順平玩轉(zhuǎn)Oracleg實戰(zhàn)教程全套PPT_第4頁
韓順平玩轉(zhuǎn)Oracleg實戰(zhàn)教程全套PPT_第5頁
已閱讀5頁,還剩217頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Linux公社(LinuxIDC.com) Linux公社(LinuxIDC.com)于2006年9月25日注冊并開通網(wǎng)站,Linux現(xiàn)在已經(jīng)成為一種廣受關(guān)注和支持的一種操作系統(tǒng),IDC是互聯(lián)網(wǎng)數(shù)據(jù)中心,LinuxIDC就是關(guān)于Linux的數(shù)據(jù)中心。 Linux公社是專業(yè)的Linux系統(tǒng)門戶網(wǎng)站,實時發(fā)布最新Linux資訊,包括Linux、Ubuntu、Fedora、RedHat、紅旗Linux、Linux教程、Linux認證、SUSE Linux、Android、Oracle、Hadoop等技術(shù)。主講 韓順平玩轉(zhuǎn)玩轉(zhuǎn)oracle 10goracle 10g實戰(zhàn)教程實戰(zhàn)教程主講:韓順平主講:韓

2、順平emailemail:主講 韓順平玩轉(zhuǎn)玩轉(zhuǎn)oracle 10goracle 10g實戰(zhàn)教程實戰(zhàn)教程oracle oracle 第第1 1講講0.引言1.為什么要學習oracle2.oracle的安裝,啟動及卸載 3.介紹oracle及oracle公司的背景4.oracle開發(fā)工具介紹5.sql*plus的常用命令6.oracle用戶的管理主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程學習目標學習目標1.學會安裝/啟動/卸載oracle2.使用sql*plus工具3.掌握oracle用戶管理4.學會在oracle中編寫簡單的select語句學習目標學習目標主講 韓順平引言 一個問題玩轉(zhuǎn)orac

3、le 10g實戰(zhàn)教程 淘寶網(wǎng),天涯網(wǎng)淘寶網(wǎng),天涯網(wǎng), ,校友網(wǎng)校友網(wǎng).都有各自的功能都有各自的功能, ,那么那么當當 我們關(guān)閉系統(tǒng)的時候,下次再訪問這些網(wǎng)站我們關(guān)閉系統(tǒng)的時候,下次再訪問這些網(wǎng)站時,為什時,為什 么他們各自的信息還存在么他們各自的信息還存在? ?再比如再比如c/sc/s的軟件,比如網(wǎng)游、的軟件,比如網(wǎng)游、qqqq、他們又是怎樣保存數(shù)據(jù)的、他們又是怎樣保存數(shù)據(jù)的? ? a.a.游戲積分游戲積分 b.qqb.qq聊天記錄聊天記錄.主講 韓順平引言 解決之道玩轉(zhuǎn)oracle 10g實戰(zhàn)教程 解決之道解決之道- -文件、數(shù)據(jù)庫文件、數(shù)據(jù)庫我們剛學習過文件我們剛學習過文件, ,大家可能回

4、答用文件就可以保存數(shù)據(jù)嘛大家可能回答用文件就可以保存數(shù)據(jù)嘛! !沒有錯,可以如果用文件保存數(shù)據(jù)存在幾個缺點沒有錯,可以如果用文件保存數(shù)據(jù)存在幾個缺點: :(1)(1)文件的安全性問題文件的安全性問題(2)(2)文件不利于查詢和對數(shù)據(jù)的管理文件不利于查詢和對數(shù)據(jù)的管理(3)(3)文件不利于存放海量數(shù)據(jù)文件不利于存放海量數(shù)據(jù)(4)(4)文件在程序中控制不方便文件在程序中控制不方便主講 韓順平引言 解決之道玩轉(zhuǎn)oracle 10g實戰(zhàn)教程 解決之道解決之道- -文件、數(shù)據(jù)庫文件、數(shù)據(jù)庫為了解決上述問題為了解決上述問題, ,專家們設(shè)計出更加利于管理數(shù)據(jù)的東專家們設(shè)計出更加利于管理數(shù)據(jù)的東東東- -數(shù)據(jù)

5、庫數(shù)據(jù)庫( (本質(zhì)就是一個本質(zhì)就是一個軟件軟件) ),它能更有效的管理數(shù)據(jù)。,它能更有效的管理數(shù)據(jù)。數(shù)據(jù)庫是衡量一個程序員水平的重要指標。數(shù)據(jù)庫是衡量一個程序員水平的重要指標。舉一個生活化的案例說明舉一個生活化的案例說明 如果說如果說 圖書館是保存書籍的圖書館是保存書籍的, ,那么數(shù)據(jù)庫就那么數(shù)據(jù)庫就是保存數(shù)據(jù)的。是保存數(shù)據(jù)的。概述:目前主流數(shù)據(jù)庫包括概述:目前主流數(shù)據(jù)庫包括微軟:微軟:sql server sql server 和和 accessaccess瑞典瑞典MySQLMySQL:ABAB公司公司 mysqlmysql ibmibm公司:公司:db2db2 美國美國SybaseSyba

6、se公司:公司: SybaseSybase ibmibm公司:公司: informixinformix 美國美國oracleoracle公司:公司: oracleoracle簡單對上面六種主流數(shù)據(jù)庫做一個對比。簡單對上面六種主流數(shù)據(jù)庫做一個對比。 作圖作圖 主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程為什么選擇oracle 性能優(yōu)越概述:從目前軟件公司對數(shù)據(jù)庫的需求看,概述:從目前軟件公司對數(shù)據(jù)庫的需求看,oralce程序員的需求量是最程序員的需求量是最大的,這里有一些數(shù)據(jù)大家可以看看。大的,這里有一些數(shù)據(jù)大家可以看看。主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程為什么選擇oracle 需求量

7、大概述:通過概述:通過oracle ocm認證參加工作的人,認證參加工作的人,一般月薪或年薪是多少?一般月薪或年薪是多少?我們看看別人怎么說我們看看別人怎么說?oracle的認證考試簡單介紹。的認證考試簡單介紹。主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程為什么選擇oracle 待遇好主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle的安裝的安裝系統(tǒng)要求系統(tǒng)要求 操作系統(tǒng)最好為windows server 內(nèi)存最好在256M以上 硬盤空間需要2G以上oracle的具體安裝、啟動我這里給大家演示一下。主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程數(shù)據(jù)庫服務(wù)器、數(shù)據(jù)庫和表的關(guān)系OracleDB

8、實例DB實例數(shù)據(jù)庫對象數(shù)據(jù)庫對象數(shù)據(jù)庫對象Clientl所謂安裝數(shù)據(jù)庫服務(wù)器,只是在機器上裝了一個數(shù)據(jù)庫管理程序,這個管理程序可以管理多個數(shù)據(jù)庫,一般開發(fā)人員會針對每一個應(yīng)用創(chuàng)建一個數(shù)據(jù)庫。l為保存應(yīng)用中實體的數(shù)據(jù),一般會在數(shù)據(jù)庫創(chuàng)建多個表,以保存程序中實體的數(shù)據(jù)。l數(shù)據(jù)庫服務(wù)器、數(shù)據(jù)庫和表的關(guān)系如圖所示:主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle的卸載的卸載1.停止所有與ORACLE相關(guān)的服務(wù)。2. 使用OUI(Oracle Universal Installer)卸載Oracle軟件?!伴_始”-“程序”-“Oracle-OraDb110g_home1|Oracle insta

9、llation product|Universal installer.3.刪除注冊表內(nèi)容。運行regedit命令,刪除下面內(nèi)容:HKEY_LOCAL_MACHINE|SOFTWARE|ORACLE注冊表鍵,刪除此鍵。HKEY_LOCAL_MACHINE|SYSTEM|CurrentControlSet|Services,刪除Services鍵下所有以oracle為首的鍵。HKEY_LOCAL_MACHINE|SYSTEM|CurrentControlSet|Services|Eventlog|Application, 刪除此鍵下所有以oracle為首的鍵。HKEY_CLASSES_ROOT,

10、刪除此鍵下所有以O(shè)ra,Oracle,Orcl,EnumOra 為前綴的鍵。HKEY_CURRENT_USER|Software| Microsoft|Windows|CurrentVersion|Explorer|MenuOrder|Start Menu|Programs, 刪除此鍵下所有以oracle為首的鍵。HKEY_LOCAL_MACHINE|SOFTWARE|ODBC|ODBCINST.INI注冊表鍵,刪除了Microsoft ODBC FOR ORACLE注冊表鍵以外的所有有Oracle字樣的鍵值。HKEY_LOCAL_MACHINE|SYSTEM|CurrentControlSe

11、t|Services,刪除以O(shè)racle或OraWeb為前綴的鍵。4. 刪除環(huán)境變量。 刪除環(huán)境變量CLASSPATH,PATH中含有Oracle字樣的值。5.最后在文件系統(tǒng)內(nèi)刪除ORACLE相關(guān)的文件及目錄:刪除系統(tǒng)盤符:Progrm FilesOracle目錄;刪除ORACLE_BASE目錄。我無法刪除D:oracle目錄,重新啟動機器之后才刪除。神喻神喻 代神說話的人代神說話的人 甲骨文甲骨文暗示暗示 公司預作霸主的決心公司預作霸主的決心地位地位 全球第一大數(shù)據(jù)庫廠商全球第一大數(shù)據(jù)庫廠商全球第二大獨立軟件供應(yīng)商全球第二大獨立軟件供應(yīng)商主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracl

12、e公司介紹 oracle的含義主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracleoracle公司介紹公司介紹 公司發(fā)展與現(xiàn)狀公司發(fā)展與現(xiàn)狀 1970年 數(shù)據(jù)庫起家 1980年 ORACLE6版本 1990年 ORACLE7版本,多元化產(chǎn)品,以數(shù)據(jù)庫為優(yōu)先發(fā)展方向 1995年 ORACLE8版本 1999年 ORACLE8i版本 2001年 ORACLE9i release1 2002年 ORACLE9i release2 2003年 ORACLE10g版本 2007年 ORACLE11g版本 2009年,甲骨文以每股9.5美元的價格收購Sun,交易總價值約為74億美元。主講 韓順平玩轉(zhuǎn)o

13、racle 10g實戰(zhàn)教程oracle 10g 比oracle 9i增加了什么?簡要說:簡要說:10g支持網(wǎng)格(Grid),支持自動管理(Automatic Management)。詳細說:詳細說:10g的g是“Grid”縮寫,支持網(wǎng)格計算,即,多臺結(jié)點服務(wù)器利用高速網(wǎng)絡(luò)組成一個虛擬的高性能服務(wù)器,負載在整個網(wǎng)格中均衡(Load Balance),按需增點,避免單點故障(Single Point of Faliure)。安裝容易,安裝工作量比9i減少了一半。新增基于瀏覽器的企業(yè)管理器(Enterprise Manager)。oracleoracle公司介紹公司介紹 公司發(fā)展與現(xiàn)狀公司發(fā)展與現(xiàn)狀

14、主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracleoracle公司介紹公司介紹 Larry Ellisin Larry Ellisin 財富榜前30名之內(nèi) 與蓋茨可以相比 ORACLE的建立者和發(fā)展者 IT風云人物主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracleoracle公司介紹公司介紹 產(chǎn)品線產(chǎn)品線* 數(shù)據(jù)庫服務(wù)器:數(shù)據(jù)庫服務(wù)器:2007年最新版本年最新版本11G * 應(yīng)用服務(wù)器:應(yīng)用服務(wù)器: Oracle Application Server * 開發(fā)工具:開發(fā)工具:Oracle JDeveloper,Oracle Designer,Oracle Developer,等等,

15、等等 * 應(yīng)用軟件(主要競爭對手:德國應(yīng)用軟件(主要競爭對手:德國SAP公司。)公司。) * 企業(yè)資源計劃企業(yè)資源計劃(ERP)軟件。軟件。* 客戶關(guān)系管理客戶關(guān)系管理 (CRM)軟件。軟件。* 人力資源管理軟件人力資源管理軟件(HCM)。主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle管理工具的介紹管理工具的介紹(1)sql*plus是oracle自帶的工具軟件,主要用于執(zhí)行sql語句,plsql塊.如何使用如何使用:1)在開始-程序-oracle oradb_home10g-application development-sql*plus2)在運行欄中輸入: sqlplusw即可主

16、講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle管理工具的介紹管理工具的介紹(2)概述:sqlplus 是 dos下操作oracle的工具,其功能和sql*plus相似.1)在運行欄中輸入 sqlplus2)找到該可執(zhí)行文件sqlplus.exe,在oracle主目錄ora10gbinsqlplus.exe ,鼠標雙擊即可主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle管理工具的介紹管理工具的介紹(3)概述:pl/sql developer 屬于第三方軟件,主要用于開發(fā),測試,優(yōu)化 oracle pl/sql 的存儲過程比如: 觸發(fā)器,此軟件oracle不帶,需要單獨安裝。主講

17、韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle管理工具的介紹管理工具的介紹(4) Enterprise manager console(企業(yè)管理器企業(yè)管理器) oracle 10g是通過web管理的 一般默認端口是5500, 也有1158的。 訪問url(請一定保證oracle服務(wù)啟動了): http:/ip:1158 (也可能是5500)/em http:/機器名:端口/em主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程sql*plus常用命令常用命令 連接命令 (1)connect用法: conn 用戶名/密碼網(wǎng)絡(luò)服務(wù)名 as sysdba/sysoper當用特權(quán)用戶身份連接時,必須帶上

18、 as sysdba 或是 as sysoper(2)disconnect說明:該命令用來斷開與當前數(shù)據(jù)庫的連接(3)password說明:該命令用于修改用戶的密碼.如果要想修改其它用戶的密碼,需要用sys/system登陸.(4)show user說明:顯示當前用戶名(5)exit說明:該命令會斷開與數(shù)據(jù)庫的連接,同時會退出sql*plus主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程sql*plus常用命令常用命令 交互式命令(1)& 說明:可以替代變量,而該變量在執(zhí)行時,需要用戶輸入。 sqlselect * from emp where job=&job(2)edit 說

19、明:該命令可以編輯指定的sql腳本 案例:sqledit d:a.sql(3)spool 說明:該命令可以將sql*plus屏幕上的內(nèi)容輸出到指定文件中去. 案例:sqlspool d:b.sql 并輸入 sqlspool off主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程sql*plus常用命令常用命令 顯示和設(shè)置環(huán)境變量概述:可以用來控制輸出的各種格式。(1)linesize 說明:設(shè)置顯示行的寬度,默認是80個字符 sqlshow linesize sqlset linesize 90(2)pagesize 說明:設(shè)置每頁顯示的行數(shù)目,默認是14,用法和linesize一樣。至于其它環(huán)境

20、參數(shù)的使用也是大同小異主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle用戶管理用戶管理 創(chuàng)建用戶創(chuàng)建用戶(簡單版簡單版)概述:在oracle中要創(chuàng)建一個新的用戶使用 create user 語句,一般是具有dba(數(shù)據(jù)庫管理員)的權(quán)限才能使用。基本語法:create user 用戶名用戶名 identified by 密碼密碼 給用戶修改密碼給用戶修改密碼 概述:如果給自己修改密碼可以直接使用 sqlpassword 用戶名 如果給別人修改密碼則需要具有dba的權(quán)限,或是擁有alter user的系統(tǒng)權(quán)限 sqlalter user 用戶名 identified by 新密碼主講 韓順

21、平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle用戶管理用戶管理 創(chuàng)建用戶(細節(jié))例子: sql create user shunping identified by m123default tablespace userstemporary tablespace tempquota 3m on users;identified by 表明該用戶shunping 將用數(shù)據(jù)庫方式驗證 default tablespace users /用戶的表空間在users上temporary tablespace temp /用戶shunping的臨時表健在temp 空間quota 3m on users /

22、表明用戶shunping 建立的數(shù)據(jù)對象(表,索引,視圖,pl/sql塊.)最大只能是3m剛剛創(chuàng)建的用戶是沒有任何權(quán)限的,因此,需要dba給該用戶授權(quán).sqlgrant connect to shunping 如果你希望該用戶建表沒有空間的限制sqlgrand resource to shunping如果你希望該用戶成為dbasqlgrant dba to shunping主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle用戶管理用戶管理 刪除用戶刪除用戶概述:一般以dba的身份去刪除某個用戶,如果用其它用戶去刪除用戶則需要具有 drop user的權(quán)限。比如 drop user 用戶名

23、用戶名 【cascade】主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle用戶管理用戶管理 用戶管理的綜合案例概述:創(chuàng)建的新用戶是沒有任何權(quán)限的,甚至連登錄的數(shù)據(jù)庫的權(quán)限都沒有,需要為其指定相應(yīng)的權(quán)限。給一個用戶賦權(quán)限使用命令grant,回收權(quán)限使用命令 revoke?;菊Z法基本語法: grant 權(quán)限權(quán)限/角色角色 to 用戶用戶為了給講清楚用戶的管理,這里我給大家舉一個案例。創(chuàng)建 xiaoming,并賦予 connect 和 resource 回收權(quán)限主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle用戶管理用戶管理 使用profile管理用戶口令概述:profile是口令

24、限制,資源限制的命令集合,當建立數(shù)據(jù)時,oracle會自動建立名稱為default的profile,當建立用戶沒有指定profile選項,那oracle就會將default分配給用戶。(1)帳戶鎖定帳戶鎖定概述: 指定該帳戶(用戶)登陸時最多可以輸入密碼的次數(shù),也可以指定用戶鎖定的時間(天)一般用dba的身份去執(zhí)行該命令例子:指定scott這個用戶最多只能嘗試3次登陸,鎖定時間為2天,讓我們看看怎么實現(xiàn)。創(chuàng)建創(chuàng)建profile文件文件sql create profile lock_account limit failed_login_attempts 3 password_lock_time

25、2;sqlalter user tea profile lock_account;主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle用戶管理用戶管理2)給帳戶給帳戶(用戶用戶)解鎖解鎖sql alter user tea account unlock;(3)終止口令終止口令為了讓用戶定期修改密碼可以使用終止口令的指令來完成,同樣這個命令也需要dba身份來操作.例子:給前面創(chuàng)建的用戶tea創(chuàng)建一個profile文件,要求該用戶每隔10天要修改自家的登陸密碼,寬限期為2天??纯丛趺醋?sql create profile myprofile limit password_life_time

26、10 password_grace_time 2;sqlalter user tea profile myprofile主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle用戶管理用戶管理 口令歷史口令歷史概述:如果希望用戶在修改密碼時,不能使用以前使用過的密碼,可使用口令歷史,這樣oracle就會將口令修改的信息存放到數(shù)據(jù)字典中,這樣當用戶修改密碼時,oracle就會對新舊密碼進行比較,當發(fā)現(xiàn)新舊密碼一樣時,就提示用戶重新輸入密碼。例子: 1)建立建立profile sql create profile password_history limit password_life_time

27、10 password_grace_time 2 password_reuse_time 10 password_reuse_time /指定口令可重用時間即10天后就需要修改 2)分配給某個用戶分配給某個用戶. sqlalter user tea profile myprofile主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle用戶管理用戶管理 刪除刪除profileprofile概述:當不需要某個profile文件時,可以刪除該文件.sql drop profile sql drop profile profileprofile文件名文件名主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教

28、程oracle數(shù)據(jù)庫啟動流程數(shù)據(jù)庫啟動流程oracle也可以通過命令行的方式啟動,我們看看具體是怎樣操作。 oracle啟動流程啟動流程-windows下下 1)lsnrctl start (啟動監(jiān)聽啟動監(jiān)聽) 2)oradim startup sid 數(shù)據(jù)庫實例名數(shù)據(jù)庫實例名 oracle啟動流程啟動流程-linux下下 1)lsnctl start(啟動監(jiān)聽啟動監(jiān)聽) 2)sqlplus sys/change_on_install as sysdba (以以sysdba身份登錄身份登錄,在在oracle10g后可以這樣寫后可以這樣寫)sqlplus /nologconn sys/chang

29、e_on_install as sysdba 3)startup 主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle登錄認證方式登錄認證方式 oracle登錄認證方式登錄認證方式-windows下下概述:oracle登錄認證在windows下和linux下是不完全相同的,這里我們先說說windows下oracle的登錄認證方式.操作系統(tǒng)認證操作系統(tǒng)認證如果當前用戶屬于本地操作系統(tǒng)的ora_dba組(對于Windows操作系統(tǒng)而言),即可通過操作系統(tǒng)認證。oracle數(shù)據(jù)庫驗證數(shù)據(jù)庫驗證(密碼文件驗證密碼文件驗證)對于普通用戶對于普通用戶,oracle默認使用數(shù)據(jù)庫驗證。對于特權(quán)用戶對于特

30、權(quán)用戶(比如比如sys用戶用戶),oracle默認使用操作系統(tǒng)認證,如果驗證不通過,再到數(shù)據(jù)庫驗證(密碼文件驗證)。通過配置sqlnet.ora文件,可以修改oracle登錄認證方式SQLNET.AUTHENTICATION_SERVICES= (NTS)是基于操作系統(tǒng)驗證;SQLNET.AUTHENTICATION_SERVICES= (NONE)是基于Oracle驗證;SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)是二者共存。主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle登錄認證方式登錄認證方式 oracle登錄認證方式登錄認證方式-linu

31、x下下這里大家了解即可:默認情況下linux下的oracle數(shù)據(jù)庫sqlnet.ora文件沒有SQLNET.AUTHENTICATION_SERVICES參數(shù),此時是基于操作系統(tǒng)認證和oracle密碼驗證共存的,加上SQLNET.AUTHENTICATION_SERVICES參數(shù)后,不管SQLNET.AUTHENTICATION_SERVICES設(shè)置為NONE或者NTS,都是基于oracle密碼驗證的。主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程丟失管理員密碼怎么辦丟失管理員密碼怎么辦恢復辦法:把原有密碼文件刪除,生成一個新的密碼文件?;謴筒襟E如下:恢復步驟如下: 搜索名為 PWD數(shù)據(jù)庫實例名

32、.ora 文件 刪除該文件,為預防萬一,建議大家備份 生成新的密碼文件,在dos控制臺下輸入命令:orapwd file=原來密碼文件的全路徑密碼文件名.ora password=新密碼 entries=10;/entries:允許幾個特權(quán)用戶 密碼文件名 一定要和原來的密碼文件名一樣。Linux公社(LinuxIDC.com) Linux公社(LinuxIDC.com)于2006年9月25日注冊并開通網(wǎng)站,Linux現(xiàn)在已經(jīng)成為一種廣受關(guān)注和支持的一種操作系統(tǒng),IDC是互聯(lián)網(wǎng)數(shù)據(jù)中心,LinuxIDC就是關(guān)于Linux的數(shù)據(jù)中心。 Linux公社是專業(yè)的Linux系統(tǒng)門戶網(wǎng)站,實時發(fā)布最新L

33、inux資訊,包括Linux、Ubuntu、Fedora、RedHat、紅旗Linux、Linux教程、Linux認證、SUSE Linux、Android、Oracle、Hadoop等技術(shù)。主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle第第2講講0. 0. 數(shù)據(jù)庫的一些基本概念數(shù)據(jù)庫的一些基本概念 1. 1. 表的管理表的管理 2. 2. 基本查詢基本查詢3. 3. 復雜查詢復雜查詢4. 4. 創(chuàng)建數(shù)據(jù)庫實例創(chuàng)建數(shù)據(jù)庫實例主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程基本概念基本概念-數(shù)據(jù)庫服務(wù)器、數(shù)據(jù)庫和表的關(guān)系數(shù)據(jù)庫服務(wù)器、數(shù)據(jù)庫和表的關(guān)系MySQLDBDB表表Clientl所謂

34、安裝數(shù)據(jù)庫服務(wù)器,只是在機器上裝了一個數(shù)據(jù)庫管理程序,這個管理程序可以管理多個數(shù)據(jù)庫,一般開發(fā)人員會針對每一個應(yīng)用創(chuàng)建一個數(shù)據(jù)庫。l為保存應(yīng)用中實體的數(shù)據(jù),一般會在數(shù)據(jù)庫創(chuàng)建多個表,以保存程序中實體的數(shù)據(jù)。l數(shù)據(jù)庫服務(wù)器、數(shù)據(jù)庫和表的關(guān)系如圖所示:表主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程基本概念-數(shù)據(jù)在數(shù)據(jù)庫中的存儲方式id=1name=“l(fā)isi”age=23User對象idnameage1lisi232wang24User表id=2name=“wang”age=24行(row)列(column)l表的一行稱之為一條記錄l表中一條記錄對應(yīng)一個java對象的數(shù)據(jù)User對象主講 韓順平玩

35、轉(zhuǎn)oracle 10g實戰(zhàn)教程表的管理-創(chuàng)建表(基本語句)CREATE TABLE table_name(field1 datatype,field2 datatype,field3 datatype,)field:指定列名datatype:指定列類型注意:創(chuàng)建表時,要根據(jù)需保存的數(shù)據(jù)創(chuàng)建相應(yīng)的列,并根據(jù)數(shù)據(jù)的類型定義相應(yīng)的列類型。例:user對象 id int name string password string birthday dateIdName Passwordbirthday主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程表的管理表的管理oracle常用數(shù)據(jù)類型常用數(shù)據(jù)類型分類數(shù)據(jù)類

36、型說明文本、二進制類型CHAR(size) char(20)VARCHAR(size) varchar(20)nchar(n) nvarchar2(n)clob(character large object)blob(binary large object) 定長 最大2000字符變長 最大4000字符Unicode數(shù)據(jù)類型 ,定長 最大2000字符Unicode數(shù)據(jù)類型 ,變長 最大4000字符字符型大對象 ,最大8tb二進制數(shù)據(jù) 可以存放圖片/聲音 8tb數(shù)值類型number(p,s)p為整數(shù)位,s為小數(shù)位.范圍: 1 = p =38, -84 = s = 127保存數(shù)據(jù)范圍:-1.0e-

37、130 = number value 1.0e+126 保存在機器內(nèi)部的范圍: 1 22 bytes時間日期dateTIMESTAMP(n)包含年月日,時分秒。默認格式:DD-MON-YYYY。從公元前4712年1月1日到公元4712年12月31日的所有合法日期n的取值為09.表示指定TIMESTAMP中秒的小數(shù)位數(shù)。N為可選。如果n為0,timestamp與date等價不推薦 number可以理解成是一個可變的數(shù)值類型,比如 number(12) ,你放一個小整數(shù),它占用的字節(jié)數(shù)就少,你放一個大整數(shù),它占用的字節(jié)數(shù)就多,很好!主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表的管理表

38、的管理-oracle支持的數(shù)據(jù)類型支持的數(shù)據(jù)類型 數(shù)值型數(shù)值型 NUMBER(precision , scale) NUMBER(p,s)范圍: 1 = p =38, -84 = s = 127保存數(shù)據(jù)范圍:-1.0e-130 = number value 0精確到小數(shù)點右邊s位,并四舍五入。然后檢驗有效位是否 = p。s 0 精確到小數(shù)點左邊s位,并四舍五入。然后檢驗有效位是否 = p + |s|。s = 0 等價于NUMBER(p)此時NUMBER表示整數(shù)。 主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表的管理表的管理-oracle支持的數(shù)據(jù)類型支持的數(shù)據(jù)類型 數(shù)值型數(shù)值型 看

39、幾個案例看幾個案例:number(5,2)表示一個小數(shù)有5位有效數(shù),2位小數(shù) 。范圍 -999.99999.99如果數(shù)值超出了位數(shù)限制就會被截取多余的位數(shù)。但在一行數(shù)據(jù)中的這個字段輸入575.316,則真正保存到字段中的數(shù)值是575.32。number(5) number(5,0)表示一個五位整數(shù),范圍 -9999999999。輸入57523.316,真正保存的數(shù)據(jù)是57523主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表的管理表的管理-oracle支持的數(shù)據(jù)類型支持的數(shù)據(jù)類型 數(shù)值型數(shù)值型 (小練習小練習)Actual Data Specified As Stored As-12

40、3.89 NUMBER 123.89123.89 NUMBER(3) 124123.89 NUMBER(6,2) 123.89123.89 NUMBER(6,1) 123.9123.89 NUMBER(4,2) exceeds precision (有效位為5, 5 4)123.89 NUMBER(6,-2) 100.01234 NUMBER(4,5) .01234 (有效位為4).00012 NUMBER(4,5) .00012.000127 NUMBER(4,5) .00013.0000012 NUMBER(2,7) .0000012.00000123 NUMBER(2,7) .00000

41、121.2e-4 NUMBER(2,5) 0.000121.2e-5 NUMBER(2,5) 0.00001Actual Data Specified As Stored As-123.2564 NUMBER 123.25641234.9876 NUMBER(6,2) 1234.9912345.12345 NUMBER(6,2) Error (有效位為5+2 6)1234.9876 NUMBER(6) 1235 (s沒有表示s=0)12345.345 NUMBER(5,-2) 123001234567 NUMBER(5,-2) 123460012345678 NUMBER(5,-2) Erro

42、r (有效位為8 7)123456789 NUMBER(5,-4) 1234600001234567890 NUMBER(5,-4) Error (有效位為10 9)12345.58 NUMBER(*, 1) 12345.60.1 NUMBER(4,5) Error (0.10000, 有效位為5 4)0.01234567 NUMBER(4,5) 0.012350.09999 NUMBER(4,5) 0.09999主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表的管理表的管理創(chuàng)建表創(chuàng)建表 建表建表 -學生表-班級表包含: 班級編號,班級名稱字段字段字段類型字段類型Id整形整形name

43、字符型字符型sex字符型字符型brithday日期型日期型fellowship小數(shù)型小數(shù)型resume大文本型大文本型主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表的管理表的管理修改表修改表使用使用 ALTER TABLE 語句添加語句添加, 修改修改, 或刪除列的語法或刪除列的語法.ALTER TABLE tablenameADD (columnname datatype);ALTER TABLE tableMODIFY (columnname datatype);ALTER TABLE tableDROP column (column);修改表的名稱:rename 表名 to

44、新表名主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表的管理表的管理修改表修改表練習練習練習練習1.給學生表添加班級編號 2.學生姓名 變成 varchar2(30) 3 學生姓名 變成 char(30) 4.刪除學生表的 fellowship 字段 5.把學生表名 student修改成 stu 6.刪除學生表主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表的管理表的管理crudInsert語句 (增加數(shù)據(jù))Update語句 (更新數(shù)據(jù))Delete語句 (刪除數(shù)據(jù))Select語句 (查找數(shù)據(jù))主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表的管理表的管理添加數(shù)

45、據(jù)添加數(shù)據(jù)INSERT INTOtable (column , column.)VALUES(value , value.);使用 INSERT 語句向表中插入數(shù)據(jù)。l插入的數(shù)據(jù)應(yīng)與字段的數(shù)據(jù)類型相同。l數(shù)據(jù)的大小應(yīng)在列的規(guī)定范圍內(nèi),例如:不能將一個長度為80的字符串加入到長度為40的列中。l在values中列出的數(shù)據(jù)位置必須與被加入的列的排列位置相對應(yīng)。l字符和日期型數(shù)據(jù)應(yīng)包含在單引號中。字符和日期型數(shù)據(jù)應(yīng)包含在單引號中。l插入空值,不指定或insert into table value(null)主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表的管理表的管理添加數(shù)據(jù)添加數(shù)據(jù) 練習

46、:使用insert語句向表中插入三個學生的信息。l注意:字符和日期要包含在單引號中。字段字段字段類型字段類型Id整形整形name字符型字符型sex字符型字符型brithday日期型日期型fellowship小數(shù)型小數(shù)型resume大文本型大文本型主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表的管理表的管理添加數(shù)據(jù)添加數(shù)據(jù) 插入部分字段插入部分字段 插入空值插入空值INSERT INTOtable (column , column.)VALUES(value , value.);主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表的管理表的管理修改數(shù)據(jù)修改數(shù)據(jù)UPDATE tb

47、l_name SET col_name1=expr1 , col_name2=expr2 . WHERE where_definition 使用 update語句修改表中數(shù)據(jù)。lUPDATEUPDATE語法可以用新值更新原有表行中的各列。語法可以用新值更新原有表行中的各列。lSETSET子句指示要修改哪些列和要給予哪些值。子句指示要修改哪些列和要給予哪些值。lWHEREWHERE子句指定應(yīng)更新哪些行。如沒有子句指定應(yīng)更新哪些行。如沒有WHEREWHERE子句,則更新所有的行。子句,則更新所有的行。主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表的管理修改數(shù)據(jù)練習 改一個字段改一個字段

48、根據(jù)學號修改性別. 修改多個字段修改多個字段根據(jù)學號修改性別和生日 修改含有修改含有null值的數(shù)據(jù)值的數(shù)據(jù)l要求l將所有學生薪水修改為5000元。l將姓名為zs的學生薪水修改為3000元。l將lisi的薪水在原有基礎(chǔ)上增加1000元。l將沒有獎學金同學的獎學金改成10元主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表的管理表的管理刪除數(shù)據(jù)刪除數(shù)據(jù)delete from tbl_name WHERE where_definition 使用 delete語句刪除表中數(shù)據(jù)。l如果不使用where子句,將刪除表中所有數(shù)據(jù)。lDelete語句不能刪除某一列的值(可使用update)l使用de

49、lete語句僅刪除記錄,不刪除表本身。如要刪除表,使用drop table語句。l同insert和update一樣,從一個表中刪除記錄將引起其它表的參照完整性問題,在修改數(shù)據(jù)庫數(shù)據(jù)時,頭腦中應(yīng)該始終不要忘記這個潛在的問題。l刪除表中數(shù)據(jù)也可使用TRUNCATE TABLE 語句,它和delete有所不同,參看mysql文檔。主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表的管理表的管理刪除數(shù)據(jù)刪除數(shù)據(jù) 刪除數(shù)據(jù)刪除數(shù)據(jù) delete from 表名表名; 刪除所有記錄,表結(jié)構(gòu)還在,寫日志,可以恢復的,速度慢 drop table 表名; 刪除表的結(jié)構(gòu)和數(shù)據(jù) delete from s

50、tudent where xh=A001; 刪除一條記錄 truncate table 表名; 刪除表中的所有記錄,表結(jié)構(gòu)還在,不寫日志,無法找回刪除的記錄,速度快主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表基本查詢表基本查詢介紹介紹 介紹介紹在我們講解的過程中我們利用scott用戶存在的幾張表(emp,dept)為大家演示如何使用select語句,select語句在軟件編程中非常的有用,希望大家好好的掌握主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表基本查詢表基本查詢介紹介紹SELECT DISTINCT *|column1, column2. column3.FR

51、OMtable;lSelect 指定查詢哪些列的數(shù)據(jù)。lcolumn指定列名。l*號代表查詢所有列。lFrom指定查詢哪張表。lDISTINCT可選,指顯示結(jié)果時,是否剔除重復數(shù)據(jù)l基本基本selectselect語句語句主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表基本查詢表基本查詢簡單的查詢語句簡單的查詢語句 查看表結(jié)構(gòu)查看表結(jié)構(gòu)sqldesc 表名; 查詢所有列查詢所有列select * from 表名; 查詢指定列查詢指定列select 列1,列2 from 表名; 如何取消重復行如何取消重復行select distinct deptno ,job from emp;?查詢

52、SMITH 的薪水,工作,所在部門主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表基本查詢表基本查詢簡單的查詢語句簡單的查詢語句 使用算數(shù)表達式使用算數(shù)表達式?顯示每個雇員的年工資 使用列的別名使用列的別名select ename 姓名,sal*12 as 年收入 from emp; 如何處理如何處理null值值使用nvl函數(shù)來處理 如何連接字符串如何連接字符串(|)主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表基本查詢表基本查詢簡單的查詢語句簡單的查詢語句 使用使用where子句子句?如何顯示工資高于3000的員工?如何查找1982.1.1后入職的員工?如何顯示工資在2

53、000到2500的員工情況 如何使用如何使用like操作符操作符%: 表示任意 0到多個字符 _: 表示任意單個字符?如何顯示首字符為S的員工姓名和工資?如何顯示第三個字符為大寫O的所有員工的姓名和工資 在在where條件中使用條件中使用in ?如何顯示empno為 123,345,800.的雇員情況 使用使用is null的操作符的操作符 ?如何顯示沒有上級的雇員的情況主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表基本查詢表基本查詢簡單的查詢語句簡單的查詢語句 使用邏輯操作符號使用邏輯操作符號?查詢工資高于500或是崗位為MANAGER的雇員,同時還要滿足他們的姓名首寫字母為大寫

54、的J 使用使用order by子句子句?如何按照工資的從低到高的順序顯示雇員的信息?按照部門號升序而雇員的入職時間降序排列 使用列的別名排序使用列的別名排序select ename,sal*12 年薪 from emp order by 年薪 asc;別名需要使用“ 號圈中主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表基本查詢表基本查詢簡單的查詢語句簡單的查詢語句 分頁查詢分頁查詢按雇員的id號升序取出。主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表復雜查詢表復雜查詢 說明說明在實際應(yīng)用中經(jīng)常需要執(zhí)行復雜的數(shù)據(jù)統(tǒng)計,經(jīng)常需要顯示多張表的數(shù)據(jù),現(xiàn)在我們給大家介紹較為復雜的

55、select語句 數(shù)據(jù)分組數(shù)據(jù)分組-max,min,avg,sum,count?如何顯示所有員工中最高工資和最低工資?顯示所有員工的平均工資和工資總和?計算共有多少員工擴展要求:?請顯示工資最高的員工的名字,工作崗位?請顯示工資高于平均工資的員工信息主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表復雜查詢表復雜查詢 group by 和和 having子句子句group by用于對查詢的結(jié)果分組統(tǒng)計,having子句用于限制分組顯示結(jié)果.?如何顯示每個部門的平均工資和最高工資?顯示每個部門的每種崗位的平均工資和最低工資?顯示平均工資低于2000的部門號和它的平均工資擴展要求:主講 韓

56、順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表復雜查詢表復雜查詢 對數(shù)據(jù)分組的總結(jié)對數(shù)據(jù)分組的總結(jié)1分組函數(shù)只能出現(xiàn)在選擇列表、having、order by子句種2 如果在select 語句種同時包含有g(shù)roup by ,having ,order by 那么他們的順序是group by , having , order by3 在選擇列種如果有列、表達式、和分組函數(shù),那么這些列和表達式必須有一個出現(xiàn)在group by 子句中,否則就會出錯如select deptno,avg(sal),max(sal) from emp group by deptno having avg(sal)al

57、l (select sal from emp where deptno=30);擴展要求:大家想想還有沒有別的查詢方法.Select ename,sal,deptno from emp where sal(select max(sal) from emp where deptno=30);主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表復雜查詢表復雜查詢子查詢子查詢 在多在多行子查詢中使用在多在多行子查詢中使用any操作符操作符請思考:如何顯示工資比部門30的任意一個員工的工資高的員工的姓名、工資和部門號擴展要求:大家想想還有沒有別的查詢方法.主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)

58、教程oracle表復雜查詢表復雜查詢子查詢子查詢 多列子查詢多列子查詢單行子查詢是指子查詢只返回單列、單行數(shù)據(jù),多行子查詢是指返回單列多行數(shù)據(jù),都是針對單列而言的,而多列子查序則是指查詢返回多個列數(shù)據(jù)的子查詢語句請思考如何查詢與smith的部門和崗位完全相同的所有雇員主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表復雜查詢表復雜查詢子查詢子查詢 在在from子句中使用子查詢子句中使用子查詢請思考:如何顯示高于自己部門平均工資的員工的信息這里要用到數(shù)據(jù)查詢的小技巧,把一個子查詢當作一個臨時表使用解法select e1.*,e2.myavg from emp e1,(select avg

59、(sal) myavg,deptno from emp group by deptno) e2 where e1.deptno=e2.deptno and e1.sale2.myavg解法select e1.* from emp e1 where e1.sal(select avg(sal) from emp where deptno=e1.deptno)主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表復雜查詢表復雜查詢子查詢子查詢 在在fromfrom子句中使用子查詢子句中使用子查詢請思考:查找每個部門工資最高的人的詳細資料解法解法思路:得到所有的員工,進行篩選,每拿到一個員工,判

60、斷該員工的工資是否是他們部門的最高工資。select * from emp e where sal=(select max(sal) from emp where deptno=e.deptno);主講 韓順平玩轉(zhuǎn)oracle 10g實戰(zhàn)教程oracle表復雜查詢表復雜查詢子查詢子查詢 在在fromfrom子句中使用子查詢子句中使用子查詢請思考:顯示每個部門的信息和人員數(shù)量解法自己完成解法查詢獲得所有的部門信息,每獲得一個部門,我們就查詢該部門的人數(shù),保存為一個新的列。select d.*,(select count(*) from emp where deptno=d.deptno) allnum from

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論