最近剛到公司上班,大致了解了一下公司的流程之后,發(fā)現(xiàn)數(shù)據(jù)庫非常需要惡補(bǔ)一下,以前在學(xué)校學(xué)習(xí)的一些數(shù)據(jù)庫都是SQLserver,以及一些增,刪,改,查的基本操作,
這些都是好早好早以前的事了,后來大部分時(shí)間都用來學(xué)習(xí)匯編,搞逆向去了,為了自己的發(fā)展必須要打好開發(fā)的基礎(chǔ),當(dāng)然數(shù)據(jù)庫是必要的,oracle對(duì)我來說確實(shí)感覺非常陌生以前基本沒有接觸過,經(jīng)過最近幾天的折騰,大概了解了一下oracle數(shù)據(jù)庫的安裝,簡(jiǎn)單的配置,畢竟還是小白,以后還需要繼續(xù)惡補(bǔ),下面就是最近自己的一些新的和收獲。
1. 首先是oracle的安裝
對(duì)于一個(gè)軟件的安裝,在我的印象中,貌似絕大多數(shù)軟件都是非常容易安裝的,一般安裝軟件會(huì)自己配置好自己的運(yùn)行環(huán)境,自己創(chuàng)建并開啟自己所需要的一些服務(wù),以及在注冊(cè)表中創(chuàng)建一些需要用到的項(xiàng),等等,但是我在安裝oracle的時(shí)候并沒有那么順利,我記得剛開始安裝的時(shí)候使用的是公司的電腦(win7旗艦版64位,配置還湊合,組裝的機(jī)器。。),首先我安裝的版本是 win64_11gR2_database (當(dāng)時(shí)10 那個(gè)版本用的很少,也就沒用了)11g這個(gè)版本的如下圖所示:

相信安裝過的都對(duì)這個(gè)界面很熟悉,直接點(diǎn)擊下一步:

上面這個(gè)界面我們可以根據(jù)自己的實(shí)際情況選擇,如果是初次安裝的話,就選擇第一個(gè)就可以了,
點(diǎn)擊下一步:

關(guān)于上面這個(gè) 有兩個(gè)選項(xiàng),就是一個(gè)是桌面類,一個(gè)是服務(wù)器類,其實(shí)我么你用的話完全可以選擇桌面類,對(duì)以后使用也沒什么影響(個(gè)人感覺),如果先澤服務(wù)器類的話,配置會(huì)更加詳細(xì),這個(gè)可以根據(jù)自己的實(shí)際情況來選擇,這次我們就先選擇桌面類,點(diǎn)擊下一步:

上面這些就是即將要?jiǎng)?chuàng)建的數(shù)據(jù)庫的一些位置,字符類型,什么類型的數(shù)據(jù)庫,這里我選擇的是企業(yè)版,這里可以按照默認(rèn)的就可以了,需要注意的就是管理口令,這個(gè)口令使以后登錄數(shù)據(jù)庫的時(shí)候的口令,也就是密碼,這個(gè)一定要記住,用這個(gè)口令登錄的用戶名稱有system sys 等這幾個(gè)用戶的口令都是這個(gè)自己設(shè)置的口令,這個(gè)口令的格式可以隨意輸入,雖然他會(huì)提示不符合規(guī)則,但是可以忽略,這個(gè)對(duì)于我們自己并非特別專業(yè)的人員來說并沒有什么影響。點(diǎn)擊下一步:

出現(xiàn)上面這個(gè)界面,我們只需要等待一下就可以了,如果正常的話會(huì)出現(xiàn)這個(gè)界面:

