程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> RedHat Enterprise Linux7.0安裝Oracle12c,linux7.0oracle12c

RedHat Enterprise Linux7.0安裝Oracle12c,linux7.0oracle12c

編輯:Oracle教程

RedHat Enterprise Linux7.0安裝Oracle12c,linux7.0oracle12c


1. 驗證 1.1 硬盤空間要求 1.1.1 安裝盤 類型 占用磁盤空間 Enterprise Edition 6.4GB Standard Edition 6.1GB Standard Edition One 6.1GB   1.1.2 TMP目錄 1GB空間。設置環境變量時,設置TMP和TMPDIR。   1.2 顯卡要求 1024*768.   1.3 Runlevel等級 3或者5.   1.4 swap 要求: RAW Swap 1G至2G 1.5倍 2G至16G 同RAW相等 16G以上 16G 查看命令:# grep SwapTotal /proc/meminfo           # free 1.5 內存: 要求:內存最小1G,推薦2G或者更高。 查看命令:# grep MemTotal /proc/meminfo   1.6 操作系統
  • Oracle Linux 7
  • Oracle Linux 6
  • Oracle Linux 5
  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 5
以上都是x86_64版本。 # cat /proc/version // 查看版本   1.7 內核 Red Hat Enterprise Linux 7版本要求:3.10.0.54.0.1.el7.x86_64或者更新。   1.8 依賴軟件   # rpm -qa binutils compat-libcap1 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel   # rpm -qa binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers glibc-static kernel-headers pdksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel libstdc++-static make numactl-devel sysstat unixODBC unixODBC-devel // 驗證命令26個包
  • binutils-2.23.52.0.1-12.el7.x86_64(binutils-2.23.52.0.1-16.el7.x86_64)
  • compat-libcap1-1.10-3.el7.x86_64(compat-libcap1-1.10-7.el7.x86_64)
  • gcc-4.8.2-3.el7.x86_64(gcc-4.8.2-16.el7.x86_64)
  • gcc-c++-4.8.2-3.el7.x86_64(gcc-c++-4.8.2-16.el7.x86_64)
  • glibc-2.17-36.el7.i686
  • glibc-2.17-36.el7.x86_64(glibc-2.17-55.el7.x86_64)
  • glibc-devel-2.17-36.el7.i686
  • glibc-devel-2.17-36.el7.x86_64(glibc-devel-2.17-55.el7.x86_64 後安裝)
  • ksh(後安裝)
  • libaio-0.3.109-9.el7.i686
  • libaio-0.3.109-9.el7.x86_64(libaio-0.3.109-12.el7.x86_64)
  • libaio-devel-0.3.109-9.el7.i686
  • libaio-devel-0.3.109-9.el7.x86_64(libaio-devel-0.3.109-12.el7.x86_64 後安裝)
  • libgcc-4.8.2-3.el7.i686
  • libgcc-4.8.2-3.el7.x86_64(libgcc-4.8.2-16.el7.x86_64)
  • libstdc++-4.8.2-3.el7.i686
  • libstdc++-4.8.2-3.el7.x86_64(libstdc++-4.8.2-16.el7.x86_64)
  • libstdc++-devel-4.8.2-3.el7.i686
  • libstdc++-devel-4.8.2-3.el7.x86_64(libstdc++-devel-4.8.2-16.el7.x86_64)
  • libXi-1.7.2-1.el7.i686
  • libXi-1.7.2-1.el7.x86_64(libXi-1.7.2-2.1.el7.x86_64)
  • libXtst-1.2.2-1.el7.i686
  • libXtst-1.2.2-1.el7.x86_64(libXtst-1.2.2-2.1.el7.x86_64)
  • make-3.82-19.el7.x86_64(make-3.82-21.el7.x86_64)
  • sysstat-10.1.5-1.el7.x86_64(sysstat-10.1.5-4.el7.x86_64)
  • zlib-1.2.7-13.el7.x86_64.rpm
  • zlib-devel-1.2.7-13.el7.x86_64.rpm
  • unixODBC-2.3.1-10.el7.x86_64(利用ODBC連接oracle可安裝) // http://www.unixodbc.org
  • unixODBC-devel-2.3.1-10.el7.x86_64 (利用ODBC連接oracle可安裝) // http://www.unixodbc.org
  # rpm -ivh 安裝包名 // 安裝程序包     1.9 用戶和組 確定是否安裝過oracle: # more /etcoraInst.loc # grep oinstall /etc/group # id oracle 創建組: # /usr/sbin/groupadd -g 54321 oinstall # /usr/sbin/groupadd -g 54322 dba # /usr/sbin/groupadd -g 54323 oper 創建用戶: # /usr/sbin/useradd -u 54321 -g oinstall -G dba,oper oracle 設置密碼: # passwd oracle   1.10 創建安裝目錄 # mkdir -p /opt/app/oracle/product/12.1.0/db_1
# chown -R oracle:oinstall /opt/app # chmod -R 775 /opt/app # mkdir -p /opt/app/tmp
# chown -R oracle:oinstall /opt/app/tmp # chmod -R 775 /opt/app/tmp   1.11 配置環境變量 # su - oralce $ echo $SHELL // 我的RHEL7.0是bash,所以以下都是在bash中使用。 $ vi ~/.bash_profile 增加下面行:  
 1 # User specific environment and startup programs
 2 umask 022
 3  
 4 # +--------------------------+
 5 # | SETUP ORACLE ENVIRONMENT |
 6 # +--------------------------+
 7 TMP=/opt/ora/tmp
 8 TMPDIR=/opt/ora/tmp
 9 export TMP TMPDIR
