升级系统到最新
yum -y update
安装安装过程中用到的工具
yum -y install vim wget unzip net-tools lvm2
安装Oracle安装环境
yum -y install binutils \
compat-libstdc++-33 \
elfutils-libelf \
elfutils-libelf-devel \
expat \
gcc \
gcc-c++ \
glibc \
glibc-common \
glibc-devel \
glibc-headers \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
make \
pdksh \
sysstat \
unixODBC \
unixODBC-devel
安装安装未成功的pdksh
wget -O /tmp/pdksh-5.2.14-37.el5_8.1.x86_64.rpm http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm
cd /tmp
### 安装
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
更改主机名
hostnamectl set-hostname oracle
#查看更改后主机名
hostname
echo "127.0.0.1 oracle" >>/etc/hosts
cat /etc/hosts
关闭SELINUX
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
#这个是使修改立即生效
setenforce 0
关闭防火墙
systemctl stop firewalld
上传oracle安装包
添加oracle用户组和用户
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle -d /home/oracle
#验证是否成功
id oracle
#给oracle用户设置密码
passwd oracle
增添oracle用户到sudo组
1. [root@oracledb response]# chmod u+w /etc/sudoers
#编辑/etc/sudoers文件。输入命令"vi/etc/sudoers",输入"i"进入编辑模式,找到这一行:"root ALL=(ALL) ALL",在这行下面添加"xxx ALL=(ALL) ALL"(这里的xxx是你的用户名),然后按Esc键,输入":wq",保存退出;
2. vim /etc/sudoers
3. 在root ALL=(ALL) ALL下一行添加oracle ALL=(ALL) ALL
#撤销文件的写权限,还原文件的读写状态。输入命令"chmod u-w /etc/sudoers"(一定要记得撤销,否则可能引起其他问题)
4.[root@oracledb response]# chmod u-w /etc/sudoers (重要!)
修改内核参数
vim /etc/sysctl.conf
追加如下内容:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmni = 4096
# kernel.shmmax 参数设置为物理内存的一半
kernel.shmmax = 1073741824
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 = 1048586
#使修改立即生效
sysctl -p
限制oracle用户的shell权限
vim /etc/security/limits.conf
#末尾追加
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
修改用户验证选项
vim /etc/pam.d/login
#末尾追加
session required /lib64/security/pam_limits.so
session required pam_limits.so
修改/etc/profile文件
vim /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
开始安装
创建安装目录
mkdir -p /opt/oracle/product/11.2.0
mkdir /opt/oracle/oradata
mkdir /opt/oracle/oraInventory
mkdir /opt/oracle/fast_recovery_area
chown -R oracle:oinstall /opt/oracle
chmod -R 775 /opt/oracle
解压安装文件
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
将解压后的文件夹直接移动到/software目录下:
此时root目录下会生成database文件 创建software文件夹,将database移动过去
mkdir /software
cp -r database/ /software/
cd /software
修改目录所属用户
chown -R oracle:oinstall database
复制应答文件到用户目录
cp -R /software/database/response /home/oracle
db_install.rsp:安装应答
dbca.rsp:创建数据库应答
netca.rsp:建立监听、本地服务名等网络设置的应答
编辑数据库安装文件db_install.rsp
cd /home/oracle/response
vim db_install.rsp
esc 设置行号 set nu
20 oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
29 oracle.install.option=INSTALL_DB_SWONLY #安装类型
37 ORACLE_HOSTNAME=oracle #主机名称
42 UNIX_GROUP_NAME=oinstall #安装组
47 INVENTORY_LOCATION=/opt/oracle/inventory #INVENTORY目录
78 SELECTED_LANGUAGES=en,zh_CN #选择语言
83 ORACLE_HOME=/opt/oracle/product/11.2.0/db_1 #oracle_home
88 ORACLE_BASE=/opt/oracle #oracle_base
99 oracle.install.db.InstallEdition=EE ##oracle版本
108 oracle.install.db.isCustomInstall=true
142 oracle.install.db.DBA_GROUP=dba #dba用户组
147 oracle.install.db.OPER_GROUP=dba #oper用户组
160 oracle.install.db.config.starterdb.type=GENERAL_PURPOSE #数据库类型
165 oracle.install.db.config.starterdb.globalDBName=orcl #globalDBName
170 oracle.install.db.config.starterdb.SID=orcl #SID
200 oracle.install.db.config.starterdb.memoryLimit=800 #自动管理内存的最小内存(M)
233 oracle.install.db.config.starterdb.password.ALL=oracle #设定所有数据库用户使用同一个密码
385 DECLINE_SECURITY_UPDATES=true #设置安全更新
安装数据库软件(使用oracle用户)
切换到oracle用户下:
su - oracle
配置环境变量
vim .bash_profile
#在末尾添加
ORACLE_BASE=/opt/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
使环境变量生效
source .bash_profile
根据响应文件静默安装Oracle11g
cd /software/database/
./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq
安装后操作,按照要求执行脚本
打开新的终端,以root身份登录,执行脚本:
sh /opt/oracle/oraInventory/orainstRoot.sh
sh /opt/oracle/product/11.2.0/root.sh
重新使用oracle用户登录
su -l oracle
netca /silent /responseFile /home/oracle/response/netca.rsp
以静默方式建立新库,同时也建立一个对应的实例(安装数据库)
切回 oracle用户
su oracle
sudo vim /home/oracle/response/dbca.rsp
##### 修改文件中以下参数:
[GENERAL]
# oracle版本,不能更改
RESPONSEFILE_VERSION = "11.2.0"
# Description : Type of operation
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
# Description : Global database name of the database
# 全局数据库的名字=SID+主机域名
# 第三方工具链接数据库的时候使用的service名称
GDBNAME = "orcl.oracledb"
# Description : System identifier (SID) of the database
# 对应的实例名字
SID = "orcl"
# Description : Name of the template
# 建库用的模板文件
TEMPLATENAME = "General_Purpose.dbc"
# Description : Password for SYS user
# SYS, 数据库管理帐户
SYSPASSWORD = "oracle"
# Description : Password for SYSTEM user
# SYSTEM, 数据库管理帐户
SYSTEMPASSWORD = "oracle"
# Description : Password for SYSMAN user
# SYSMAN,企业管理器帐户
SYSMANPASSWORD = "oracle"
# Description : Password for DBSNMP user
# DBSNMP,目录集成平台用户
DBSNMPPASSWORD = "oracle"
# Description : Location of the data file's
# 数据文件存放目录
DATAFILEDESTINATION =/opt/oracle/oradata
# Description : Location of the data file's
# 恢复数据存放目录
RECOVERYAREADESTINATION=/opt/oracle/fast_recovery_area
# Description : Character set of the database
# 字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
# (CHARACTERSET = "AL32UTF8" NATIONALCHARACTERSET= "UTF8")
CHARACTERSET = "AL32UTF8"
# Description : total memory in MB to allocate to Oracle
# oracle内存1638MB,物理内存2G*80%
TOTALMEMORY = "5120"
开始安装数据库实例:
dbca -silent -responseFile /home/oracle/response/dbca.rsp
进行实例进程检查:
ps -ef | grep ora_ | grep -v grep
再次查看监听状态:
lsnrctl status
数据库创建完成
数据库信息:
全局数据库名:orcl.oracle
系统标识符 (SID):orcl
启动数据库
lsnrctl start
登录查看实例状态:
sqlplus / as sysdba
监听启动后还需要进入数据库执行 startup