主机要求
- 内存
- 最小内存1G,推荐2G或2G以上
- 交换区
- 1GB跟2GB物理内存之间的,设定swap大小为物理内存的1.5倍
- 2GB跟16GB物理内存之间的,设置swap大小与物理内存相等
- 16GB物理内存以上的,设置swap大小为16GB
- 磁盘
- Oracle主目录硬盘要求空间至少5-6GB
安装前的准备工作
1. 安装依赖
yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel
2. 创建oinstall、dba组 将oracle用户加入组 修改并设定oracle用户密码
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
echo 'hBc18192166849' |passwd --stdin oracle
id oracle
3. 修改内核参数
cat >> /etc/sysctl.conf << EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
kernel.shmmni = 4096
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
EOF
# come into force
sysctl -p
4. 修改系统资源限制
cat >> /etc/security/limits.conf << EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 102405
EOF
5. 修改用户配置文件
- 在/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
- 改好后,使之生效
source /etc/profile
6. 修改 oracle 用户环境变量
- 在~oracle/.bash_profile文件中添加下列代码
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
ORACLE_SID=orcl
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
- 改好后,使之生效
source ~oracle/.bash_profile
7. 修改主机名
在root用户下执行下列代码
hostname node01.oracle11g.com
sed -i '/HOSTNAME=/d' /etc/sysconfig/network
echo 'HOSTNAME=node01.oracle11g.com' >> /etc/sysconfig/network
head /etc/sysconfig/network
8. 配置hosts文件
在root用户下执行下列代码
IP=`ifconfig|awk -F '[ :]+' 'NR==2 {print $4}'`
HN=`hostname`
echo "$IP $HN" >> /etc/hosts
9. 关闭防火墙、selinux
临时关闭防火墙和selinux,如果后期需要开启,则需要配置防火和selinux,这里不做赘述。
service iptables stop
setenforce 0
静默安装
1. 建立安装目录、设置文件权限
mkdir -p /u01/app/oracle /product/11.2.0/db_1
mkdir /u01/app/oracle/oradata
mkdir /u01/app/oracle/oraInventory
mkdir /u01/app/oracle/fast_recovery_area
chown -R oracle:oinstall /u01/app
chmod -R 775 /u01/app
2. 解压安装包、复制应答文件到 oracle 用户的目录下
注意:解压包的顺序
cd /softwore
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
cp -r database/response/ /home/oracle/
chown -R oracle:oinstall /home/oracle/
3. 修改应答文件文件
vim /home/oracle/response/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY //安装类型,只装数据库软件
ORACLE_HOSTNAME=node01.oracle11g.com //主机名称(命令hostname查询)
UNIX_GROUP_NAME=oinstall // 安装组
INVENTORY_LOCATION=/u01/app/oraInventory //INVENTORY目录(**不填就是默认值,本例此处需修改,因个人创建安装目录而定)
SELECTED_LANGUAGES=en,zh_CN // 选择语言
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 // oracle_home *路径根据目录情况注意修改 本例安装路径/usr/local/oracle
ORACLE_BASE=/u01/app/oracle // oracle_base *注意修改
oracle.install.db.InstallEdition=EE // oracle版本
oracle.install.db.DBA_GROUP=dba //dba用户组
oracle.install.db.OPER_GROUP=dba //oper用户组
DECLINE_SECURITY_UPDATES=true // **注意此参数 设定一定要为true
4. 在oracle用户下开始安装
su - oracle
cd /software/database/
./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq
静默配置监听
1. 执行命令创建监听
netca /silent /responsefile /home/oracle/response/netca.rsp
2. 是否生成listener.ora和sqlnet.ora文件
ll /u01/app/oracle/product/11.2.0/db_1/network/admin/
3. 查看监听
netstat -nltu |grep 1521
静默创建新库
1. 配置dbca.rsp
vim /home/oracle/response/dbca.rsp
GDBNAME = "orcl.us.oracle.com" // 数据库的名字
SID = "orcl" // 对应的实例名字
SYSPASSWORD = "hBc18192166849" // SYS管理员密码
SYSTEMPASSWORD = "hBc18192166849" // SYSTEM管理员密码
DATAFILEDESTINATION = /u01/app/oracle/oradata // 数据文件存放目录
CHARACTERSET = "AL32UTF8" // 字符集,重要!!!
2. 建库
dbca -silent -responseFile /home/oracle/response/dbca.rsp
检验
在oracle用户下进行
1. 进行实例进程检查
ps -ef | grep ora_ | grep -v grep
2. 查看监听状态
lsnrctl status
3. 登录查看实例状态
sqlplus / as sysdba
开机自启动
1. 修改ORACLE_HOME_LISTNER
sed -i 's/ORACLE_HOME_LISTNER=$1/ORACLE_HOME_LISTNER=$ORACLE_HOME/' /u01/app/oracle/product/11.2.0/db_1/bin/dbstart
sed -i 's/ORACLE_HOME_LISTNER=$1/ORACLE_HOME_LISTNER=$ORACLE_HOME/' /u01/app/oracle/product/11.2.0/db_1/bin/dbshut
2. 配置oratab
sed -i 's/:N/:Y/' /etc/oratab
3. 配置rc.local
echo 'su oracle -lc "/u01/app/oracle/product/11.2.0/db_1/bin/lsnrctl start"' >> /etc/rc.d/rc.local
echo 'su oracle -lc /u01/app/oracle/product/11.2.0/db_1/bin/dbstart' >> /etc/rc.d/rc.local
4. 增加权限
chmod +x /etc/rc.d/rc.local