10 
11 ORACLE_HOME=/opt/app/oracle/product/12.1.0/db_1
12 export ORACLE_HOME
13 ORACLE_BASE=/opt/app/oracle
14 export ORACLE_BASE
15 ORACLE_SID=afcsc
16 export ORACLE_SID
17 TNS_ADMIN=$ORACLE_HOME/network/admin
18 export TNS_ADMIN
19 NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
20 export NLS_LANG
21 PATH=$PATH:$ORACLE_HOME/bin
22 export PATH
23 LANG=AMERICAN_AMERICA.ZHS16GBK
24 export LANG
25 # +--------------------------+
26 # | LINUX STUFF |
27 # +--------------------------+
28 unset USERNAME

 


  執行:source ~/.bash_profile     1.11 配置內核 注:配置大於系統數據需要配置更改,否則不需要配置。   要求配置: 參數 值 文件 命令 semmsl
semmns
semopm
semmni 250
32000
100
128 /proc/sys/kernel/sem # /sbin/sysctl -a | grep sem shmall 3435973835 /proc/sys/kernel/shmall // 總內存40% # /sbin/sysctl -a | grep shm shmmax 4294967295 /proc/sys/kernel/shmmax
// 最大共享內存,官方文檔建議是內存的1/2
// 我的服務器是8G內存,所以為8*1024*1024*1024-1
// 值為4294967295(8G內存/2) # /sbin/sysctl -a | grep shm shmmni 4096 /proc/sys/kernel/shmmni # /sbin/sysctl -a | grep shm file-max 6815744 /proc/sys/fs/file-max # /sbin/sysctl -a | grep file-max ip_local_port_range 9000 65500 /proc/sys/net/ipv4/ip_local_port_range # /sbin/sysctl -a | grep ip_local_port_range rmem_default 262144  /proc/sys/net/core/rmem_default # /sbin/sysctl -a | grep rmem_default rmem_max 4194304 /proc/sys/net/core/rmem_max # /sbin/sysctl -a | grep rmem_max wmem_default 262144 /proc/sys/net/core/wmem_default # /sbin/sysctl -a | grep wmem_default wmem_max  1048576 /proc/sys/net/core/wmem_max # /sbin/sysctl -a | grep wmem_max aio-max-nr 1048576       # vi /etc/sysctl.conf 按照系統值對比添加:   fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall =3435973835
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576   保存後生效命令: # /sbin/sysctl -p     1.12 設置進程數和最大會話數 編輯文件: # vi /etc/security/limits.conf 加入以下語句:
1 oracle           soft     nproc           2047
2 oracle           hard    nproc           16384
3 oracle           soft     nofile           1024
4 oracle           hard    nofile           65536
5 oracle           soft     stack            10240
6 oracle           hard    stack            10240

 

  1.13 配置PAM 編輯文件:vi /etc/pam.d/login 加入以下語句:
session    required     pam_limits.so
(注意:根據最後一條session規則的注釋,應該加在最後一條規則之前)   2 安裝 2.1 解壓縮 將linuxamd64_12c_database_1of2.zip和linuxamd64_12c_database_2of2.zip移動到移動到/tmp目錄下進行解壓縮。 $ cd /opt/ora/tmp $ unzip linuxamd64_12c_database_1of2.zip $ unzip linuxamd64_12c_database_2of2.zip   2.2 安裝 $ cd /opt/ora/tmp/database/ $ ./runInstaller     2.3 報錯   安裝過程進行到80%多(所有文件復制完畢,並開始鏈接後), 報錯
1)報錯
ins_precomp.mk
INFO: /usr/bin/ld: <ORACLE_HOME>/lib//libnls12.a(lxhlang.o): undefined reference to symbol ‘__tls_get_addr@@GLIBC_2.3′
這是因為oracle安裝文件自帶的 庫文件太老了

需要刪除 {ORACLE_HOME}/lib/stubs 這個目錄 (對於我的設置,就是 /opt/oracle/product/12.1.0.1.0/lib/stubs

cd /opt/oracle/product/12.1.0.1.0/lib
rm -rf stubs
2)在圖形安裝界面 點擊Retry繼續, 再次報錯

ins_rdbms.mk
libclient12.a(kpue.o): undefined reference to symbol 'ons_subscriber_close'
....
libons.so: could not read symbols: Invalid operation
修改 rdbms/lib/ins_rdbms.mk 的 883行 和 901 行

879 $(PLSHPROF) : $(ALWAYS) $(PLSHPROF_DEPS)
880         $(SILENT)$(ECHO)
881         $(SILENT)$(ECHO) " - Linking hierarchical profiler utility (plshprof)"
882         $(RMF) $@
883         $(PLSHPROF_LINKLINE) -lons

....
 897 $(RMAN) : $(ALWAYS) $(RMAN_DEPS)
 898         $(SILENT)$(ECHO)
 899         $(SILENT)$(ECHO) " - Linking recovery manager (rman)"
 900         $(RMF) $@
 901         $(RMAN_LINKLINE) -lons

 


3)在圖形節目 Retry, 第3次報錯

ins_rdbms.mk
houzi.o: undefined reference to symbol 'ztcsh'
libnnz12.so: could not read symbols: Invalid operation
修改 ins_rdbms.mk 的 1067行

1063 $(TG4PWD) : $(ALWAYS) $(TG4PWD_DEPS)
1064         $(SILENT)$(ECHO)
1065         $(SILENT)$(ECHO) " - Linking $(TG4DG4)pwd utility"
1066         $(RMF) $@
1067         $(TG4PWD_LINKLINE) -lnnz12

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved