由于工作项目中需要用到oracle作数据库,所以此文章为记录安装配置流程。
一、检查系统要求
- 物理内存不小于1G:
grep MemTotal /proc/meminfo
- 可用硬盘不小于8G:
df
- Swap分区空间不小于2G:
grep SwapTotal /proc/meminfo
二、开放1521端口(oracle默认端口)
- 放开1521端口:
firewall-cmd --zone=public --add-port=1521/tcp --permanent
- 在不改变状态的条件下重新加载防火墙配置文件:
firewall-cmd --reload
- 防火墙相关命令:
查看防火墙的状态:systemctl status firewalld
启动防火墙服务:systemctl start firewalld
禁用防火墙:systemctl disable firewalld
重载配置文件:firewall-cmd --reload
查看已经开放的端口:firewall-cmd --list-ports
三、修改Centos系统标识(oracle默认不支持在centos上安装)
- 编辑文件:
vim /etc/redhat-release
- 替换内容为:
redhat-7
四、修改内核参数
- 编辑文件:
vim /etc/sysctl.conf
- 添加内容:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.shmall = 2097152
kernel.shmmax = 2147483648
net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576
- 启用新的配置:
sysctl -p
五、安装需要的软件包
yum -y install binutils* compat-libcap1* compat-libstdc++* gcc* gcc-c++* glibc* glibc-devel* ksh* libaio* libaio-devel* libgcc* libstdc++* libstdc++-devel* libXi* libXtst* make* sysstat* elfutils* unixODBC* unzip lrzsz
六、创建运行oracle数据库的用户和用户组
- 创建安装oracle程序用户组 :
groupadd oinstall
- 创建DBA用户组 :
groupadd dba
- 创建用户oracle 并加入到oinstall组、dba组 :
useradd -g oinstall -G dba -m oracle
- 修改用户oracle的密码 :
passwd oracle
- 查看用户oracle的信息:
id oracle
七、创建安装目录
- 创建oracle主目录:
mkdir -p /data/oracle
- 创建oralce配置目录:
mkdir -p /data/inventory
- 创建oracle压缩包解压目录:
mkdir -p /data/src
- 修改目录权限:
chown -R oracle:oinstall /data/oracle
chown -R oracle:oinstall /data/inventory
chown -R oracle:oinstall /data/src
- 查看目录权限:
ll /data
八、修改oracle用户的安全性能设置
- 编辑文件:
vim /etc/security/limits.conf
- 修改文件,在文件最后一行前,追加以下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
九、修改用户环境变量
- 修改文件:
vim /home/oracle/.bashrc
- 追加以下内容:
export PATH
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
- 修改完后启用配置:
source /home/oracle/.bashrc
十、先在oracle官网上下载linux.x64_11gR2_database_1of2.zip和linux.x64_11gR2_database_2of2.zip两个安装包。可通过ftp传到服务器中,然后解压缩zip包到/data/src
- 解压:
unzip linux.x64_11gR2_database_1of2.zip -d /data/src/
unzip linux.x64_11gR2_database_2of2.zip -d /data/src/
chown -R oracle:oinstall /data/src/
- 赋予oracle用户权限:
chown -R oracle:oinstall /data/src/
- 查看目录权限:
ll /data/src/
十一、安装oracle
- 切换到oracle用户:
su oracle
- 编辑修改数据库安装文件:
vim /data/src/database/response/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY # 安装类型
ORACLE_HOSTNAME=oracle.server # 主机名称
UNIX_GROUP_NAME=oinstall # 安装组
INVENTORY_LOCATION=/data/inventory # INVENTORY目录
SELECTED_LANGUAGES=en,zh_CN # 选择语言
ORACLE_HOME=/data/oracle/product/11.2.0/db_1 # oracle_home
ORACLE_BASE=/data/oracle # oracle_base
oracle.install.db.InstallEdition=EE # oracle版本
oracle.install.db.DBA_GROUP=dba # dba用户组
oracle.install.db.OPER_GROUP=oinstall # oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE # 数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl # globalDBName
oracle.install.db.config.starterdb.SID=orcl # SIDoracle.install.db.config.starterdb.characterSet=AL32UTF8 # 默认数据库编码
oracle.install.db.config.starterdb.memoryLimit=800 # 自动管理内存的最小内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle # 设定所有数据库用户使用同一个密码
DECLINE_SECURITY_UPDATES=true # 设置安全更新
- 安装:
/data/src/database/runInstaller -silent -responseFile /data/src/database/response/db_install.rsp -ignorePrereq
注意:安装过程中出现,以下提示请照做:
要执行配置脚本,请执行以下操作:
1.打开一个终端窗口
2.以"root"身份登陆
3.运行脚本
/data/inventory/orainstRoot.sh
/data/oracle/product/11.2.0/db_1/root.sh
4.返回此窗口并按"Enter"键继续
十二、配置Oracle监听程序
- 编辑监听配置文件:
vim /data/src/database/response/netca.rsp
- 修改参数:
INSTALL_TYPE=""custom"" # 安装的类型
LISTENER_NUMBER=1 # 监听器数量
LISTENER_NAMES={"LISTENER"} # 监听器的名称列表
LISTENER_PROTOCOLS={"TCP;1521"} # 监听器使用的通讯协议列表
LISTENER_START=""LISTENER"" # 监听器启动的名称
- 执行命令:
/data/oracle/product/11.2.0/db_1/bin/netca /silent /responseFile /data/src/database/response/netca.rsp
- 查看监听程序是否运行:
netstat -tnulp | grep 1521
关于监听的开机和关闭
开启监听:/data/oracle/product/11.2.0/db_1/bin/lsnrctl start
关闭监听:/data/oracle/product/11.2.0/db_1/bin/lsnrctl stop
十三、添加数据库实例
- 编辑数据库实例文件:
/data/src/database/response/dbca.rsp
- 修改以下参数:
RESPONSEFILE_VERSION ="11.2.0" // 不要变哦
OPERATION_TYPE ="createDatabase" // 操作为创建实例
GDBNAME ="orcl" // 数据库实例名
SID ="orcl" // 实例名字
TEMPLATENAME = "General_Purpose.dbc" // 建库用的模板文件
SYSPASSWORD = "oracle" // SYS管理员密码
SYSTEMPASSWORD = "oracle" // SYSTEM管理员密码
SYSMANPASSWORD= "oracle"
DBSNMPPASSWORD= "oracle"
DATAFILEDESTINATION =/data/oracle/oradata // 数据文件存放目录
RECOVERYAREADESTINATION=/data/oracle/flash_recovery_area // 恢复数据存放目录
CHARACTERSET ="AL32UTF8" // 字符集NATIONALCHARACTERSET= "AL16UTF16" // 字符集TOTALMEMORY ="1638" // 1638MB,物理内存2G*80%。
- 执行命令:
/data/oracle/product/11.2.0/db_1/bin/dbca -silent -responseFile /data/src/database/response/dbca.rsp
- 查看实例是否运行:
ps -ef | grep ora_ | grep -v grep
十四、修改启动和关闭实例的程序:
- 编辑两个文件:
vim /data/oracle/product/11.2.0/db_1/bin/dbstart
vim /data/oracle/product/11.2.0/db_1/bin/dbshut
- 替换内容:
将
ORACLE_HOME_LISTNER=$1
修改为
ORACLE_HOME_LISTNER=/data/oracle/product/11.2.0/db_1
4.编辑文件:vim /etc/oratab
5. 替换内容:
将
orcl:/data/oracle/product/11.2.0/db_1:N
修改为
orcl:/data/oracle/product/11.2.0/db_1:Y
启动或者关闭实例
启动实例:/data/oracle/product/11.2.0/db_1/bin/dbstart
关闭实例:/data/oracle/product/11.2.0/db_1/bin/dbshut
十五、开机启动Oracle
- 在root用户模式下:
chmod +x /etc/rc.d/rc.local
- 修改文件:
vim /etc/rc.d/rc.local
- 在文件最后追加以下内容:
su oracle -lc "/data/oracle/product/11.2.0/db_1/bin/lsnrctl start"
su oracle -lc "/data/oracle/product/11.2.0/db_1/bin/dbstart"