ORACLE 12C FOR RedHat Enterprise Linux 6安装手册
一.系统环境
操作系统:RedHat Enterprise Linux 6 for i386 或 x86_64
数据库:Oracle 12c
解压缩安装包:
用root用户登录系统,进入Oracle安装包目录
zip文件解压缩命令:unzip <文件名> ,
比如: unzip linuxamd64_12102_database_1of2.zip
unzip linuxamd64_12102_database_2of2.zip
其中单机环境安装只要解压这2个压缩文件就可以了。
二、安装过程
安装前准备工作
查看swap是否足够?
引用
# free
total used free shared buffers cached
Mem: 1034332 50752 983580 0 7288 21052
-/+ buffers/cache: 22412 1011920
Swap: 1992012 0 1992012
swap最少1.8G以上,否则Oracle安装到最后会报错。
查看空间是否足够?
引用
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 7.4G 3.3G 3.8G 47% /
none 506M 0 506M 0% /dev/shm
/dev/sdb2 6.5G 47M 6.2G 1% /opt
Oracle安装最少需要10G空间。
配置固定IP和主机名,并设置对应
设置固定IP:
引用
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.10.10
NETMASK=255.255.255.0
设置主机名:
# echo "kernel.hostname=ora01" >> /etc/sysctl.conf
对于多网卡的服务器,不建议修改/etc/sysconfig/network来设置主机名,因为一旦修改网络配置,可能会导致主机名也一同修改,所以建议直接设置kernel参数,让其固定不变,这对于Oracle的安装和运行都非常重要。
保存设置,并检查:
引用
# /sbin/sysctl -p
# hostname
ora01
然后,设置主机名和IP对应关系:
# echo "10.168.3.164 ora01" >> /etc/hosts
准备安装介质
这个看上去很简单,但确实一个常见的问题。最常见就是用户把安装介质解压到/root目录。而由于安装必须使用oracle用户进行,而oralce用户是不能访问/root目录的,就会导致安装报错。
建议先检查一下:
引用
# pwd
/tmp/database
创建dba组
引用
# groupadd dba
创建oracle用户,归属于dba组,并修改oracle用户密码
引用
# useradd –g dba oracle
# passwd oracle
修改 /opt 目录的属性
引用
# chown oracle.dba /opt
修改Linux内核参数,以适应oracle的安装环境
引用
# vi /etc/sysctl.conf
修改 /etc/sysctl.conf 增加以下内容:
kernel.shmmax = 2147483648
注:2147483648为共享内存的最大可用值,一般按实际内存的1/2到2/3之间来设定,4G内存的参考值为2147483648。Oracle安装最小的设置为536870912,如小于536870912则无法安装。
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65000
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 262144 262144 262144
编辑完成并保存后,重启动系统后就可生效,如不想重启而立即生效,在# 提示符下输入:
引用
# /sbin/sysctl -p
验证是否生效的方法:
cat /proc/sys/kernel/shmmax 看是否为你设置的值
确认关闭SELINUX
引用
# vi /etc/selinux/config
确认 SELINUX=disabled ,如果不是,请将该参数改为 disabled 并保存后重新启动操作系统
修改用户限制
引用
# vi /etc/security/limits.conf
用root用户修改/etc/security/limits.conf文件,加上下面的参数
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
修改用户验证选项
# vi /etc/pam.d/login
用root用户修改/etc/pam.d/login文件加上如下参数
session required pam_limits.so
session required /lib/security/pam_limits.so(32位操作系统时添加该参数)
session required /lib64/security/pam_limits.so (64位操作系统时添加该参数)
修改用户配置文件
# vi /etc/profile
用root用户修改/etc/profile文件加入如下参数:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
使用系统光盘安装包示例如下:
引用
# cd /media/cdrom/Server /Packages
如果是64位操作系统时 # cd /media/cdrom/Packages
# rpm -Uvh compat-libstdc++-33-3*.rpm
# rpm -Uvh compat-libstdc++-33-3*64.rpm (64位操作系统时安装)
# rpm -Uvh compat-gcc-34-3*
# rpm -Uvh compat-gcc-34-c++-3*
# rpm -Uvh libXp-1*
# rpm -Uvh compat-db-4*
# rpm -Uvh libaio-devel-0.3*
# rpm -Uvh unixODBC-libs-2.2.*
# rpm -Uvh unixODBC-2.2.*
# rpm -Uvh unixODBC-devel-2.2.*
# rpm -Uvh ksh*
可选参数 –nodeps :忽略依赖关系
检查Oracle 12c安装所依赖的软件包
检查包是否安装
# rpm -q 包名
包名:
1)binutils
2)compat-libstdc++
3) elfutils-libelf
4) elfutils-libelf-devel
5) gcc
6) gcc-c++
7) glibc
8) glibc-common
9) glibc-devel
10) glibc-headers
11) pdksh
12) libaio
13) libaio-devel
14) libgcc
15) libstdc++
16) libstdc++-devel
17) make
18) sysstat
19) unixODBC
20) unixODBC-devel
# rpm -ivh 包名 安装所需包
# rpm -Uvh 包名 更新所需包
若包不存在则需要安装。若gcc没有安装,则需要先依次安装包(kernel-headers,glibc-headers,glibc-devel)
和(mpfr,cpp,ppl,cloog-ppl)。若gcc-c++没安装则需先安装libstdc++-devel。
开始安装Oracle软件
以oracle用户登录到操作系统修改.bash_profile
用文本编辑器修改/home/oracle/.bash_profile文件,加入以下环境变量的参数:
引用
$vi /home/oracle/.bash_profile
以下蓝色部分是要添加的内容:
ORACLE_BASE=/opt/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12c/db_1; export ORACLE_HOME
NLS_LANG=American_America.ZHS16GBK; export NLS_LANG
ORACLE_SID=orcl; export ORACLE_SID
PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/jdk/bin:/sbin;export PATH
BIN=$ORACLE_HOME/bin; export BIN
LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH
export LANG=en_US.UTF-8
再以oracle用户重新登录。
进入Oracle安装包所在的目录,进行Oracle软件的安装
运行runInstaller开始安装oracle
此处可以根据自身情况,选择是否填写email,也可以什么都不填写
提示“没有填写email地址”可以忽略,选择“YES”
选择“Install database software only”然后点击“Next”继续
因为此处是单实例安装,所以选择“Single instance database installation”然后点击“Next”继续
此处选择语言,添加“Simplified Chinese”,然后点击“Next”继续
如果你的安装界面是英文界面,必须增加简体中文,否则安装完成后的em管理工具会出现乱码。
选择“Enterprise Edition(6.4GB)”然后点击“Next”继续
此处选择安装oracle的目录,可以根据自身情况进行修改,默认也可以
点“Next”继续
填入“dba”然后点击“Next”继续
在系统光盘里面安装下ksh包就可以解决这个问题了
点击“install”进行安装
在安装完前弹出对话框,要使用root用户去执行两个脚本的
$su - root
引用
#cd /opt/app/oraInventory
#./orainstRoot.sh
[root@linux61 oraInventory]# ./orainstRoot.sh
Changing permissions of /opt/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /opt/app/oraInventory to dba.
The execution of the script is complete.
引用
# cd /opt/app/oracle/product/12c/db_1/
# ./root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /opt/app/oracle/product/12c/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]: (此处按回车键即可)
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
然后关闭提示对话框
Oracle数据库安装完毕。恭喜!!
创建实例
修改/data权限:
以root用户登录运行命令:
#cd /data
#mkdir oradata
# chown –R oracle /data
#chgrp –R dba /data
创建Listener
用Oracle 用户登录系统运行命令:
$ netca
点击Next直到完成
创建Oracle 数据库
用Oracle 用户登录系统,使用命令:
$ dbca
选择“create database”,然后下一步
选择“advanced mode”
请选择“Custom Database定制数据库”,然后点“Next”,否则将不能修改块大小
在ORACLE 12C中引入了CDB和PDB的概念,实现了ORACLE数据库的可插拔,在一个CDB数据库中,有多个PDB,而每一个PDB又可以理解为一个独立的传统ORACLE 数据库,那为了能够通过一个sql查询获得整个CDB数据库的信息,ORALCE 引入了CDB_*开头的视图,该视图就是在传统的DBA_*视图基础之上增加了CON_ID,用来区分不同的PDB,从而实现了一个简单sql查询在有足够权限的情况下,可以查询所有PDB中信息。
其中由于pdb的名字为:12cpdb,不符合oracle的要求,会有如下报错:
此处可以选择开启EM,或者不开启,根据实际情况选择,点“Next”继续
输入SYSTEM等用户的初始密码,然后点“Next”继续
如果设置的秘密太过简单,oracle会有提示,可以忽略这个提示,点击“yes”继续
创建监听,如果之前已经创建了,此步骤可以忽略
根据系统的情况,选择数据库的存储机制,一般情况下使用文件系统,将数据文件指定到 /data/oradata 目录下,然后选择fast recovery area的目录,点“Next”继续
此处对数据库安全方面的2项功能,可以暂时先不安装
内存采用系统的百分比,通常是40%~60%之间,不要超过60%
设置块大小:把块大小设置成16384字节(16K), 进程数改成600
设置字符集, 一定要选Choose from the list of character sets,把字符集设置为ZHS16GBK,否则建好实例后插入的中文数据都会变成乱码。
创建数据库中
Oracle数据库创建完毕。恭喜!!!
安装报错集合:
由于/etc/hosts里面配置的主机名跟实际的不一致导致的
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25269462/viewspace-2137265/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25269462/viewspace-2137265/