一.前置准备
1.系统要求
物理内存不小于1G:# grep MemTotal /proc/meminfo
可用硬盘不小于8G: # df
.Swap分区空间不小于2G:# grep SwapTotal /proc/meminfo
关闭firewalld防火墙:
a.查看firewalld防火墙状态:# systemctl status firewalld.service
b.关闭firewalld防火墙:# systemctl stop firewalld.service
c.禁止开机使用firewalld防火墙:# systemctl disable firewalld.service
关闭selinux
修改文件: /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled # ********修改此行******
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
修改CentOS系统标识 (Oracle默认不支持CentOS)
修改文件: /etc/redhat-release
将文件内容替换为:redhat-7
mv redhat-release redhat-7
安装必须的软件包:
# 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
2.oracle组及其权限
创建运行oracle数据库的系统用户和用户组
创建安装oracle程序用户组 :# groupadd oinstall
创建DBA用户组:# groupadd dba
创建用户oracle 并加入到dba组:# useradd -g dba -m oracle
将用户oracle加入到oinstall组:# usermod -a -G oinstall oracle
修改用户oracle的密码:# passwd oracle
查看新建的oracle用户:# id oracle
创建oracle主目录:# mkdir -p /data/oracle
创建oralce配置目录:# mkdir -p /data/inventory
创建oracle压缩包解压目录:# mkdir -p /data/src
修改目录权限:
a. # chown -R oracle:oinstall /data/oracle
b.# chown -R oracle:oinstall /data/inventory
c.# chown -R oracle:oinstall /data/src
查看目录权限 # ll /data
3.修改系统核心参数
a.修改用户的SHELL的限制,修改/etc/security/limits.conf文件
vi /etc/security/limits.conf
将下列内容加入该文件。
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
b.修改oracle用户的安全性能设置
修改文件: /etc/security/limits.conf
在文件最后一行前,追加以下内容
复制代码
#@student - maxlogins 4
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
# End of file
c.修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi /etc/sysctl.conf ,按i键进入编辑模式,将下列内容加入该文件
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
d.要使 /etc/sysctl.conf 更改立即生效,执行:sysctl -p 显示如下:
linux:~ # sysctl -p
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
e.修改用户环境变量
修改文件: /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
f. 解压缩zip包到/data/src:
没包的去https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
不知道怎么上传到服务器的去https://blog.csdn.net/oLengYueHun/article/details/88798987
# 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/
# ll /data/src/
现在
reboot
二.安装oracle
切换到oracle用户:
# su - oracle
1.安装Oracle主程序
编辑数据库安装文件:/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 # SID
oracle.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
。。。。。。。。。。。。。。。。。。。。。。。。。。。
漫长的等待。。。。。。。。。。。。。。。。。。。。。。
好了,现在切换到root用户
运行脚本
/data/inventory/orainstRoot.sh
/data/oracle/product/11.2.0/db_1/root.sh
返回oracle用户
Oracle主程序安装完成,当当当档。
2.配置Oracle监听程序
编辑监听配置文件 /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
查看监听程序是否运行,果然没有,于是我去瞧了bin/admin目录下listener.ora和etc/hosts,发现他俩不一致,改了就好了
开启监听:
/data/oracle/product/11.2.0/db_1/bin/lsnrctl start
关闭监听:
/data/oracle/product/11.2.0/db_1/bin/lsnrctl stop
3.添加数据库实例:/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
修改启动和关闭实例的程序
修改文件: /data/oracle/product/11.2.0/db_1/bin/dbstart
/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
好好看,多看几眼,确认过位置再找
修改文件: /etc/oratab
将
orcl:/data/oracle/product/11.2.0:N
修改为
orcl:/data/oracle/product/11.2.0:Y
至此,安装oracle已经告一段落,接下来在root模式下设置开机启动就完事了
:# chmod +x /etc/rc.d/rc.local
修改文件 /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"