貼上與此次安裝相關文件、安裝包的連接:html
dqa0
jel2
如遇連接失效,Mail To
nanzhouieATqq.com
!linux
virtualbox
虛擬機(我更喜歡的是VMware
);Oracle Linux
;Oracle Linux
上安裝Oracle 11g
;TNS
,使得能夠遠程訪問數據庫服務器。ssh
登陸數據庫服務器,進行數據庫實例管理。i*sqlplus
或者第三方管理軟件登陸服務器,進行數據庫實例管理。HR
的模式(建議使用官方腳本)。名稱 | 版本號 |
---|---|
Vmware虛擬機 | 15.0.0-full-10134415-64bit |
linux_11gR2_database_1of2 | 11.2.0.1.0 - 64bit |
Putty.exe | Release 0.70-64bit |
Toad for oracle | 12.8.0.49 -32bit |
Oracle_11gR2_client | 11g Release2 (11.2)-32bit |
Oracle Linux文件(DOC-1002902.ova) | Oracle Linux x64 |
HR(Human Resource)
模式所需的腳本執行文件;TNS
服務所須要的tnsname.ora
、listener.ora
文件。ps:以上這些安裝、配置、腳本文件在上面我分享的百度雲連接文件中都能找到。c++
1.在虛擬機中導入老師提供的 DOC-1002902.ova
文件,因爲實驗室32位PC機的緣由,導入過程老是以失敗結束;所以改選64位PC機(配載VM虛擬機)
來操做。
2.在VM虛擬機成功安裝Oracle linux
(個人帳戶登陸密碼 oracle ),能夠去設置語言、時區、用戶名及密碼等。
web
Content | Instruction |
---|---|
檢查物理內存 | grep MemTotal /proc/meminfo |
查看交換分區 | grep SwapTotal /proc/meminfo |
查看當前內存使用狀況 | free |
PS:這一類指令能夠有不少,但其實只要在以前導入虛擬機文件過程沒有什麼異常,不是頗有必要去了解這些硬件環境信息,那麼這一步能夠跳過。sql
binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 compat-libstdc++-33-3.2.3 (32 bit) elfutils-libelf-0.125 elfutils-libelf-devel-0.125 gcc-4.1.2 gcc-c++-4.1.2 glibc-2.5-24 glibc-2.5-24 (32 bit) glibc-common-2.5 glibc-devel-2.5 glibc-devel-2.5 (32 bit) glibc-headers-2.5 ksh-20060214 libaio-0.3.106 libaio-0.3.106 (32 bit) libaio-devel-0.3.106 libaio-devel-0.3.106 (32 bit) libgcc-4.1.2 libgcc-4.1.2 (32 bit) libstdc++-4.1.2 libstdc++-4.1.2 (32 bit) libstdc++-devel 4.1.2 make-3.81 sysstat-7.0.2
yum search/install
命令將這些未安裝的依賴包所有安裝到服務端。yum
快速安裝oracle預裝環境——yum install oracle-rdbms-server-11gR2-preinstall
vi .bash_profile
命令進入編輯界面,點擊i
進入insert模式
,就能夠寫入如下數據了,寫完數據後,點擊ESC
退出insert模式
敲入:wq
保存本次修改並回到終端。#!/bin/bash ORACLE_BASE=/u01/app/oracle ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 ORACLE_SID=prod #這個位置填寫的是Service_name
/etc/hosts
,增長 ip地址
和 主機名
的對應關係,按照和上面一樣的方法,添加下面這條:192.168.216.128 docker.oracleworld.com #ip地址 hostname
注意:若是出現
其餘IP地址
與hostname
的對應關係,應當在前面加上#
註釋掉或者直接刪掉。docker
vi mk_dir.sh
添入如下數據mkdir -p /u01/app/oraInventory chmod -R 775 /u01/app/oraInventory mkdir -p /u01/app/oracle mkdir /u01/app/oracle/cfgtoollogs chown -R oracle:oinstall /u01 chmod -R 775 /u01/app/oracle mkdir -p /u01/app/oracle/product/11.2.0/db_1 chown -Roracle:oinstall/u01/app/oracle/product/11.2.0/db_1 chmod -R 775 /u01/app/oracle/product/11.2.0/db_1
去設置裏面找到users
,解鎖並修改已經生成的oracle
用戶密碼,再切換用戶登陸到oracle
下。
數據庫
在終端輸入命令:unzip oracle11g 11.2.0.4
兩個安裝文件(也能夠手動合併到同一個文件夾下),進入安裝文件中的目錄database
,運行命令: ./runInstaller
同時,若是因爲環境配置的緣由,發現隨後安裝界面出現亂碼
,那麼最好在執行安裝以前添上這樣一條語句:export LANG=en_US_UTF-8
。
在隨後出現的安裝界面中,依次選擇以下:編程
Next
便可)next
,出現彈窗點擊Yes
;install software only
。Oracle_Base
路徑和Oracle_home
路徑,必須保證和用戶的初始化參數文件一致INVENTORY DIRECTORY
oracle
用戶所屬的組preinstall
檢查階段,監測oracle
所依賴的軟件包,從新安裝缺失的軟件包,若是仍然有錯誤,那麼所有忽略便可oracle
的狀況copying files
階段時,root
模式下開一個終端,進入安裝目錄下的sysman/lib
,編輯ins_emagent.mk
文件。把 $(MK_EMAGENT_NMECTL)
替換成$(MK_EMAGENT_NMECTL) -lnnz11
su – root
切換到root
用戶,再經過bash
命令依次執行對應目錄的兩個腳本,而後再來這個彈窗界面點擊OK
便可。next
,出現以下界面,表示在虛擬機這邊安裝服務端的Oracle 11g
就已經成功了在選擇TCP/IP端口號時,可能會出現一個彈窗提示:默認的1521端口可能被佔用。經過查找並無發現被佔用問題,所以選擇Yes繼續。
bash
至此,Oracle服務端實例數據庫建立完畢。服務器
下載putty.exe
,打開之後,安裝下圖填入相對應信息(虛擬機IP地址能夠在網絡設置中找到,同時,建議虛擬機端網絡鏈接方式選擇僅主機模式)進行測試(確保虛擬機處於開啓狀態)。
listener.ora
、tnsnames.ora
文件(兩個文件裏面的內容以下所示)放到以下所示目錄下。在全部程序中找到Net Configuration Assistant
,進入配置界面操做以下。在測試鏈接過程當中更改登陸若是忘了數據庫服務端密碼(以sys
用戶爲例),則須要從新給sys
設置密碼(詳見後面的實驗問題及解決辦法)。
進入cmd
測試以下,說明數據庫監聽配置無誤
打開Toad for Oracle
中的toad.exe
啓動,輸入數據庫服務端用戶名以及密碼後成功鏈接會出現以下的工做界面。
在以下所示目錄中,將已準備好的腳本文件粘貼過來
進入數據庫層面,按照下面流程執行hr_main.sql
這個腳本文件設置參數,就能夠解鎖HR用戶並構建HR模式
,且數據表中都有初始樣例數據。
Linking Text File
出失敗,且界面卡死在那裏。Prerequisite Checks
階段忽略全部錯誤繼續下一步,隨後完成安裝。錯誤類型 | 錯誤緣由 | 解決方案 |
---|---|---|
ORA-12162 |
TNS:net service name is incorrectly specified |
給出ORACLE_SID(可賦臨時值或是去host文件添加參數),從新嘗試登陸數據庫服務端 |
TNS-12545 |
Connect failed because target host or object does not exist |
服務端root模式下修改host和listener.ora文件(即host文件裏添上一條「IP地址 主機名」,listener文件裏將host賦爲修改後的主機名) |
ORA-0107八、LRM-00109 |
Failure in processing system parameters |
將$ORACLE_BASE/admin/ 數據庫名稱 /pfile 目錄下的init.ora.\******** 形式的文件copy到$ORACLE_HOME/dbs 目錄下 initoracle.ora 便可 |
ORA-12514 |
TNS 監聽程序當前沒法識別鏈接描述符中請求服務 |
listener.ora中添加:(SID_DESC = (GLOBAL_DBNAME=全局數據庫名) (ORACLE_HOME =依照相對應的路徑來填) (SID_NAME = 數據庫服務名) ) |
ORA-12154 |
TNS沒法解析指定的鏈接標識符 |
從新進行配置網絡,在服務端查詢此數據庫服務下的服務名,並從新檢查配置,填寫相對應虛擬機的IP地址,對於帳號、口令登錄的問題,須要去sysdba用戶下去設置。 |
open
的用戶進行從新設置口令的處理這是我有史以來寫過的最長最長的一篇安裝配置教程了,大部分的內容步驟都仍是大三選修所記錄的實驗報告內容。這段時間須要準備數據庫知識的複習,這才從新拾起來,大致按照上面的步驟依次給重現了。讓我意外的是,當時居然沒有po出一份安裝配置教程放網上。因此,此次趕忙加了把勁,整理了這篇。
這裏面有些地方可能比較混亂,一是由於圖片量太大了,可能會有一些誤差,還有就是我得認可文中有用了幾張別的地方的圖片;二是由於此次的整個安裝配置過程至關繁瑣,不少地方可能會出現報錯、失敗等等,我還記得當年選修這門課第一個實驗就是弄這個,當時Linux指令等一些知識還不夠嫺熟,好像先後花了三天時間才完事。
最後,我想說的就是,教程寫的再完美,實際去操做的時候,每一個人可能都不免會出現這樣那樣的問題,放在這篇來說,出現最多的就是形如 「ORA-××××××
」 的相似問題,出了問題並不可怕,去某度和谷歌搜一下「ORA-××××××
」,只要不是特別棘手,基本上都能解決。
貼張圖!!!