版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、韓順平J2EE視頻教程玩轉(zhuǎn)oracle10g實(shí)戰(zhàn)教程 (全)筆記韓順平j(luò)2ee系列教程-玩轉(zhuǎn)oracle10g學(xué)習(xí)筆記引言:數(shù)據(jù)保存問題?可使用文件保存和數(shù)據(jù)庫保存。使用文件保存數(shù)據(jù)存在幾個(gè)缺點(diǎn):1、文本的安全性問題;2、文件不利于查詢和對(duì)數(shù)據(jù)的管理;3、文件不利于存放海量數(shù)據(jù);4、文件在程序中控制不方便。為解決數(shù)據(jù)保存問題,專家們設(shè)計(jì)出更加利于管理數(shù)據(jù)的東東-數(shù)據(jù)庫(本質(zhì)就是一個(gè)軟件),它能更有效的管理數(shù)據(jù)。數(shù)據(jù)庫是衡量一個(gè)程序員水平的重要指標(biāo)。數(shù)據(jù)庫1、數(shù)據(jù)庫的本質(zhì)就是一款軟件,這個(gè)軟件專門用于管理和維護(hù)數(shù)據(jù);2、數(shù)據(jù)存放在數(shù)據(jù)庫中。數(shù)據(jù)庫服務(wù)器、數(shù)據(jù)庫和表的關(guān)系所謂安裝數(shù)據(jù)庫服務(wù)器,只是
2、在機(jī)器上裝了一個(gè)數(shù)據(jù)庫管理程序,這個(gè)管理程序可以管理多個(gè)數(shù)據(jù)庫,一般開發(fā)人員會(huì)針對(duì)每個(gè)應(yīng)用創(chuàng)建一個(gè)數(shù)據(jù)庫。為了保存應(yīng)用中實(shí)體的數(shù)據(jù),一般會(huì)在數(shù)據(jù)庫創(chuàng)建多個(gè)表,以保存程序中實(shí)體的數(shù)據(jù)。數(shù)據(jù)庫服務(wù)器、數(shù)據(jù)庫和表的關(guān)系如圖所示:為什么選擇oracle-性能優(yōu)越概述:目前主流數(shù)據(jù)庫包括微軟:sql server和access瑞典MySql:AB公司mysqlibm公司:db2(處理海量)美國Sybase公司:Sybaseibm公司:informix美國oracle公司:oracle做項(xiàng)目時(shí)應(yīng)當(dāng)如何選擇數(shù)據(jù)庫?1、標(biāo)的(項(xiàng)目預(yù)算);2、功能的要求;3、并發(fā)數(shù)(多少人用);4、安全、穩(wěn)定性。5、操作系統(tǒng)(
3、unixsolaris,freeBSD,aix,hp unix/linux/window)oracle數(shù)據(jù)庫的認(rèn)證oca(oracle certified associate)初級(jí)認(rèn)證ocp(oracle certified professional)中級(jí)認(rèn)證ocm(oracle certified master)高級(jí)認(rèn)證oracle10g安裝步驟:1、安裝文件2、把10201_database_win32.zip文件copy到?jīng)]有中文的路徑下3、檢查服務(wù)選項(xiàng),確定本機(jī)沒有安裝過oracle數(shù)據(jù)庫,如果有則卸載4、將壓縮包解壓后,雙擊setup.exe文件進(jìn)行安裝。說明:建議大家自己建立一個(gè)文
4、件目錄,比如d:/hsporacle/oracle,然后把數(shù)據(jù)庫安裝到目錄下即可。(目錄不要帶中文)這里我們可以選擇創(chuàng)建啟動(dòng)數(shù)據(jù)庫(默認(rèn)數(shù)據(jù)庫)當(dāng)我們每創(chuàng)建一個(gè)數(shù)據(jù)庫實(shí)例的時(shí)候,就會(huì)自動(dòng)的生成三個(gè)用戶:sys用戶(超級(jí)管理員,權(quán)限最大)system用戶(管理員用戶,權(quán)限僅次于sys用戶)scott用戶(普通用戶)5、在默認(rèn)的情況下,scott用戶是鎖定狀態(tài)(lock user),一般我們啟用它。特別注意:如果安裝的時(shí)候,忘記對(duì)某個(gè)用戶解鎖,比如scott可以通過system來對(duì)該用戶解鎖。步驟:1、先使用system登錄,運(yùn)行sqlplus2、使用命令:alter user scott acc
5、ount unlockoracle后臺(tái)服務(wù)OracleDBConsoleorcl網(wǎng)絡(luò)企業(yè)管理器服務(wù)OracleOraDb10g_home1TNSListener監(jiān)聽服務(wù)(監(jiān)聽端口1521)OracleServiceORCL數(shù)據(jù)庫實(shí)例服務(wù)oracle發(fā)展與現(xiàn)狀oracle10g比oracle9i增加了什么?簡要說:10g支持網(wǎng)格(Grid),支持自動(dòng)管理(Automatic Management)詳細(xì)說:1、10g的g是“Grid”縮寫,支持網(wǎng)格計(jì)算,即,多臺(tái)結(jié)點(diǎn)服務(wù)器利用高速網(wǎng)絡(luò)組成一個(gè)虛擬的高性能服務(wù)器,負(fù)載在整個(gè)網(wǎng)絡(luò)中均衡(Load Balance),按需增點(diǎn),避免單點(diǎn)故障(Single
6、Point of Faliure)。2、安裝容易,安裝工作量比9i減少了一半。3、新增基于瀏覽器的企業(yè)管理器(Enterprise Manager)。oracle公司介紹-產(chǎn)品線數(shù)據(jù)庫服務(wù)器:2007年最新版本11G,2013年最新版本12C應(yīng)用服務(wù)器:Oracle Application Server開發(fā)工具:Oracle JDeveloper,Oracle Designer,Oracle Developer,等等應(yīng)用軟件(主要競爭對(duì)手:德國SAP公司)企業(yè)資源計(jì)劃(ERP)軟件客戶關(guān)系管理(CRM)軟件人力資源管理軟件(HCM)oracle開發(fā)工具1、sqlplusw和slqplus工具是
7、oracle自帶的工具軟件使用:1、在開始-程序-oracle oradb_home10g-application development-sql plus2、在運(yùn)行欄中輸入:sqlplusw即可,也可以使用sqlplus進(jìn)入oracle數(shù)據(jù)庫oracle管理工具介紹pl/sql developer屬于第三方軟件,主要用于開發(fā),測試,優(yōu)化oracle pl/sql的存儲(chǔ)過程比如:觸發(fā)器,此軟件oracle不帶,需要單獨(dú)安裝。oracle管理工具介紹Enterprise manager console(企業(yè)管理器)oralce10g是通過web管理的一般默認(rèn)端口是5500,也有1158的。訪問u
8、rl(一定要保證oracle服務(wù)啟動(dòng)才可訪問)http:/ip:1158(或5500)/emhttp:/機(jī)器名:端口/emsql*plus常用命令連接命令1、connect (可用于切換用戶使用)用法:conn 用戶名/密碼網(wǎng)絡(luò)服務(wù)名as sysdba/sysoper當(dāng)用特權(quán)用戶身份連接時(shí),必需帶上as sysdba或as sysoper2、disconnect說明:該命令用來斷開與當(dāng)前數(shù)據(jù)庫的連接,但不退出sqlplus窗口3、password說明:該命令用于修改用戶的密碼,如果要想修改其它用戶的密碼,需要sys/system登錄特別說明:如果給自己改密碼則可以不帶用戶名。如果給別人修改密碼
9、需帶用戶名(必需是system或者sys用戶才可以修改)4、show user說明:顯示當(dāng)前用戶名5、exit說明:該命令會(huì)斷開與數(shù)據(jù)庫的連接,同時(shí)會(huì)退出sql*plussql*plus常用命令介紹交互式命令1、&說明:可以替代變量,而該變量在執(zhí)行時(shí),需要用戶輸入案例:sqlselect *from emp where job=&job2、edit說明:該命令可以編輯指定的sql腳本案例:sqledit d:/a.sql3、spool說明:該命令可以將sql*plus屏幕上的內(nèi)容輸出到指定文件中去。案例:sqlspool d:b.sql;執(zhí)行操作;輸入sqlspool offsql*plus常
10、用命令顯示和設(shè)置環(huán)境變量概述:可以用來控制輸出的各種格式。1、linesize說明:設(shè)置顯示行的寬度,默認(rèn)是80個(gè)字符sqlshow linesizesqlset linesize 902、pagesize說明:設(shè)置每頁顯示的行數(shù)目,默認(rèn)是14用法和linesize一樣。至于其它環(huán)境參數(shù)的使用也大同小異。特別說明:SQL語句需以;分號(hào)結(jié)尾,功能性命令可以不帶;oracle用戶管理創(chuàng)建用戶(簡單版)概述:在oracle中要?jiǎng)?chuàng)建一個(gè)新的用戶使用create user語句,一般是具有dab(數(shù)據(jù)庫管理員)的權(quán)限才能使用?;菊Z法:create user 用戶名 identified by 密碼;注意
11、:oracle規(guī)定用戶密碼不能以數(shù)字開頭給用戶修改密碼概述:如果給自己修改密碼可以直接使用sqlpassword 用戶名如果給別人修改密碼則需要具有dba的權(quán)限,或是擁有alter user的系統(tǒng)權(quán)限,也可以使用password用戶名sqlpassword 用戶名;sqlalter user 用戶名 identified by 新密碼;特別說明:oracle已對(duì)oracle操作中出現(xiàn)的錯(cuò)誤進(jìn)行了編號(hào),以后遇到錯(cuò)誤將記錄編號(hào)進(jìn)行網(wǎng)上查詢解決方案。oracle用戶管理創(chuàng)建用戶(細(xì)節(jié))例子:sqlcreate user shunping identified by m123default table
12、space userstemporary tablespace tempquota 3m on user;identified by表明用戶shunping將用數(shù)據(jù)庫方式驗(yàn)證default tablespace users/用戶的表空間在users上temporary tablespace temp/用戶shunping的臨時(shí)表建在temp空間quota 3m on users/表明用戶shunping建立的數(shù)據(jù)對(duì)象(表、索引、視圖、pl/sql塊)最大只能是3m剛剛創(chuàng)建的用戶是沒有任何權(quán)限的,因此,需要dba給該用戶授權(quán)。sqlgrant connect to shunping如果你希望該用
13、戶建表沒有空間的限制sqlgrant resource to shunping如果你希望該用戶成為dbasqlgrant dba to shunping表空間(oracle獨(dú)有的概念)什么是表空間?表存在的空間,一個(gè)表空間是指向具體的數(shù)據(jù)文件。為什么創(chuàng)建好的用戶無法正常登錄?oracle中用戶建立后是無法正常登錄的,只有在數(shù)據(jù)庫管理員(DBA)對(duì)用戶分配相應(yīng)的權(quán)限后,用戶才可以登錄。如何給用戶分配權(quán)限?基本語法:grant create 權(quán)限 to 用戶名;案例:sqlgrant create session to xiaoming;也可以按角色對(duì)用戶分配權(quán)限基本語法:grant 角色名 to
14、 用戶名;案例:sqlgrant dba to xiaoming;oracle管理用戶的機(jī)制(原理)oracle中權(quán)限的概念權(quán)限分為系統(tǒng)權(quán)限與對(duì)象權(quán)限。系統(tǒng)權(quán)限是數(shù)據(jù)庫管理相關(guān)的權(quán)限:create session(登錄權(quán)限)create table(創(chuàng)建表權(quán)限)create index(創(chuàng)建索引權(quán)限)create view(創(chuàng)建視圖權(quán)限)create sequence(創(chuàng)建序列權(quán)限)create trriger(創(chuàng)建觸發(fā)器權(quán)限).對(duì)象權(quán)限是和用戶操作數(shù)據(jù)對(duì)象相關(guān)的權(quán)限。update改insert增delete刪select查角色分為預(yù)定義角色和自定義角色預(yù)定義角色:把常用的權(quán)限集中起來,形成角
15、色。常見的角色有:DBA、connect、resource自定義角色按需定制一定權(quán)限形成角色,可以作為預(yù)定義角色的補(bǔ)充。來滿足用戶的需求。oracle用戶管理用戶管理的綜合案例概述:創(chuàng)建的新用戶是沒有任何權(quán)限的,甚至連登錄的數(shù)據(jù)庫的權(quán)限都沒有,需要為其指定相應(yīng)的權(quán)限。給一個(gè)用戶賦權(quán)限使用使令grant,回收權(quán)限使用命令revoke賦權(quán)限基本語法:grant 權(quán)限/角色 to 用戶名;回收權(quán)限基本語法:revoke 權(quán)限/角色 from 用戶名;oracle用戶管理刪除用戶概述:一般以dba的身份去刪除某個(gè)用戶,如果用其它用戶去刪除用戶則需要具有drop user的權(quán)限基本語法:drop use
16、r 用戶名 cascade;為了講清楚用戶的管理,這里舉例說明:1、創(chuàng)建xiaoming,并賦予connect和resource創(chuàng)建用戶基本語法:create user 用戶名 identified by 密碼;sqlcreate user xiaoming identified by m123;給用戶授權(quán)基本語法:grant 權(quán)限/角色 to 用戶名;sqlgrant connect to xiaoming;sqlgrant resource to xiaoming;2、切換用戶切換用戶基本語法:connect 用戶名/密碼;sqlconn xiaoming/m123;3、xiaoming修
17、改密碼修改密碼基本語法:password 用戶名;sqlpassword xiaoming;管理員修改密碼基本語法:alter user 用戶名 identified by 新密碼;sqlalter user xiaoming identified by xiaoming123;(sys或system用戶修改其它用戶的方法)4、使用xiaoming建表建表基本語法:create table 表名(字段屬性);sqlcreate table users(id number);5、添加數(shù)據(jù)添加數(shù)據(jù)基本語法:insert into 表名 values(值);sqlinsert into users
18、values(1);6、查詢數(shù)據(jù)查詢表內(nèi)容基本語法:select * from 表名;sqlselect * from users;7、刪除表刪除表基本語法:drop table 表名;sqldrop table users;8、回收權(quán)限(需sys或system用戶)回收權(quán)限基本語法:revoke 權(quán)限/角色名 from 用戶名;sqlrevoke connect from xiaoming;sqlrevoke resource from xiaoming;9、刪除用戶刪除用戶基本語法:drop user 用戶名 cascade;當(dāng)我們刪除一個(gè)用戶的時(shí)候,如果這個(gè)用戶自己已經(jīng)創(chuàng)建過數(shù)據(jù)對(duì)象,那
19、么我們在刪除該用戶時(shí),需要加cascade,表示把這個(gè)用戶刪除的同時(shí),把該用戶創(chuàng)建的數(shù)據(jù)對(duì)象一并刪除。sqldrop user xiaoming;方案(schema)理解:當(dāng)一個(gè)用戶,創(chuàng)建好以后,如果該用戶創(chuàng)建了任意一個(gè)數(shù)據(jù)對(duì)象,此時(shí),我們的dbms就會(huì)創(chuàng)建一個(gè)對(duì)應(yīng)的方案與該用戶對(duì)應(yīng)。方案名與用戶名完全一樣。小技巧:如果希望看到某個(gè)用戶的方案究竟有什么數(shù)據(jù)對(duì)象,我們可以使用pl/sql developer方案這個(gè)概念的實(shí)際應(yīng)用:要求:請(qǐng)完成一個(gè)功能,讓xiaohong用戶可以去查詢scott的emp表步驟:1、先用scott登錄sqlconn scott/tiger;2、賦權(quán)限給xiaohon
20、g給某用戶添加表增刪改查權(quán)限基本語法:grant select|update|delete|insert|all on 表名 to 用戶名;sqlgrant select on emp to xiaohong;3、xiaohong查詢scott的emp用戶查詢授權(quán)表的基本語法:select * from 方案名.表名;注意:方案名不帶的話,默認(rèn)是查詢自己方案中的表。sqlselect * from scott.emp;練習(xí)題:用戶創(chuàng)建練習(xí):1、創(chuàng)建用戶tea,stu,并給這兩個(gè)用戶resource,connect角色sqlconn system/orcl;/使用system用戶創(chuàng)建tea和st
21、u用戶sqlcreate user tea identified by tea;/創(chuàng)建tea用戶sqlcreate user stu identified by stu;/創(chuàng)建stu用戶sqlgrant resource to tea;/對(duì)tea用戶授權(quán)resource權(quán)限sqlgrant connect to tea;/對(duì)tea用戶授權(quán)connect權(quán)限sqlgrant resource to stu;/對(duì)stu用戶授權(quán)resource權(quán)限sqlgrant connect to stu;/對(duì)stu用戶授權(quán)connect權(quán)限2、使用scott用戶把對(duì)emp表的select權(quán)限給teasqlco
22、nn scott/tiger;/切換scott用戶操作sqlgrant select on emp to tea;/將scott的emp查詢權(quán)限交給tea使用tea查詢scott的emp表sqlconn tea/tea;sqlselect * from scott.emp;/查詢scott的emp表使用scott用戶把emp表的所有權(quán)限賦給teasqlconn scott/tiger;sqlgrant all on emp to tea;/將scott的emp操作的全部權(quán)限交給了tea使用tea更新/刪除/插入scott的emp表sqlconn tea/tea;sqlupdate scott.
23、emp set job=Teacher where job=&job;sqldelete from scott.emp where job=&job;sqlinsert into scott.emp values(8888,FORD,Teacher,7698,08-9月-81,1500,300,20);使用scott收回權(quán)限sqlconn scott/tiger;sqlrevoke all on emp from tea;3、想辦法將讓tea把自己擁有的對(duì)scott.emp的權(quán)限轉(zhuǎn)給stu;sqlconn scott/tiger;sqlgrant all on emp to tea with
24、grant option;/with grant option表示得到權(quán)限的用戶,可以把權(quán)限繼續(xù)分配/with admin option如果是系統(tǒng)權(quán)限,則帶with admin optionsqlconn tea/tea;sqlgrant all on scott.emp to stu;使用stu查詢scott用戶的emp表sqlconn stu/stu;sqlselect * from scott.emp;使用tea收回給stu的權(quán)限sqlconn tea/tea;sqlrevoke all on scott.emp from stu;系統(tǒng)權(quán)限with admin option對(duì)象權(quán)限wit
25、h grant optionoralce用戶管理使用profile管理用戶口令概述:profile是口令限制,資源限制的命令集合,當(dāng)建立數(shù)據(jù)時(shí),oracle會(huì)自動(dòng)建立名稱為default的profile,當(dāng)建立用戶沒有指定profile選項(xiàng),那oracle就會(huì)將default分配給用戶。1、帳戶鎖定概述:指定該帳戶(用戶)登錄時(shí)最多可以輸入密碼的次數(shù),也可以指定用戶鎖定的時(shí)間(天)一般用dba的身份去執(zhí)行該命令例:指定scott這個(gè)用戶最多只能嘗試3次登錄,鎖定時(shí)間為2天,讓我們看看怎么實(shí)現(xiàn)?創(chuàng)建profile文件創(chuàng)建profile文件設(shè)定嘗試密碼輸入幾次在錯(cuò)誤后鎖定幾天基本語法:create
26、 profile profile文件名 limit failed_login_attempts 嘗試輸入次數(shù) password_lock_time 鎖定幾天;alter user 用戶名 profile profile文件名;sqlcreate profile lock_account limit failed_login_attempts 3 password_lock_time 2;sqlalter user tea profile lock_account;2、給帳戶(用戶)解鎖解鎖基本語法:alter user 用戶名 account unlock;sqlalter user tea
27、account unlock;3、終止口令為了讓用戶定期修改密碼可以使用終止口令的指令來完成,同樣這個(gè)命令也需要dba身份來操作。例如:給前面創(chuàng)建的用戶tea創(chuàng)建一個(gè)profile文件,要求該用戶每隔10天要修改自己的登錄密碼,寬限期為2天。創(chuàng)建profile文件設(shè)置每隔幾天要對(duì)用戶的密碼進(jìn)行修改,更改密碼時(shí)間在幾天內(nèi)基本語法:create profile profile文件名 limit password_life_time 幾天后修改密碼 password_grace_time 寬限期幾天;alter user 用戶名 profile profile文件名;sqlcreate profil
28、e myprofile limit password_life_time 10 password_grace_time 2;sqlalter user tea profile myprofile;4、口令歷史概述:如果希望用戶在修改密碼時(shí),不能使用以前使用過的密碼,可使用口令歷史,這樣oracle就會(huì)將口令修改的信息存放在數(shù)據(jù)字典中,這樣當(dāng)用戶修改密碼時(shí),oralce就會(huì)對(duì)新舊密碼進(jìn)行比較,當(dāng)發(fā)現(xiàn)新舊密碼一樣時(shí),就提示用戶重新輸入密碼。例:1、建立profilesqlcreate profile password_history limit password_life_time 10 pass
29、word_grace_time 2 password_reuse_time 10password_reuse_time 2/ /限制口令在多少天內(nèi)不能重復(fù)使用(換言之就是多少天內(nèi)不允許使用以前使用過的密碼)2、分配給某個(gè)用戶sqlalter user tea profile password_history;5、刪除profile概述:當(dāng)不需要某個(gè)profile文件時(shí),可以刪除文件刪除profile基本語法:drop profile profile文件名;sqldrop profile profile文件名;注意:profile文件被刪除后,原profile文件指定的用戶將不再受原profil
30、e文件規(guī)則限定。oracle數(shù)據(jù)庫的啟動(dòng)/關(guān)閉流程oracle也可以通過命令行的方式啟動(dòng),具體如何操作:oracle啟動(dòng)流程-windows下1、lsnrctl start(啟動(dòng)監(jiān)聽)2、oradim -startup -sid 數(shù)據(jù)庫實(shí)例名oracle關(guān)閉流程-windows下1、lsnrctl stop2、oradim -shutdown -sid 數(shù)據(jù)庫實(shí)例名 -shuttype srvc,instoracle啟動(dòng)流程-linux下1、lsnrctl start(啟動(dòng)監(jiān)聽)2、sqlplus sys/change_on_install as sysdba(以sysdba身份登錄,在ora
31、cle10g后可以這樣寫)sqlplus /nologconn sys/change_on_install as sysdba3、startuporacle關(guān)閉流程-linux下sqlplus/nologconn sys/change_on_install as sysdbashutdown注:shutdown關(guān)閉,等待每個(gè)用戶退出系統(tǒng)或被取消后退出關(guān)閉數(shù)據(jù)庫。shutdown transactional:事務(wù)性關(guān)閉,等待每個(gè)用戶提交或回退當(dāng)前的事務(wù),然后oracle取消對(duì)話,在所有用戶退出系統(tǒng)后執(zhí)行關(guān)閉。shutdown immediate:直接關(guān)閉,取消所有用戶對(duì)話(促使回退),執(zhí)行正常的
32、關(guān)閉程序。oracle登錄認(rèn)證方式oracle登錄認(rèn)證方式-windows下概述:oracle登錄認(rèn)證在windows下和linux下是不完全相同的,這里我們先說說windows下oracle的登錄認(rèn)證方式。1、操作系統(tǒng)認(rèn)證如果當(dāng)前用戶屬于本地操作系統(tǒng)的ora_dba組(對(duì)于windows操作系統(tǒng)而言),即可通過操作系統(tǒng)認(rèn)證。2、oracle數(shù)據(jù)庫驗(yàn)證(密碼文件驗(yàn)證)對(duì)于普通用戶.oracle默認(rèn)使用數(shù)據(jù)庫驗(yàn)證。對(duì)于特權(quán)用戶(比如sys用戶),oracle默認(rèn)使用操作系統(tǒng)認(rèn)證,如果驗(yàn)證不通過,再到數(shù)據(jù)庫驗(yàn)證(密碼文件驗(yàn)證)。通過配置sqlnet.ora文件,可以修改oracle登錄認(rèn)證方式SQ
33、LNET.AUTHENTICATION_SERVICES=(NTS)是基于操作系統(tǒng)驗(yàn)證;SQLNET.AUTHENTICATION_SERVICES=(NONE)是基于oracle驗(yàn)證;SQLNET.AUTHENTICATION_SERVICES=(NONE,NTS)是二者共存。oracle用戶驗(yàn)證機(jī)制普通用戶:默認(rèn)是以數(shù)據(jù)庫方式驗(yàn)證。如:SQLconn scott/tiger特權(quán)用戶:默認(rèn)是以操作系統(tǒng)認(rèn)證(即:只要當(dāng)前用戶(當(dāng)前登入windows系統(tǒng)的用戶)是在ora_dba組中,則可以通過)。如:conn system/orcl as sysdba;oracle數(shù)據(jù)庫登錄驗(yàn)證機(jī)制看到as
34、sysdba則認(rèn)為要以特權(quán)用戶登錄,則會(huì)先看當(dāng)前用戶是否在ora_dba這個(gè)組中,如果在這個(gè)組中則不看前面的用戶名和密碼。如果不在ora_dba這個(gè)組中,則會(huì)看前面的用戶名和密碼來驗(yàn)證是否有權(quán)限登錄。如果有權(quán)限,則登錄成功。oracle則會(huì)自動(dòng)切換成sys用戶。這等同于conn sys/orcl;的方式登錄成功。通過修改sqlnet.ora文件,讓特權(quán)用戶登錄時(shí)必需通過oracle認(rèn)證而不使用操作系統(tǒng)認(rèn)證sqlnet.ora文件在D:oracle11gappAdministratorproduct11.2.0dbhome_1NETWORKADMIN目錄中。oracle登錄認(rèn)證方式oracle登
35、錄認(rèn)證方式-linux下這里大家了解即可:默認(rèn)情況下linux下的oracle數(shù)據(jù)庫sqlnet.ora文件沒有SQLNET.AUTHENTICATION_SERVICES參數(shù),此時(shí)是基于操作系統(tǒng)認(rèn)證和oracle密碼驗(yàn)證共存的,加上SQLNET.AUTHENTICATION_SERVICES參數(shù)后,不管SQLNET.AUTHENTICATION_SERVICES設(shè)置為NONE或者NTS,都是基于oracle密碼驗(yàn)證的。簡單說:linux下oracle數(shù)據(jù)庫sqlnet.ora文件中SQLNET.AUTHENTICATION_SERVICES無參數(shù)為操作系統(tǒng)和oracle密碼驗(yàn)證雙重驗(yàn)證;SQ
36、LNET.AUTHENTICATION_SERVICES有NONE或NTS參數(shù)即為oracle密碼驗(yàn)證;丟失管理員密碼怎么辦恢復(fù)辦法:把原有密碼文件刪除,生成一個(gè)新的密碼文件?;謴?fù)步驟如下:1、 搜索名為PWD數(shù)據(jù)庫實(shí)例名.ora文件;PWDorcl.ora密碼文件在D:oracle11gappAdministratorproduct11.2.0dbhome_1database目錄中。2、刪除該文件,為預(yù)防萬一,建議先備份,再刪除;3、生成新的密碼文件,在dos控制臺(tái)下輸入命令:orapwd file=原來密碼文件的全路徑密碼文件名.ora password=新密碼 entries=10;/e
37、ntries:允許幾個(gè)特權(quán)用戶。(特別注意:密碼文件名一定要和原來的密碼文件名一樣。)特別注意:生成新的密碼文件后,oracle服務(wù)要重新啟動(dòng)后方可使用。課堂練習(xí)給scott用戶分配一個(gè)profile要求如下:1、嘗試登錄的次數(shù)最多4次;2、如果4次輸入錯(cuò)誤,則鎖定該用戶2天;3、密碼每隔5天修改一次,寬限期為2天;答:SQLconn sys/orcl as sysdba;SQLcreate profile scottprofile limit failed_login_attempts 4 password_lock_time 2 password_life_time 5 password_
38、grace_time 2;SQLalter user scott profile scottprofile;4、練習(xí) 如何給用戶解鎖;答:SQLalter user scott account unlock;5、練習(xí) 如何刪除profile文件;答:SQLdrop profile scottprofile;假設(shè)你的sys用戶密碼丟失,寫出找回密碼的步驟和命令?1、確認(rèn)哪個(gè)數(shù)據(jù)庫實(shí)例的sys用戶密碼丟失;(例:數(shù)據(jù)庫實(shí)例為orclA)2、進(jìn)入數(shù)據(jù)庫實(shí)例的目錄中找到PWDorclA.ora文件;(例目錄為:doracleadminproduct11.2.0dbhome_1database)3、為防
39、萬一出錯(cuò),將PWDorclA.ora文件備份一份后,將PWDorclA.ora文件刪除;4、在windows開始菜單-運(yùn)行-輸入cmd進(jìn)行dos控制臺(tái);5、在dos控制臺(tái)下輸入orapwd file=doracleadminproduct11.2.0dbhome_1databasePWDorclA.ora password=orcl entries=16、完成上述步驟,進(jìn)入windows服務(wù)中將oracle的數(shù)據(jù)服務(wù)重新啟用后,新的sys密碼便可使用?;靖拍?數(shù)據(jù)庫服務(wù)器、數(shù)據(jù)主和表的關(guān)系所謂安裝數(shù)據(jù)庫服務(wù)器,只是在機(jī)器上裝了一個(gè)數(shù)據(jù)庫管理程序,這個(gè)管理程序可以管理多個(gè)數(shù)據(jù)庫,一般開發(fā)人員會(huì)
40、針對(duì)每個(gè)應(yīng)用創(chuàng)建一個(gè)數(shù)據(jù)庫。為保存應(yīng)用中實(shí)體的數(shù)據(jù),一般會(huì)在數(shù)據(jù)庫創(chuàng)建多個(gè)表,以保存程序中實(shí)體的數(shù)據(jù)。數(shù)據(jù)庫服務(wù)器、數(shù)據(jù)庫和表的關(guān)系如圖所示:基本概念-數(shù)據(jù)在數(shù)據(jù)庫中的存儲(chǔ)方式數(shù)據(jù)存在方式(主要是以表的形式)表的管理-創(chuàng)建表(基本語句)建表的基本語法:create table table_name(field1 datatype,field1 datatype,field1 datatype,.)注:table_name表名;field指定列名(字段名);datatype指定列類型(字段數(shù)據(jù)類型)注意:創(chuàng)建表時(shí),要根據(jù)需保存的數(shù)據(jù)創(chuàng)建相應(yīng)的列,并根據(jù)數(shù)據(jù)的類型定義相應(yīng)的列類型。例:user對(duì)象
41、id intname stringpassword stringbirthday date快速入門示例:SQL create table users( id number, name varchar2(32), password varchar2(32), birthday date);IdNamePasswordbirthday表的管理-oracle常用數(shù)據(jù)類型分類數(shù)據(jù)類型說明文本、二進(jìn)制類型char(size) char(20)varchar(size) varchar(20)nchar(n)nvarchar2(n)clob(character large object)blob(bina
42、ry large object)定長 最大2000字符變長 最大4000字符Unicode數(shù)據(jù)類型,定長 最大2000字符Unicode數(shù)據(jù)類型,變長 最大4000字符字符型大對(duì)象,最大8TB二進(jìn)制數(shù)據(jù) 可以存放圖片/聲音 8TB數(shù)值類型number(p,s)p為整數(shù)位,s為小數(shù)位.范圍:1=p=38,-84=s=127保存數(shù)據(jù)范圍:-1.0e-130=number value0精確到小數(shù)點(diǎn)右邊s位,并四舍五入。然后檢驗(yàn)有效位是否=ps0精確到小數(shù)點(diǎn)左邊s位,并四舍五入。然后檢驗(yàn)有效位是否=p+|s|s=0等價(jià)于number(p)此時(shí)number表示整數(shù)。說明:-1.0e-130(科學(xué)計(jì)數(shù)法)
43、:就是-1.0乘以10的-130次方 1.0e+126:就是1.0乘以10的126次方舉例說明:number(5,2)表示一個(gè)小數(shù)有5位有效數(shù),2位小數(shù)。范圍-999.99999.99如果數(shù)值超出了位數(shù)限制就會(huì)被截取多余的位數(shù)。但在一行數(shù)據(jù)中的這個(gè)字段輸入575.316,則真正保存到字段中的數(shù)值是575.32。number(5)number(5,0)表示一個(gè)五位整數(shù),范圍-9999999999。輸入57523.316,真正保存的數(shù)據(jù)是57523oracle表的管理-oracle支持的數(shù)據(jù)類型數(shù)值型(練習(xí))Actual DataSpecified ASStored AsActual DataSp
44、ecified ASStored As123.89NUMBER123.89123.2564NUMBER123.2567123.89NUMBER(3)1241234.9876NUMBER(6,2)1234.99123.89NUMBER(6,2)123.8912345.123456NUMBER(6,2)Error123.89NUMBER(6,1)123.91234.9876NUMBER(6)1235123.89NUMBER(4,2)Error12345.345NUMBER(5,-2)12300123.89NUMBER(6,-2)1001234567NUMBER(5,-2)1234600.01234
45、NUMBER(4,5).0123412345678NUMBER(5,-2)Error.00012NUMBER(4,5).00012123456789NUMBER(5,-4)123460000.000127NUMBER(4,5).000131234567890NUMBER(5,-4)Error.0000012NUMBER(2,7).000001212345.58NUMBER(*,1)12345.6.00000123NUMBER(2,7).00000120.1NUMBER(4,5)Error1.2e-4NUMBER(2,5)0.000120.01234567NUMBER(4,5)0.012351.
46、2e-5NUMBER(2,5)0.000010.09999NUMBER(4,5)0.099998、date,用于表示時(shí)間,(年/月/日/時(shí)/分/秒),是定長。舉例說明:create table test5(birthday date);/添加時(shí)個(gè)要使用默認(rèn)格式insert into test5 values(11-11月-11);如使用insert into test5 values(2011-11-11);則報(bào)錯(cuò)。特別說明:oracle日期有默認(rèn)格式為:DD-MON-YYYY,天-月-年;如果我們希望使用自己習(xí)慣的日期添加,也可以,但是需要借助oracle函數(shù)來添加。oracle表的管理-創(chuàng)
47、建表建表-學(xué)生表字段字段類型id整型numbername字符型varchar2sex字符型charbrithday日期型datefellowship小數(shù)型number(6,2)resume大文本型clob學(xué)生表SQLcreate table students(id number,name varchar2(64),sex char(2),brithday date,fellowship number(10,2),resume clob);班級(jí)表SQLcreate table class_(class_id number,class_name varchar2(32);oracle表的管理-修改
48、表使用alter table語句添加、修改或刪除列的語法添加列基本語法:alter table TABLENAME add(columnname datatype);alter table 表名 add(列名(字段名) 列類型(字段類型);修改列基本語法:alter table TABLENAME modify(columnname datatype);alter table 表名 modify(列名(字段名) 列類型(字段類型);刪除列基本語法:刪除多列語法:alter table TABLENAME drop(columnname,columnname2,.);alter table 表名
49、 drop(列名(字段名),列名2(字段名2),.);刪除單列語法:alter table TABLENAME drop column COLUMNNAME;alter table 表名 drop column 列名(字段名);修改表的名稱基本語法:rename OldTableName to NewTableName;rename 表名 to 新表名;修改列名基本語法:alter table TABLENAME rename(OldColumnName to NewColumnName);alter table 表名 rename(舊列名 to 新列名);查看表結(jié)構(gòu)基本語法:desc TABLENAME;desc 表名;練習(xí):1、給學(xué)生表添加班級(jí)編號(hào)SQLalter table students add(class_id number);2、學(xué)生姓名變成varchar2(30)SQLalter table students modify(name varchar2(30);3、學(xué)生姓名變成char(30)SQLalter table students modify(name char(30);4、刪除學(xué)生表的fellowship字段SQLalter table students drop column fellow
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024專業(yè)餐飲原料采購協(xié)議范例
- 2024專門物業(yè)抵押貸款協(xié)議范本
- 城市公園景觀欄桿2024安裝工程協(xié)議
- 2024年店鋪技術(shù)支持人員勞動(dòng)協(xié)議
- 2024技術(shù)服務(wù)協(xié)議案例
- DB11∕T 1720-2020 城市雨水管渠流量監(jiān)測基本要求
- 2024年批量瀝青訂貨協(xié)議范例
- 2024年泳池施工項(xiàng)目協(xié)議模板
- 2024年度混凝土擋土墻施工協(xié)議
- 2024年設(shè)備購銷協(xié)議條款
- 2023年溫州鹿城區(qū)區(qū)屬國企招聘選調(diào)筆試真題
- 拆除石籠護(hù)坡施工方案
- 小學(xué)數(shù)學(xué)《比的認(rèn)識(shí)單元復(fù)習(xí)課》教學(xué)設(shè)計(jì)(課例)
- 影視培訓(xùn)網(wǎng)上課程設(shè)計(jì)
- 2024年小學(xué)體育工作計(jì)劃范本(五篇)
- GB/T 44670-2024殯儀館職工安全防護(hù)通用要求
- 代理過賬合作協(xié)議書范文
- 2023-2024學(xué)年山東名??荚嚶?lián)盟高三下學(xué)期二模英語試題(解析版)
- 江蘇省徐州市豐縣2023-2024學(xué)年九年級(jí)上學(xué)期期中學(xué)情調(diào)研英語試題
- 脊椎動(dòng)物-(一)魚 課件-2024-2025學(xué)年人教版生物七年級(jí)上冊
- 清單九 八類常用特指詞語136例
評(píng)論
0/150
提交評(píng)論