標籤:
換了好幾個系統終於還是利用centos安裝oralce成功了,這裡我也參考了網上的好多資料以及oracle的官方文檔
1、下載oracle,我這裡選擇的是11gr2版本,下載下來後有兩個檔案,利用unzip命令解壓到相同目錄
2、在磁碟中建立oracle的安裝目錄
mkdir -p /oracle/oraclebase #這是oracle的安裝基目錄mkdir -p /oracle/oraInventory #這是一些檔案日誌的目錄
3、建立oracle使用者和組
這裡說以下為什麼要建立使用者和組,因為資料庫存放一些重要的資料,並不是誰想訪問就可以訪問的,必須對使用者的許可權進行管理,只有使用者加入了當前組,並賦予其許可權才能夠對資料庫進行操作。
groupadd oinstall #建立使用者組oinstallgroupadd dba #建立使用者組dbauseradd -g oinstall -g dba -m oracle #建立使用者oracle,並加入oinstall和dba使用者組passwd oracle #設定使用者oracle的登入密碼,根據提示輸入兩次密碼chown -R oracle:oinstall /oracle/oraclebase #設定目錄所有者為oinstall使用者組的oracle使用者chown -R oracle:oinstall /oracle/oraInventory
4、修改作業系統名稱
vi /etc/redhat-release #編輯
修改為:redhat-7
這裡我也不大清楚,因為oracle官方認證的系統是redhat、oracle linux、suse等等,最後選擇centos來安裝oracle,也是因為centos是redhat的一個發行版,我想相容還是可以的。
5、修改核心參數
這一步修改主要是因為,在oracle的官方文檔中有對oracle資料庫安裝配置的最低要求,因此需要修改一下
vi /etc/sysctl.conf #編輯,#在最後添加以下代碼net.ipv4.icmp_echo_ignore_broadcasts = 1net.ipv4.conf.all.rp_filter = 1fs.file-max = 6815744 #設定最大開啟檔案數fs.aio-max-nr = 1048576kernel.shmall = 2097152 #共用記憶體的總量,8G記憶體設定:2097152*4k/1024/1024kernel.shmmax = 2147483648 #最大共用記憶體的段大小kernel.shmmni = 4096 #整個系統共用記憶體端的最大數kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4連接埠範圍net.core.rmem_default = 262144net.core.rmem_max= 4194304net.core.wmem_default= 262144net.core.wmem_max= 1048576
儲存退出後要進行如下操作以使配置生效
sysctl -p #使配置立即生效
6、對oracle使用者佈建限制
vi /etc/security/limits.conf #在末尾添加以下代碼oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536
註:突然想起來,加入要是vi編輯檔案內容較多的話,可以進入命令模式輸入“$”來跳到文尾。
7、配置使用者的環境變數
vi /home/oracle/.bash_profile #在最後添加以下代碼export ORACLE_BASE=/data/oracle #oracle資料庫安裝目錄export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle資料庫路徑export ORACLE_SID=orcl #oracle啟動資料庫執行個體名export ORACLE_TERM=xterm #xterm視窗模式安裝export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系統內容變數export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系統內容變數export #防止安裝過程出現亂碼export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #設定Oracle用戶端字元集,必須與Oracle安裝時設定的字元集保持一致,如:ZHS16GBK,否則出現資料匯入匯出中文亂碼問題
儲存退出以後,輸入如下命令使配置生效
source .bash_profile #使設定立刻生效
8、關閉SELINUX
vi /etc/selinux/config #編輯設定檔#注釋掉SELINUX=enforcing # 注釋掉SELINUXTYPE=targetedSELINUX=disabled #增加
9、配置防火牆
由於我安裝的系統是centos 7 的Live版本,所以有好多東西沒有,我再添加完如下代碼之後,沒有找到iptables restart命令,然後重啟了下系統,反正最後也沒什麼影響,我猜我的這個版本中沒有防火牆。網上代碼如下:
vi /etc/sysconfig/iptables #編輯防火牆設定檔,添加以下內容-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 1521 -j ACCEPT/etc/init.d/iptables restart #重啟防火牆使配置生效
10、檢查依賴關係
這裡我檢查了兩步,首先是按照官方文檔檢查了一遍,在官方文檔中我參考的是redhat-7所有需要的東西,如下:
binutils-2.23.52.0.1-12.el7.x86_64 compat-libcap1-1.10-3.el7.x86_64 gcc-4.8.2-3.el7.x86_64 gcc-c++-4.8.2-3.el7.x86_64 glibc-2.17-36.el7.i686 glibc-2.17-36.el7.x86_64 glibc-devel-2.17-36.el7.i686 glibc-devel-2.17-36.el7.x86_64 kshlibaio-0.3.109-9.el7.i686 libaio-0.3.109-9.el7.x86_64 libaio-devel-0.3.109-9.el7.i686 libaio-devel-0.3.109-9.el7.x86_64 libgcc-4.8.2-3.el7.i686 libgcc-4.8.2-3.el7.x86_64 libstdc++-4.8.2-3.el7.i686 libstdc++-4.8.2-3.el7.x86_64 libstdc++-devel-4.8.2-3.el7.i686 libstdc++-devel-4.8.2-3.el7.x86_64 libXi-1.7.2-1.el7.i686 libXi-1.7.2-1.el7.x86_64 libXtst-1.2.2-1.el7.i686 libXtst-1.2.2-1.el7.x86_64 make-3.82-19.el7.x86_64 sysstat-10.1.5-1.el7.x86_64
檢查的時候就利用如下命令即可,直接線上安裝,假如安裝了的肯定會提示,否則就安裝了
yum install binutils #以第一個包為例子
接下來順便將我參考的一篇文章檢測以來關係的方法也用了下,這條命令有萬用字元,安裝的package比以上更多,輻射範圍更廣,保證萬無一失麼。
yum install gcc* gcc-* gcc-c++-* glibc-devel-* glibc-headers-* compat-libstdc* libstdc* elfutils-libelf-devel* libaio-devel* sysstat* unixODBC-* pdksh-*
這個有一個pdksh可能提示沒有此包之類的,不過沒關係,在第一步的時候已經檢測安裝了ksh
11、接下來進行圖形介面的安裝,首先要切換到上邊建立的使用者oracle下,最好logout後在登陸。
12、cd進入上邊解壓的oracle安裝檔案目錄database中
注意:由於上邊的那個database的owner是root,oracle沒有許可權訪問,可以利用如下命令,將此檔案夾的所有者該為oracle.
su - root #切換到root使用者chown -R oracle /.../database
13、運行如下命令啟動安裝介面
export LANG=en_US #設定編碼,防止圖形介面亂碼./runInstaller
注意:此處可能會提醒DISPLAY未通過是怎麼的,我忽略的,貌似沒影響
接下來就進入一步一步的安裝步驟中,很簡單的,按部就班來就可以了,選擇部分按預設的就可以
在接下來的安裝當中可能會提示有錯誤之類的email的忽略繼續,
然後可能還會有主機名稱與Ip沒映射的利用如下命令修改hosts檔案就可以
vi /etc/hosts#進入之後將你的主機名稱加入到127.0.0.1的對應中,注意是主機名稱,不是你的使用者名稱
14、我在安裝過程中還遇到了兩個其他的錯誤是關於makefile,和一個警告,但是我忽略後,安裝完畢以後,也沒發現有問題,將錯誤碼貼到這裡,留待以後解決
install makfile error
INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target ‘install‘ of makefile ‘/oracle/oraclebase/product/11.2.0/db_1/ctx/lib/ins_ctx.mk‘. See ‘/oracle/oraInventory/logs/installActions2014-12-22_05-24-27PM.log‘ for details.Exception Severity: 1INFO: Calling Action unixActions10.2.0.3.0 make registerOnly = false installMakePath = /usr/bin/make installMakeFileName = /oracle/oraclebase/product/11.2.0/db_1/racg/lib/ins_has.mk installTarget = racg_install undoMakeFileName = installArguments = ORACLE_HOME=/oracle/oraclebase/product/11.2.0/db_1 logFile = /oracle/oraclebase/product/11.2.0/db_1/install/make.log undoTarget = progMsg = Linking RACG ExecutablesINFO: Linking RACG ExecutablesINFO: Linking RACG ExecutablesINFO: The output of this make operation is also available at: ‘/oracle/oraclebase/product/11.2.0/db_1/install/make.log‘INFO:
agent nmhs makefile error
INFO: Exception thrown from action: makeException Name: MakefileExceptionException String: Error in invoking target ‘agent nmhs‘ of makefile ‘/oracle/oraclebase/product/11.2.0/db_1/sysman/lib/ins_emagent.mk‘. See ‘/oracle/oraInventory/logs/installActions2014-12-22_05-24-27PM.log‘ for details.Exception Severity: 1INFO: Calling Action unixActions10.2.0.3.0 make registerOnly = false installMakePath = /usr/bin/make installMakeFileName = /oracle/oraclebase/product/11.2.0/db_1/rdbms/lib/ins_rdbms.mk installTarget = all_no_orcl undoMakeFileName = installArguments = ORACLE_HOME=/oracle/oraclebase/product/11.2.0/db_1 logFile = /oracle/oraclebase/product/11.2.0/db_1/install/make.log undoTarget = progMsg = Linking RDBMS ExecutablesINFO: Linking RDBMS ExecutablesINFO: Linking RDBMS ExecutablesINFO: The output of this make operation is also available at: ‘/oracle/oraclebase/product/11.2.0/db_1/install/make.log‘INFO:
[oracle]centos 7 安裝oracle