遇見這個(gè)界面,我們安靜的等待就可以了,這個(gè)需要好長(zhǎng)時(shí)間,這里面最容易出現(xiàn)錯(cuò)誤,當(dāng)時(shí)我安裝的時(shí)候就在這里出現(xiàn)了一大堆的錯(cuò)誤,首先是一個(gè)服務(wù)未響應(yīng)或啟動(dòng),在這里需要說明一下,oracle正常運(yùn)行的話,所需要啟動(dòng)的服務(wù)是這幾個(gè):
Oracle ORCL VSS Writer Service,OracleDBConsoleorcl,OracleJobSchedulerORCL,OracleMTSRecoveryService,OracleOraDb11g_home1ClrAgent,OracleOraDb11g_home1TNSListener,OracleServiceORCL。其中OracleDBConsoleorcl,
OracleMTSRecoveryService,OracleOraDb11g_home1TNSListener,OracleServiceORCL是默認(rèn)自動(dòng)啟動(dòng)的,OracleJobSchedulerORCL是默認(rèn)自動(dòng)禁止的,其余的默認(rèn)為
這七個(gè)服務(wù)的含義分別為:
Oracle ORCL VSS Writer Service:Oracle卷映射拷貝寫入服務(wù),VSS(Volume Shadow Copy Service)能夠讓存儲(chǔ)基礎(chǔ)設(shè)備(比如磁盤,陣列等)創(chuàng)建高保真的時(shí)間點(diǎn)映像,即映射拷貝(shadow copy)。它可以在多卷或者單個(gè)卷上創(chuàng)建映射拷貝,同時(shí)不會(huì)影響到系統(tǒng)的系統(tǒng)能。(非必須啟動(dòng))
OracleDBConsoleorcl:Oracle數(shù)據(jù)庫控制臺(tái)服務(wù),orcl是Oracle的實(shí)例標(biāo)識(shí),默認(rèn)的實(shí)例為orcl。在運(yùn)行Enterprise Manager(企業(yè)管理器OEM)的時(shí)候,需要啟動(dòng)這個(gè)服務(wù)。(非必須啟動(dòng))
OracleJobSchedulerORCL:Oracle作業(yè)調(diào)度(定時(shí)器)服務(wù),ORCL是Oracle實(shí)例標(biāo)識(shí)。(非必須啟動(dòng))
OracleMTSRecoveryService:服務(wù)端控制。該服務(wù)允許數(shù)據(jù)庫充當(dāng)一個(gè)微軟事務(wù)服務(wù)器MTS、COM/COM+對(duì)象和分布式環(huán)境下的事務(wù)的資源管理器。(非必須啟動(dòng))
OracleOraDb11g_home1ClrAgent:Oracle數(shù)據(jù)庫.NET擴(kuò)展服務(wù)的一部分。 (非必須啟動(dòng))
OracleOraDb11g_home1TNSListener:監(jiān)聽器服務(wù),服務(wù)只有在數(shù)據(jù)庫需要遠(yuǎn)程訪問的時(shí)候才需要。(非必須啟動(dòng),下面會(huì)有詳細(xì)詳解)。
OracleServiceORCL:數(shù)據(jù)庫服務(wù)(數(shù)據(jù)庫實(shí)例),是Oracle核心服務(wù)該服務(wù),是數(shù)據(jù)庫啟動(dòng)的基礎(chǔ), 只有該服務(wù)啟動(dòng),Oracle數(shù)據(jù)庫才能正常啟動(dòng)。(必須啟動(dòng))
那么在開發(fā)的時(shí)候到底需要啟動(dòng)哪些服務(wù)呢?
對(duì)新手來說,要是只用Oracle自帶的sql*plus的話,只要啟動(dòng)OracleServiceORCL即可,要是使用PL/SQL Developer等第三方工具的話,OracleOraDb11g_home1TNSListener服務(wù)也要開啟。OracleDBConsoleorcl是進(jìn)入基于web的EM必須開啟的,其余服務(wù)很少用。
手動(dòng)操作。
我遇到的問題1
我在安裝的時(shí)候這個(gè) OracleOraDb11g_home1TNSListener 服務(wù)有時(shí)候會(huì)啟動(dòng)不了,這個(gè)服務(wù)所依賴的是E:\app\admin\product\11.2.0\dbhome_2\BIN\TNSLSNR 這個(gè)路徑下的一個(gè)可執(zhí)行文件

有時(shí)候會(huì)缺少這個(gè)文件導(dǎo)致服務(wù)不能正常運(yùn)行。
我遇到的問題2:
OracleServiceORCL 這個(gè)服務(wù)無法正常啟動(dòng),原因是因?yàn)檫@個(gè)服務(wù)所依賴的oracle.exe 這個(gè)可執(zhí)行文件不能正常啟動(dòng),

