RHEL6上安裝的oracle11g中,手動建庫出現的問題
RHEL6上安裝的oracle11g中,手動建庫出現的問題
1、簡單建立了INIT.ORA後,進入SQLPLUS,第一次進入還是好的,後來在STARTUP NOMOUNT的過程中,出現了ORA-09925,最後原因居然是有個檔案許可權錯誤,$oracle_home/bin/oracle檔案許可權錯誤,由於加入了selinux安全機制,所以難度增加了,開始的時候,這個檔案的許可權是6751,需要改成6755,然後就對了。這裡要注意學習下,selinux安全機制後,檔案許可權另外加入了一組,就是第一個數字,分別為--s--s--t,還是421,但是要注意加起來哈。
2、手動建庫,主要涉及資料庫檔案、聯機重做日誌、控制檔案三種檔案相關,如果第一次失敗,記得檢視這三種檔案的位置,有沒有檔案,如果有,就刪除,再重新做。
3、啟動引數檔案中,oracle描述最少需要三個引數,分別是DB_NAME、CONTROL_FILES、MEMORY_TARGET
,如果提供的引數檔案很多的可選專案,可以用命令先去掉:cat init.ora |grep -v ^$ |grep -v ^# >initorcl.ora,這個命令可以去掉所有行中帶有#和$標記的所有行,比較好用。
4、建庫的SQL語句,在聯機文件中有,再database administration的administrator's guide中,2 Creating and Configuring an Oracle Database 的Step 9: Issue the CREATE DATABASE Statement,這裡有模板,可以照搬,基本有效,只要改下檔案位置。這個最好是建立SQL執行檔案,一個一個的命令輸入太麻煩,關鍵是容易出錯,導致前功盡棄。
5、下一步需要做建立資料庫後,如果把建立好的資料庫註冊到監聽器中,這一步一直沒有成功。
6、試驗了一個有趣的命令,就是手動的刪除資料庫,drop database,我開始還以為不能用,但是sqlplus沒有直接提示不能用,而是提示要求再mount模式下,最後試驗的結果是,就是可以用這個命令,再sqlplus中,啟動資料庫到mount的restricted狀態,可以這樣用:
sql>startup mount restrict
sql>drop database;
完成後,資料庫確實被刪除了,而且,系統中相關連的物理檔案也被刪除了。命令本身,相當簡單,不過對於生產庫來說,風險太大了。
7、這上面,還少說了一個必要的環境引數,因為我一開始就設定再oracle使用者的登入指令碼中了,所以這裡還是要提示下,唯一一個必要的環境引數就是ORACLE_SID,可以再BASH中直接輸入export ORACLE_SID=orcl,然後用env |grep ORACLE來檢查下。
8、在建立了最簡單的INIT.ORA檔案後,進入sqlplus之後,第一步是建立server parameter file,複雜了,其實就是SPFILE,^_^。create spfile from pfile,就是命令就可以了,然後再進行下一步。
9、現在應該是建立好了資料庫,然後就是建立監聽器,監聽器引數的位置,應該是在$ORACLE_HOME/network/admin下,建立好引數檔案,注意題目要求的監聽埠,預設是1521,也可以是其他埠,對於監聽器的設定,倒是很容易,只有一個lsnrctl,如果不知道位置,就用which lsnrctl,不過用這個之前,檢查oralce使用者的PATH環境引數值,這個裡面要包含有$ORACLE_HOME/bin才行,如果沒有的話,估計找不到。執行oracle$ lsnrctl後,就進入了lsnrctl程式中,很簡單了,先用help看下命令,然後照做就行,當然還是要引數設定正確才行。
10、2011-7-17的手動建立比較順利。對於INIT.ORA,預設的有個INIT.ORA檔案,裡面引數一般都正確,主要是memory_target這個引數,好像有要求,根據機器硬體要求,現在還不知道具體要求是什麼。注意修改具體檔案位置,而且要注意給的INIT檔案好像是在windows下的格式,裡面的
11、資料庫建立後,記得執行SQL語句建立資料字典和檢視,聯機文件上具有要求,要求安裝3個SQL,$ORACLE_HOME/rdbms/admin/catalog.sql 、 $ORACLE_HOME/rdbms/admin/catproc.sql、 $ORACLE_HOME/sqlplus/admin/pupbld.sql,這個不需要記檔案位置,在聯機文件上都有。
12、對於監聽器,預設的監聽引數檔案在$ORACLE_HOME/network/admin/samples下面,只用cat輸出到上一層目錄,主要裡面只需要用listener的引數設定就行,裡面要注意就是HOST的引數,要和主機名一致,其他的不要動。然後再LSNRCTL下,用START啟動監聽,啟動後,再資料庫SQLPLUS中用動態註冊,就是:alter system register。然後再lsnrctl中用status檢視狀態。一般情況下,已經註冊了。
13、RHEL6的防火牆要注意,再點了disable firewall這個後,一定要再點下apply,這個是確定的意思,要不然沒用,防火牆還沒被關閉。當然也可以只開放1521埠,如果監聽器再其他埠的話,注意埠號。
14、下次試驗不同埠的監聽器設定。
15、在安裝資料庫完成並重啟機器後,使用sqlplus的時候,可能出錯,這個原因是你的使用者環境引數不正確。雖然在你的登入指令碼中設定了export環境引數,但是好像有時候,不管用,有可能提示net service name 錯誤,只要重新設定下ORACLE_BASE、ORACLE_HOME、ORACLE_SID就可以了。為了儘量避免出現錯誤,最好是手動設定環境引數,需要設定的引數一般有4個,分別是ORACLE_BASE、ORACLE_HOME、ORACLE_SID、PATH。
16、在剛開始手動建庫的時候,進去sqlplus後,startup nomount的時候,有可能出現ora-00845錯誤:memory_target not supported in this system。就是系統不支援這個引數的數值。這個與系統tmpfs檔案有關,一般是tmpfs檔案系統太小導致的,用df命令檢視tmpfs大小。從現在情況看來,新的伺服器即使帶有16G記憶體,也有可能因為tmpfs的大小,導致這個錯誤,也就是說memory_target引數和kernel.shmmax及tmpfs大小都有關,kernel.shmmax設定是要避免將oracle程式切成多個片段,而tmpfs將直接導致是否支援目前memory_target引數大小。tmpfs的大小,最大是實體記憶體和SWAP空間之和,所以只要比設定的memory_target大,而比實體記憶體和SWAP空間之和小就可以了。要修改tmpfs大小,修改/etc/fstab中設定,對tmpfs改成這樣:tmpfs /dev/shm tmpfs defaults,size=1G 0 0,儲存,然後 # mount -o remount /dev/shm就可以了。
17、修改了tmpfs大小後,關閉資料庫重啟機器,然後進入sqlplus中啟動資料庫,還是提示ora-00845錯誤。這個是因為的fstab中沒有設定對,如果只是臨時的使用,可以這樣設定tmpfs /dev/shm tmpfs defaults,size=1G 0 0,這由於有defaults這個,所以重啟之後還是使用了defaults,如果要永久改變的話,這樣設定tmpfs /dev/shm tmpfs size=1G 0 0。
18、要注意環境引數不僅僅是對sqlplus,對其他程式也是非常有用。比如lsnrctl程式,在設定了PATH引數但是沒有設定ORACLE_HOME等引數的BASH中,進入lsnrctl程式之後,執行status的時候提示錯誤:message 1053 not found;no message file for,就是找不到引數檔案,因為沒有ORACLE_HOME引數的緣故。
LISTENER2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1522))
)
)
)
要注意到,這個設定和listener檔案模板是不一樣的,多了兩行,就是多出來的兩行的,才能讓lsnrctl認到這個LISTENER2。引數檔案設定好了之後,執行lsnrctl start listener2,可以看到順利啟動的提示,並且注意啟動監聽的埠號。由於PMON程式,預設是在1521埠上進行註冊的,所以這時候資料庫動態註冊是失敗的,也就是沒有註冊。進入sqlplus,啟動資料庫後,修改local_listener引數:alter system set local_listener="(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1522))",“”裡面的字串可以直接從監聽引數檔案中複製,執行成功後,可以不管他了。在bash中,輸入 lsnrctl status listener2,來查詢註冊情況,一般情況下是註冊成功了的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9606200/viewspace-745651/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RHEL6安裝過程出現的奇怪的問題
- Laravel 安裝 voyager 出現的資料庫問題Laravel資料庫
- oracle11g 手動建庫Oracle
- oracle安裝出現的問題Oracle
- mysql 安裝出現的問題MySql
- 靜默安裝and手動建庫
- RHEL6安裝ORACLE11G準備工作Oracle
- Oracle手動建庫常見問題Oracle
- redhat as 5 +oracle 10.2.0.1 用裸裝置建庫出現的問題RedhatOracle
- jive3.1.4安裝資料庫出現問題!!!資料庫
- Oracle11g安裝過程遇到的問題Oracle
- 安裝jive時出現這樣的問題:
- Laravel 安裝 voyager 出現的資料庫報錯問題解決Laravel資料庫
- AIX 上建立裸裝置lv出現的問題AI
- Windows環境下Oracle11g安裝的問題WindowsOracle
- Keepalived安裝後出現的問題總結
- 安裝jivejdon出現的問題,請指點一二
- 安裝oracle+php+apache出現的新問題OraclePHPApache
- 安裝jive中的一個資料庫問題?資料庫
- 安裝出問題
- 也遇到安裝裝置出現怪問題!
- Sublime Text3安裝包時出現的問題
- 常見問題--安裝好後出現新問題
- Pyaudio庫的安裝及問題
- 安裝oracle11g碰到“無法訪問臨時位置”的問題Oracle
- iOS下 安裝Protobuf(ProtocolBuffers)的詳細步驟,解決網上出現的所有問題iOSProtocol
- centos7下oracle11g詳細的安裝與建表操作(重複實現多次均沒問題)CentOSOracle
- node-sass 安裝不上的問題
- 安裝9204 for rhel4出現的問題總結
- azkaban 安裝中的幾個問題
- 安裝 Laravel Mix 中遇到的問題Laravel
- 安裝mysql中遇到的問題1MySql
- 在rhel4上安裝oracle 10.2.0.1出錯的怪問題Oracle
- 安裝的問題
- 在騰訊雲上安裝mysql遇到的問題MySql
- linux7上安裝RAC的問題Linux
- 在SqlServer2000+Tomcat4.1上安裝jive出現的中文亂碼問題SQLServerTomcat
- 解決在redhat 6上安裝oracle11g r2時提示pdksh 沒有安裝問題RedhatOracle