RedHat Enterprise Linux7.0安装Oracle12c
2015-08-16 15:07
447 查看
1. 验证
1.1 硬盘空间要求
1.1.1 安装盘
1.1.2 TMP目录
1GB空间。设置环境变量时,设置TMP和TMPDIR。
1.2 显卡要求
1024*768.
1.3 Runlevel等级
3或者5.
1.4 swap
[align=left]要求:[/align]
查看命令:# grep SwapTotal /proc/meminfo
# free
1.5 内存:
要求:内存最小1G,推荐2G或者更高。
[align=left]查看命令:# grep MemTotal /proc/meminfo[/align]
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 /etc/oraInst.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
[align=left]# chmod -R 775 /opt/app[/align]
# mkdir -p /opt/app/tmp
# chown -R oracle:oinstall /opt/app/tmp
[align=left]# chmod -R 775 /opt/app/tmp[/align]
[align=left]1.11 配置环境变量[/align]
[align=left]# su - oralce[/align]
[align=left]$ echo $SHELL // 我的RHEL7.0是bash,所以以下都是在bash中使用。[/align]
[align=left]$ vi ~/.bash_profile[/align]
[align=left]增加下面行:[/align]
[align=left] [/align]
[align=left] [/align]
[align=left]执行:source ~/.bash_profile[/align]
1.11 配置内核
[align=left]注:配置大于系统数据需要配置更改,否则不需要配置。[/align]
[align=left] [/align]
[align=left]要求配置:[/align]
[align=left]# vi /etc/sysctl.conf[/align]
[align=left]按照系统值对比添加:[/align]
[align=left] [/align]
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
[align=left] [/align]
[align=left]保存后生效命令:[/align]
[align=left]# /sbin/sysctl -p[/align]
[align=left]1.12 设置进程数和最大会话数[/align]
[align=left]编辑文件:[/align]
[align=left]# vi /etc/security/limits.conf 加入以下语句:[/align]
1.13 配置PAM
编辑文件:vi /etc/pam.d/login 加入以下语句:
(注意:根据最后一条session规则的注释,应该加在最后一条规则之前)
2 安装
2.1 解压缩
[align=left]将linuxamd64_12c_database_1of2.zip和linuxamd64_12c_database_2of2.zip移动到移动到/tmp目录下进行解压缩。[/align]
[align=left]$ cd /opt/ora/tmp[/align]
[align=left]$ unzip linuxamd64_12c_database_1of2.zip[/align]
[align=left]$ unzip linuxamd64_12c_database_2of2.zip[/align]
[align=left]2.2 安装[/align]
[align=left]$ cd /opt/app/tmp/database/[/align]
[align=left]$ ./runInstaller[/align]
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/app/oracle/product/12.1.0/db_1/lib/stubs
cd /opt/app/oracle/product/12.1.0/db_1/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 行
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行
1. 验证
1.1 硬盘空间要求
1.1.1 安装盘
类型 | 占用磁盘空间 |
Enterprise Edition | 6.4GB |
Standard Edition | 6.1GB |
Standard Edition One | 6.1GB |
1GB空间。设置环境变量时,设置TMP和TMPDIR。
1.2 显卡要求
1024*768.
1.3 Runlevel等级
3或者5.
1.4 swap
[align=left]要求:[/align]
[align=left]RAW[/align] | Swap |
1G至2G | 1.5倍 |
2G至16G | 同RAW相等 |
16G以上 | 16G |
# free
1.5 内存:
要求:内存最小1G,推荐2G或者更高。
[align=left]查看命令:# grep MemTotal /proc/meminfo[/align]
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 /etc/oraInst.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
[align=left]# chmod -R 775 /opt/app[/align]
# mkdir -p /opt/app/tmp
# chown -R oracle:oinstall /opt/app/tmp
[align=left]# chmod -R 775 /opt/app/tmp[/align]
[align=left]1.11 配置环境变量[/align]
[align=left]# su - oralce[/align]
[align=left]$ echo $SHELL // 我的RHEL7.0是bash,所以以下都是在bash中使用。[/align]
[align=left]$ vi ~/.bash_profile[/align]
[align=left]增加下面行:[/align]
[align=left] [/align]
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
[align=left] [/align]
[align=left]执行:source ~/.bash_profile[/align]
1.11 配置内核
[align=left]注:配置大于系统数据需要配置更改,否则不需要配置。[/align]
[align=left] [/align]
[align=left]要求配置:[/align]
参数 | 值 | 文件 | 命令 |
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 |
[align=left]按照系统值对比添加:[/align]
[align=left] [/align]
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
[align=left] [/align]
[align=left]保存后生效命令:[/align]
[align=left]# /sbin/sysctl -p[/align]
[align=left]1.12 设置进程数和最大会话数[/align]
[align=left]编辑文件:[/align]
[align=left]# vi /etc/security/limits.conf 加入以下语句:[/align]
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 解压缩
[align=left]将linuxamd64_12c_database_1of2.zip和linuxamd64_12c_database_2of2.zip移动到移动到/tmp目录下进行解压缩。[/align]
[align=left]$ cd /opt/ora/tmp[/align]
[align=left]$ unzip linuxamd64_12c_database_1of2.zip[/align]
[align=left]$ unzip linuxamd64_12c_database_2of2.zip[/align]
[align=left]2.2 安装[/align]
[align=left]$ cd /opt/app/tmp/database/[/align]
[align=left]$ ./runInstaller[/align]
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/app/oracle/product/12.1.0/db_1/lib/stubs
cd /opt/app/oracle/product/12.1.0/db_1/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
相关文章推荐
- Oracle Cursor分类与实例(清晰易懂)
- 8个DBA最常用的监控Oracle数据库的常用shell脚本
- oracle v$sqlarea 分析SQL语句使用资源情况 确认是否绑定变量
- oracle sql developer 执行Mysql语句Query execution was interrupted
- 数据库类型对应java类型汇总(mysql、sql server和oracle)
- 详解Oracle多种表连接方式
- ORACLE的Hint详解
- Oracle 11g Data Guard原理研究--推荐
- oracle中的赋权
- Oracle基于学习3--Oracle创建用户和授权
- oracle简单复习
- oracle学习笔记 回收站&用户权限&导入导出
- oracle 学习笔记之触发器
- oracle数据库导入导出
- oracle 创建用户
- oracle学习笔记之存储过程与存储函数
- 连接oracle jdbc
- oracle 监听 lsnrctl 命令
- Oracle-12541:TNS:无监听程序 .
- oracle误drop/update操作后的数据恢复测试