我們可以點(diǎn)擊這個(gè)服務(wù),查看屬性局可以看到這個(gè)服務(wù)得一些依賴的文件,當(dāng)時(shí)我的電腦的環(huán)境出錯(cuò),導(dǎo)致這個(gè)可執(zhí)行文件不能正常運(yùn)行,最后重新裝了一下系統(tǒng),解決了,有的時(shí)候是因?yàn)樾遁d以前裝過的oracle不徹底導(dǎo)致,這幾點(diǎn)都需要在出現(xiàn)安裝錯(cuò)誤的時(shí)候去考慮一下,當(dāng)時(shí)我也是因?yàn)檫@幾個(gè)問題折騰了好幾天。
如果上面都安裝順利的話,那么你的oracle的數(shù)據(jù)庫的基本環(huán)境已經(jīng)搭載好了,下面的就是需要?jiǎng)?chuàng)建新的用戶,設(shè)置相應(yīng)的權(quán)限,導(dǎo)入相應(yīng)的數(shù)據(jù)庫備份(.dmp文件),創(chuàng)建表空間等等的一些操作。為了適應(yīng)自己的需求我以自己的一些實(shí)際操作過程大概說一下自己最近的一些操作:
如果安裝成功,那么就可以打開數(shù)據(jù)庫的命令界面輸入相應(yīng)的數(shù)據(jù)庫命令即可(有的人也許會(huì)問在哪里輸入數(shù)據(jù)庫的命令呢? 其實(shí)為了方便可以直接win+R 輸入cmd,進(jìn)入黑框也就是windows的命令行界面,輸入sqlplus 就會(huì)提示你屬入用戶名 在沒有創(chuàng)建新的用戶前可以輸入system 這個(gè)不區(qū)分大小寫,然后輸入口令就是安裝的時(shí)候設(shè)置的那個(gè)口令,然后就會(huì)進(jìn)入數(shù)據(jù)庫的命令行界面,
)
下面就可以輸入相應(yīng)的數(shù)據(jù)庫命令了
下面的一些操作是我使用的時(shí)候做的一些基本操作:
首先創(chuàng)建表空間(就是開辟空間用來存放東西)
--創(chuàng)建采集流程庫數(shù)據(jù)表空間
復(fù)制代碼 代碼如下:
CREATE TABLESPACE HIIP_DEF LOGGING DATAFILE 'E:\app\admin\oradata\orcl\HIIP_DEF.dbf' SIZE 64M AUTOEXTEND ON NEXT 64M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL AUTOALLOCATE;
--創(chuàng)建采集流程庫臨時(shí)表空間
復(fù)制代碼 代碼如下:
CREATE temporary TABLESPACE HIIP_TEMP tempfile 'E:\app\admin\oradata\orcl\HIIP_TEMP.dbf' SIZE 64M AUTOEXTEND ON NEXT 64M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;
-- 創(chuàng)建采集流程庫用戶 (創(chuàng)建一個(gè)新的登錄用戶,就像是system,但是還需要給這個(gè)創(chuàng)建的用戶授予一些權(quán)限)
create user hiip identified by hiip
default tablespace HIIP_DEF
temporary tablespace HIIP_TEMP
profile DEFAULT
quota unlimited on HIIP_DEF;
-- Grant/Revoke object privileges 給用戶授目標(biāo)權(quán)限
grant select, insert, update, delete on SYS.DBA_JOBS to hiip;
-- Grant/Revoke role privileges 給用戶授角色權(quán)限
grant connect to hiip;
grant dba to hiip;
grant resource to hiip;
-- Grant/Revoke system privileges 給用戶授系統(tǒng)權(quán)限
grant create database link to hiip;
grant force any transaction to hiip;
grant unlimited tablespace to hiip;
grant execute any procedure to hiip;
grant create any table to hiip;
grant select any table to hiip;
grant insert any table to hiip;
grant delete any table to hiip;
grant update any table to hiip;
需要注意的一點(diǎn)是oracle的命令要以“;”結(jié)尾,不然的話會(huì)出錯(cuò)誤。
下面介紹一下怎么將一個(gè)備份的數(shù)據(jù)庫文件(.dmp)導(dǎo)入到需要的數(shù)據(jù)庫中,在這里我講一個(gè)數(shù)據(jù)庫文件導(dǎo)入到hiip這個(gè)用戶中
剛開始我也不知道怎么導(dǎo)入的,后來也是問別人的,那要怎么做呢,不是在這個(gè)命令行里邊,從新打開一個(gè)CMD窗口,輸入imp 命令
就會(huì)出現(xiàn)輸入用戶名和口令的界面,輸入剛才創(chuàng)建的用戶名hiip輸入口令,就會(huì)提示是否要導(dǎo)入相應(yīng)的數(shù)據(jù)庫文件,我么你直接輸入yes就可以了,然后將需要導(dǎo)入的數(shù)據(jù)庫的文件的路徑輸入到上面去,OK,enter 就可以了看見數(shù)據(jù)庫文件正在被導(dǎo)入庫中。
下面就是怎么將數(shù)據(jù)庫的文件導(dǎo)出 那就是exp 命令 ,同樣是在cmd下執(zhí)行,導(dǎo)出的時(shí)候需要選則導(dǎo)出的內(nèi)容,這個(gè)可以根據(jù)自己的情況選擇,還需要輸入導(dǎo)出的文件存放的位置和文件名稱,這個(gè)輸入之后就會(huì)自己創(chuàng)建,導(dǎo)出成功后就會(huì)出現(xiàn)XX.dmp文件 這個(gè)就是導(dǎo)出的數(shù)據(jù)庫文件。
數(shù)據(jù)庫的其他一些操作以后繼續(xù)熟悉。
更多精彩內(nèi)容,請(qǐng)點(diǎn)擊《Oracle安裝教程手冊(cè)》,進(jìn)行深入學(xué)習(xí)和研究。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- mysql 5.7.20 win64 安裝及配置方法
- 解決win64 Python下安裝PIL出錯(cuò)問題(圖解)