1.安装前准备
1.1下载安装包
## 下载Oracle_11g 安装包 这里下载的是11g版本
https://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html
## 下载JDK安装包 这里下载的是jdk13.0.1
https://www.oracle.com/technetwork/java/javase/downloads/index.html
## 使用FTP 传输工具传至服务器(上传目录 /oracle-11g)
## 解压JDK安装包和Oracle 安装包
[root@CentOS1 oracle-11g]# tar -zxvf jdk-13.0.1_linux-x64.tar.gz
[root@CentOS1 oracle-11g]# uzip \*.zip
## 将解压的jdk-13.0.1 移动到/opt/java/ 目录下(个人习惯,安装在这个位置)
[root@CentOS1 oracle-11g]# mkdir /opt/java/
[root@CentOS1 oracle-11g]# mv jdk-13.0.1 /opt/java
1.2配置JDK
## 打开 /etc/profile 文件
[root@CentOS1 oracle-11g]# vim /etc/profile
## 在文件末尾添加:
# JAVA ENVIRONMENT
export JAVA_HOME=/opt/java/jdk13.0.1
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/bin/dt.jar:$JAVA_HOME/lib/tools.jar
# END JAVA ENVIROMENT
## 配置完成后执行 使环境变量生效:
[root@localhost oracle-11g]# source /etc/profile
1.3配置本地yum源
## 首先更改软件源为阿里云(如果是阿里云服务器,不用换源)
[root@CentOS1 ~]# cd /etc/yum.repos.d/
[root@CentOS1 yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.backup
[root@CentOS1 yum.repos.d]# wget CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
## 开始前最好先更行一下系统
[root@CentOS1 ~]# yum update
## 切换到 "/etc/yum.repos.d/" 目录:
[root@CentOS1 ~]# cd /etc/yum.repos.d/
## 下载Oracle源:
[root@CentOS1 yum.repos.d]# wget http://yum.oracle.com/public-yum-ol7.repo
## 编辑Oracle源,参数 enable = 1 即为可下载:
[root@CentOS1 yum.repos.d]# vim public-yum-ol7.repo
## 下载Oracle rpm 依赖源:
[root@CentOS1 yum.repos.d]# wget http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol7
## 复制到 /etc/pki/rpm-gpg/ 目录:
[root@CentOS1 yum.repos.d]# mv RPM-GPG-KEY-oracle-ol7 /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
## 查看可安装的包:
[root@CentOS1 yum.repos.d]# yum list | grep oracle
## 安装Oracle11g 相关依赖:
[root@CentOS1 yum.repos.d]# yum install -y oracle-rdbms-server-11gR2-preinstall
## 安装完成之后会创建一个Oracle用户,用于安装Oracle 11g:
[root@CentOS1 yum.repos.d]# ls /home
## 修改Oracle密码:
[root@CentOS1 yum.repos.d]# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
1.4修改内核参数(非必要)
## 通过上述方式安装的依赖包Oracle已经自动添加了内核参数不需要修改
## 若未生效可参考以下参数配置
## 修改vim /etc/sysctl.conf在文件末尾添加:
## START ALTER KERNEL
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
## END
## 修改vim /etc/security/limits.conf在文件末尾添加:
# for oracle
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
# en
## 修改 vim /etc/pam.d/login在文件末尾添加://需要手动添加
# for oracle
session required pam_limits.so
# end
## 修改vim /etc/profile 添加://手动添加
# for oracle
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
#end
1.5防火墙及SELINUX设置
## 查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
[root@CentOS1 opt]# firewall-cmd --state
[root@CentOS1 opt]# systemctl stop firewalld.service #停止firewall
[root@CentOS1 opt]# systemctl disable firewalld.service #禁止firewall开机启动
[root@CentOS1 opt]# service iptables stop
## 关闭SELINUX
[root@CentOS1 opt]# vim /etc/sysconfig/selinux
SELINUX=disabled
2.用户及用户组配置
2.1添加用户和用户组(上面已经自动添加 若无择手动)
## 添加组:
groupadd -g 501 oinstall
groupadd -g 502 dba
groupadd -g 503 oper
## 添加用户
useradd -g oinstall -G dba,oper oracle
passwd oracle
id oracle
## 查看用户和用户组
[root@localhost yum.repos.d]# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba)
2.2分配系统目录
mkdir -p /oracle-11g/oracle //$ORACLE_BASE
mkdir -p /oracle-11g/oracle/product/db_1 //$ORACLE_HOME
mkdir /oracle-11g/oracle/oradata //存放数据库目录
mkdir /oracle-11g/oraInventory
mkdir /oracle-11g/oracle/flash_recovery_area
chown -R oracle:oinstall /oracle-11g/
chmod -R 775 /oracle-11g/
2.3环境变量配置
## 更改oracle用户环境变量
## 在oracle用户跟目录下,编辑.bash_profile文件,在文件末尾添加:
# for oracle
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=$host
export ORACLE_UNQNAME=orcl
export ORACLE_BASE=/oracle-11g/oracle
export ORACLE_HOME=$ORACLE_BASE/product/db_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export PATH
# end
## 把Oracle用户加入root用户组
[root@CentOS1 ~]# vim /etc/sudoers
## 添加一行
oracle ALL=(ALL) ALL
## 退出保存时 使用wq! 强制保存
3.开始安装
3.1编辑oracle数据库安装应答文件
1、/oracle-11g/database/response(解压后的文件中)下有有db_install.rsp、dbca.rsp和netca.rsp三个应答文件,分别数据库安装文件、建立数据库实例和监听配置安装文件
## 编辑vim db_install.rsp修改以下内容:
oracle.install.option=INSTALL_DB_SWONLY //安装类型
ORACLE_HOSTNAME=CentOS1 // 主机名称
UNIX_GROUP_NAME=oinstall // 安装组
INVENTORY_LOCATION=/oracle-11g/oraInventory // INVENTORY目录
SELECTED_LANGUAGES=en,zh_CN // 选择语言
ORACLE_HOME=/oracle-11g/oracle/product/db_1 // oracle_home
ORACLE_BASE=/oracle-11g/oracle // oracle_base
oracle.install.db.InstallEdition=EE // oracle版本
oracle.install.db.isCustomInstall=true //用户自定义模式
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=123123 //设定所有数据库用户使用同一个密码
DECLINE_SECURITY_UPDATES=true // 设置安全更新
## 开始安装 登录Oracle用户:
[oracle@CentOS1 ~]$ cd /oracle-11g/database/
[oracle@CentOS1 database]$ ./runInstaller -silent -responseFile
/oracle-11g/database/response/db_install.rsp -ignorePrereq
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 28548 MB Passed
Checking swap space: must be greater than 150 MB. Actual 1999 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2019-11-28_04-10-34PM. Please wait ...[oracle@CentOS1 database]$ You can find the log of this install session at:
/oracle-11g/oraInventory/logs/installActions2019-11-28_04-10-34PM.log
## 按照提示 登录root用户 执行两个文件
[root@CentOS1 db_1]# cd /oracle-11g/oraInventory/
[root@CentOS1 oraInventory]# ./orainstRoot.sh
[root@CentOS1 db_1]# cd /oracle-11g/oracle/product/db_1/
[root@CentOS1 db_1]# ./root.sh
## 如果swap分区检查不通过
[root@CentOS1 ~]# dd if=/dev/zero of=/var/swap bs=1024 count=2048000
[root@CentOS1 ~]# mkswap /var/swap
[root@CentOS1 ~]# mkswap -f /var/swap
[root@CentOS1 ~]# swapon /var/swap
## 设置交换分区永久有效
[root@CentOS1 ~]# vim /etc/fstab
增加一行
/var/swap swap swap defaults 0 0
3.2配置oracle数据库监听应答文件
位置:/oracle-11g/database/response/netca.rsp,主要查看以下参数配置:
INSTALL_TYPE=""custom"" //安装的类型
LISTENER_NUMBER=1 //监听器数量
LISTENER_NAMES={"LISTENER"} //监听器的名称列表
LISTENER_PROTOCOLS={"TCP;1521"} //监听器使用的通讯协议列表
LISTENER_START=""LISTENER"" //监听器启动的名称
## 检查完毕后,执行命令:
[oracle@CentOS1 ~]$ netca /silent /responseFile /oracle-11g/database/response/netca.rsp
## 检查监听是否成功(新开窗口):
[root@CentOS1 db_1]# netstat -an | grep 1521
## 检查结果:
3.3配置数据库实例
## 根据数据库建立方式的不同编辑不同的数据库库选项。
## 比如在本次安装过程中设置了下列参数:(下面参数视情况而定,不一定要一样,文件有说明)
## 执行以下语句:
[root@CentOS1 ~]# vim /oracle-11g/database/response/dbca.rsp
## 更改以下内容:
RESPONSEFILE_VERSION ="11.2.0" //不能更改
OPERATION_TYPE ="createDatabase" //操作类型
GDBNAME ="orcl" //数据库的名字
SID ="orcl" //对应的实例名字
TEMPLATENAME ="General_Purpose.dbc" //建库用的模板文件
SYSPASSWORD ="123123" //SYS管理员密码
SYSTEMPASSWORD ="123123" //SYSTEM 管理员密码
SYSMANPASSWORD= "123123"
DBSNMPPASSWORD= "123123"
DATAFILEDESTINATION =/oracle-11g/oracle/oradata //数据文件存放目录
RECOVERYAREADESTINATION=/oracle-11g/oracle/flash_recovery_area //恢复数据存放目录
CHARACTERSET ="AL32UTF8" //字符集,重要!!! 建库后无法更改
TOTALMEMORY ="1638" //1638MB,物理内存2G*80%。
## 配置完成后执行
[oracle@CentOS1 ~]$ dbca -silent -responseFile /oracle-11g/database/response/dbca.rsp
## 执行结果如下:
## 建库后实例进程检查:
[oracle@CentOS1 ~]$ ps -ef | grep ora_ | grep -v grep
## 查看监听状态:
[oracle@CentOS1 ~]$ lsnrctl status
## 查看结果:
## 数据库启动文件配置:
## 修改/oracle/oracle/product/db_1/bin/dbstart
## 修改/oracle/oracle/product/db_1/bin/dbshut
## 修改/etc/oratab文件
[root@CentOS1 ~]# vim /oracle-11g/oracle/product/db_1/bin/dbstart
将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
[root@CentOS1 ~]# vim /oracle-11g/oracle/product/db_1/bin/dbshut
将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
[root@CentOS1 ~]# vim /etc/oratab
将orcl:/oracle-11g/oracle/product/db_1:N改为orcl:/oracle-11g/oracle/product/db_1:Y
## 输入命令dbshut和dbstart测试:
## SCOTT用户未启用的设置方法:
[oracle@CentOS1 ~]$ sqlplus / as sysdba
SQL> alter user scott account unlock;
SQL> alter user scott identified by 123123;
SQL> conn scott/123123
SQL>select * from tabs;
## 如果提示 ORACLE not available
[oracle@CentOS1 ~]$ sqlplus sys/123123@orcl as sysdba
SQL> alter user scott identified by 123123 account unlock;
## 或者重启Oracle 服务
## 安装过程中也许还会遇到其他问题,大家可以留言评论,或者自行百度解决。