十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
oracle啟停
創(chuàng)新互聯(lián)專注于企業(yè)營(yíng)銷型網(wǎng)站、網(wǎng)站重做改版、安慶網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、商城建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為安慶等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
1.登錄
登錄linux系統(tǒng),切換到oracle用戶
# su oracle
2.連接
$ cd?$ORACLE_HOME/bin?
$ sqlplus /nolog
3.使用管理員權(quán)限
conn / as sysdba
4.關(guān)閉服務(wù)(啟動(dòng))
shutdown immediate
startup
5.退出
quit
6.啟動(dòng)監(jiān)聽
$ lsnrctl start
===============================================
磁盤掛載
/oracle 下文件隨著項(xiàng)目的擴(kuò)大,目錄空間已不夠使用,需要掛載一個(gè)新的磁盤來(lái)負(fù)責(zé)存儲(chǔ)
直接掛載會(huì)發(fā)現(xiàn)/oracle下變空了,這個(gè)原因是由于linux的VFS(虛擬文件系統(tǒng))機(jī)制導(dǎo)致的,正常登錄以后,所看到的各個(gè)目錄,文件都是內(nèi)核在加載時(shí)候構(gòu)造在內(nèi)存中的VFS目錄樹,而不是直接看到硬盤上的實(shí)際目錄樹。當(dāng)你掛載某個(gè)設(shè)備到一個(gè)VFS掛載點(diǎn)上時(shí)(比如/oracle),系統(tǒng)就把VFS中的這個(gè)掛載點(diǎn)/oracle指向你最后所掛載的那個(gè)設(shè)備上。那么你現(xiàn)在訪問(wèn)該掛載點(diǎn)時(shí),就會(huì)看到你最后掛載在此處的設(shè)備。而之前所掛載的設(shè)備依然在那里,只不過(guò)掛載點(diǎn)/oracle已經(jīng)不再指向之前的設(shè)備。所以之前的數(shù)據(jù)是被隱藏了,但并沒有刪除,若umount掛載后,數(shù)據(jù)又重新回來(lái)了
基于這種情況,只能通過(guò)跳板的方式把原來(lái)的/oracle數(shù)據(jù)復(fù)制到新的/oracle分區(qū)下了 ,如何添加新硬盤,請(qǐng)查找相關(guān)資料
mkdir /new ###跳板目錄
mount /dev/sdb1 /new ###首先掛載跳板目錄
cp -R /oracle/* /new ###復(fù)制/oracle目錄所有數(shù)據(jù)到/new先
mount /dev/sdb1 /oracle ###掛載/oracle 到新硬盤,此時(shí)你會(huì)神奇的發(fā)現(xiàn)之前的/oracle目錄文件已經(jīng)全部轉(zhuǎn)移過(guò)來(lái)了,也許你會(huì)有點(diǎn)疑問(wèn),我并沒有復(fù)制或移動(dòng)/new文件到新掛載的/oracle目錄啊,其實(shí)此時(shí)的/oracle目錄相當(dāng)于/new目錄的硬鏈接,可以測(cè)試下mkdir /new/test 你會(huì)發(fā)現(xiàn)/oracle目錄也存在test
umount /new ###解除掛載
rm -rf /new ###刪除跳板目錄
vi /etc/fstab
增加:/dev/sdb1 /oracle ext3 defaults 0 0
:wq!
--------------------------------------------------------------------------------------
掛載新盤后進(jìn)行啟動(dòng)發(fā)現(xiàn)報(bào)錯(cuò)
------------
ORA-09925: Unable to create audit trail file
Linux Error: 13: Permission denied
Additional information: 9925
ORA-09925: Unable to create audit trail file
Linux Error: 13: Permission denied
Additional information: 9925
---------
是因?yàn)槟夸洐?quán)限問(wèn)題
解決方法
chown -R oracle.oinstall /oracle
再進(jìn)行操作,一切正常
===================================================
可參考
Linux磁盤的掛載和卸載:
首先啟動(dòng)windows命令。在開始菜單中輸入cmd命令
輸入啟動(dòng)命令:"net start oracleservieYAOYY" [Yaoyy代表實(shí)例名稱,不區(qū)分大小寫]
使用sqlplus方式登錄數(shù)據(jù)庫(kù),測(cè)試啟動(dòng)是否正常。
登錄成功后,會(huì)有以下頁(yè)面,并且命令前綴變成:“SQL ”方式
使用簡(jiǎn)單的查詢語(yǔ)句可以看到系統(tǒng)正常執(zhí)行sql語(yǔ)句.
操作完之后,退出系統(tǒng)使用命令:"exit;"進(jìn)行退出
停止oracle服務(wù). 使用命令:"net stop oracleserviceyaoyy"注意后面沒有分號(hào).
1、以oracle用戶登錄系統(tǒng),如果是root用戶,使用su - oracle切換用戶。
2、以oracle用戶cd到oracle的bin目錄,cd $ORACLE_HOME/bin。
3、以nolog方式運(yùn)行sqlplus。
4、以sysdba連接數(shù)據(jù)庫(kù),如下SQL conn /as sysdba。
5、輸入用戶名sys 和密碼。
6、啟動(dòng)數(shù)據(jù)庫(kù)實(shí)例,SQL startup;等待片刻,等到database opened就是打開數(shù)據(jù)庫(kù)實(shí)例成功了。
7、使用命令shutdown abort ?;或者? shutdown immediate?;?關(guān)閉數(shù)據(jù)庫(kù)。
1. linux下啟動(dòng)oracle\x0d\x0asu - oracle\x0d\x0asqlplus /nolog\x0d\x0aconn /as sysdba\x0d\x0astartup\x0d\x0aexit\x0d\x0alsnrctl start\x0d\x0aexit\x0d\x0a2. linux下關(guān)閉oracle\x0d\x0asu - oracle\x0d\x0asqlplus /nolog\x0d\x0aconn /as sysdba\x0d\x0ashutdown immediate\x0d\x0aexit\x0d\x0alsnrctl stop\x0d\x0aexit\x0d\x0a3、啟動(dòng)監(jiān)聽器\x0d\x0aoracle@suse92:~ lsnrctl start\x0d\x0a4、停止監(jiān)聽器\x0d\x0aoracle@suse92:~ lsnrctl stop\x0d\x0a5、查看監(jiān)聽器狀態(tài)\x0d\x0aoracle@suse92:~ lsnrctl\x0d\x0aLSNRCTL status\x0d\x0aLSNRCTL exit\x0d\x0a6.# setup 可以設(shè)置防火墻等信息\x0d\x0a7.安裝監(jiān)聽器\x0d\x0a運(yùn)行 netca 命令\x0d\x0alsnrctl start\x0d\x0alsnrctl stop\x0d\x0areload listener 重新加載\x0d\x0aservice listener\x0d\x0ahelp 幫助\x0d\x0aquit 退出\x0d\x0avi etc/hosts\x0d\x0a添加 192.168.0.100 chsylinux\x0d\x0a數(shù)據(jù)庫(kù)關(guān)閉死掉還可以STARTUP FORCE\x0d\x0a,再糟糕的情況用SHUTDOWN ABORT。
oracle的啟動(dòng)和關(guān)閉
一、sql*plus方式:
用sql*plus來(lái)連接到Oracle
Sqlplus /nolog 是以不連接數(shù)據(jù)庫(kù)的方式啟動(dòng)sql*plus
Connect /as sysdba 是以DBA身份連接到oracle
or35.gif
. 啟動(dòng)
or36.gif
Startup就可以啟動(dòng)了。
不過(guò)oracle啟動(dòng)模式有3種:
l Startup nomount (nomount模式)啟動(dòng)實(shí)例不加載數(shù)據(jù)庫(kù)。
l Startup mount (mount模式)啟動(dòng)實(shí)例加載數(shù)據(jù)庫(kù)但不打開數(shù)據(jù)庫(kù)
l Startup (open 模式)啟動(dòng)實(shí)例加載并打開數(shù)據(jù)庫(kù),就是我們上面所用的命令
Nomount模式中oracle僅為實(shí)例創(chuàng)建各種內(nèi)存結(jié)構(gòu)和服務(wù)進(jìn)程,不會(huì)打開任何數(shù)據(jù)庫(kù)文件,
所以說(shuō):
1) 創(chuàng)建新數(shù)據(jù)庫(kù)
2) 重建控制文件
這2種操作都必須在這個(gè)模式下進(jìn)行。
Mount模式中oracle只裝載數(shù)據(jù)庫(kù)但不打開數(shù)據(jù)庫(kù),所以說(shuō):
1) 重命名數(shù)據(jù)文件
2) 添加、刪除和重命名重做日子文件
3) 執(zhí)行數(shù)據(jù)庫(kù)完全恢復(fù)操作
4) 改變數(shù)據(jù)庫(kù)的歸檔模式
這4種操作都必須在這個(gè)模式下進(jìn)行
Open模式(就是我們上面的startup不帶任何參數(shù)的)正常啟動(dòng)。
當(dāng)然這3種模式之間可以轉(zhuǎn)換:
Alter database mount(nomount模式)—〉alter database open(mount 模式)—〉(open模式)
當(dāng)然還有其它一些情況,在我們open模式下可以將數(shù)據(jù)庫(kù)設(shè)置為非受限狀態(tài)和受限狀態(tài)
在受限狀態(tài)下,只有DBA才能訪問(wèn)數(shù)據(jù)庫(kù),所以說(shuō):
1) 執(zhí)行數(shù)據(jù)導(dǎo)入導(dǎo)出
2) 使用sql*loader提取外部數(shù)據(jù)
3) 需要暫時(shí)拒絕普通用戶訪問(wèn)數(shù)據(jù)庫(kù)
4) 進(jìn)行數(shù)據(jù)庫(kù)移植或者升級(jí)操作
這4種操作都必須在這個(gè)狀態(tài)下進(jìn)行
在打開數(shù)據(jù)庫(kù)時(shí)使用startup restrict命令即進(jìn)入受限狀態(tài)。
or37.gif
使用alter system disable restricted session命令即可以將受限狀態(tài)改變?yōu)榉鞘芟逘顟B(tài)。
or38.gif
使用alter system enable restricted session命令可以將非受限狀態(tài)變?yōu)槭芟逘顟B(tài)
or39.gif
使用alter database open read only可以使數(shù)據(jù)庫(kù)進(jìn)入只讀狀態(tài)。
使用alter database open read write 可以使數(shù)據(jù)庫(kù)進(jìn)入讀寫狀態(tài)。
當(dāng)然在某些情況下可能是用上述各種啟動(dòng)方式都無(wú)法成功啟動(dòng)數(shù)據(jù)庫(kù),這個(gè)時(shí)候就要使用startup force命令來(lái)強(qiáng)行啟動(dòng)數(shù)據(jù)庫(kù)。當(dāng)然誰(shuí)都不想碰到這種情況:)
or40.gif
c.關(guān)閉數(shù)據(jù)庫(kù)
1)正常關(guān)閉 shutdown
2) 立即關(guān)閉 shutdown immediate
3) 關(guān)閉事務(wù) shutdown transactional
4) 強(qiáng)行關(guān)閉 shutdown abort,當(dāng)然誰(shuí)都不想碰到這種情況。
二、OEM為例
Oracle Enterprise Management(OEM),
跟第一小節(jié)講的Sqlplus /nolog ,Connect /as sysdba 這2個(gè)命令差不多的操作如圖:
or29.gif
or30.gif
or31.gif
按照上面的一步步操作就能夠連接到數(shù)據(jù)庫(kù)。
下面是如何啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù):
or32.gif
點(diǎn)擊我們前幾章創(chuàng)建的ORADB01這個(gè)數(shù)據(jù)庫(kù)樹中的配置選項(xiàng),這個(gè)里面的:
1)已啟動(dòng) 對(duì)應(yīng) Nomount模式
2)已轉(zhuǎn)載 對(duì)應(yīng) mount模式
3)打開 對(duì)應(yīng) open模式
當(dāng)你點(diǎn)擊應(yīng)有按鈕之后就會(huì)進(jìn)入如下對(duì)話框
or33.gif
1)正常 對(duì)應(yīng) 正常關(guān)閉 shutdown
2) 立即 對(duì)應(yīng) 立即關(guān)閉 shutdown immediate
3) 事務(wù)處理 對(duì)應(yīng) 關(guān)閉事務(wù) shutdown transactional
4) 中止 對(duì)應(yīng) 強(qiáng)行關(guān)閉 shutdown abort
確定之后出現(xiàn)如下對(duì)話框
or34.gif
限制對(duì)數(shù)據(jù)庫(kù)訪問(wèn) 對(duì)應(yīng) alter system disable restricted session
alter system enable restricted session
只讀模式 對(duì)應(yīng) alter database open read only
alter database open read write
簡(jiǎn)單吧,sql*plus的一大堆命令到OEM中變成了幾個(gè)按鈕罷了。
3.windows控制臺(tái)
or41.gif
這個(gè)熟悉吧:
oracle ************Agent 用于OEM管理結(jié)構(gòu)
oracle************HTTPSERVER oracle Web服務(wù)器
oracle ************ManagementServer 用于OEM管理結(jié)構(gòu)
oracle ************ TNSListener oracle網(wǎng)絡(luò)結(jié)構(gòu)的服務(wù)器端進(jìn)程
oracle ************OEMREP 資料檔案庫(kù)文件
oracle ************ORADB001 用戶創(chuàng)建的數(shù)據(jù)庫(kù)
我一般都把所有的服務(wù)全部選成手動(dòng)啟動(dòng),如果全開,內(nèi)存要用掉700M.............
下面我們將Oracle 11g作為一個(gè)例子來(lái)介紹一下。 Oracle本身就是一個(gè)很占資源的軟件,光一個(gè)實(shí)例服務(wù)所占內(nèi)存,根據(jù)其安裝時(shí)分配的內(nèi)存就至少要達(dá)到256MB以上,再加上其他附屬服務(wù),光內(nèi)存就要占用物理內(nèi)存的30%左右,至于CPU,Oracle也需要占用30%左右,因而,我們考慮在有需要使用Oracle時(shí)啟用其相關(guān)服務(wù),平時(shí)則停止該服務(wù)。 我們拿Oracle 11g作為例子。首先在“開始=〉運(yùn)行”中輸入“services.msc”,按回車,進(jìn)入“服務(wù)”控制臺(tái),將Oracle ORCL VSSWriterService、OracleDBConsolexx(xx表示實(shí)例名稱)、OracleOraDb11g_home1TNSListener及OracleServicexx(xx表示實(shí)例名稱)服務(wù)的屬性中啟動(dòng)類型修改為“手動(dòng)”,然后在需要使用時(shí)啟動(dòng)OracleDBConsolexx(xx表示實(shí)例名稱)、OracleOraDb11g_home1TNSListener及OracleServicexx(xx表示實(shí)例名稱)這些服務(wù),不使用時(shí)停止,而且這樣做即使機(jī)器關(guān)機(jī)或重啟后,默認(rèn)系統(tǒng)還是不會(huì)啟動(dòng)這些服務(wù)的。當(dāng)然我們建議將啟動(dòng)停止服務(wù)的操作寫在一個(gè)批處理文件中方便使用。 下面我們附上啟動(dòng)及停止Oracle 11g服務(wù)的批處理文件內(nèi)容(具體批處理文件請(qǐng)見附件,oracle實(shí)例名稱以orcl為例):?jiǎn)?dòng)Oracle11g服務(wù)批處理代碼如下:@echooff@ ECHO 啟動(dòng) Oracle 11g 服務(wù)net start"OracleDBConsoleorcl"net start"OracleOraDb11g_home1TNSListener"net start"OracleServiceORCL" @ ECHO 啟動(dòng)完畢 按任意鍵繼續(xù)pauseexit停止Oracle11g服務(wù)批處理代碼如下:@echooff@ ECHO 停止 Oracle 11g 服務(wù)net stop"OracleDBConsoleorcl"net stop"OracleOraDb11g_home1TNSListener"net stop"OracleServiceORCL" @ ECHO 停止完畢