CentOS7 安装Oracle11GR2
# CentOS7 安装Oracle11GR2## 一、安装Java环境
[**JDK**](https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8u211-later-5573849.html)下载路径,下载完成后上传到tmp文件夹下
```shell
cd /tmp
tar -zxvf jdkXXX
mv jdk1.8xxx java
mkdir -p /usr/local/software/
cp -r /tmp/java /usr/local/software/java
vi /etc/profile
# 粘贴如下内容
# Java setting
export JAVA_HOME=/usr/local/software/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
# 使配置生效
source /etc/profile
```
**阿里云yum备份**
```shell
# 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 替换yum源
# CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
# 或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
# CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-6.repo
# 或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
# CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
```
[**oracle**](http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html?spm=a2c4e.11153940.blogcont566703.10.36ae6c23iChOrf)下载路径,下载完成后将其上传至tmp文件夹下
```shell
rz xxx
```
## 二、设置磁盘分区
1. ### 检查磁盘分区
```shell
df -Th
```
2. ### 设置swap分区大小
查看磁盘swap分区命令
```shell
free -m
```
**增加磁盘方法**
```shell
#1、 这样就建立一个/home/swap的分区文件,大小为4G。
dd if=/dev/zero of=/home/swap bs=1024 count=4165632
#2、 制作为swap格式文件
mkswap /home/swap
#3、 再用swapon命令把这个文件分区挂载swap分区
/sbin/swapon /home/swap
#4、 为防止重启后swap分区变成0,要修改/etc/fstab文件
vi /etc/fstab
# 输入如下
/home/swap swap swap default 0 0
```
## 三、关闭防火墙和selinux
```shell
#查看状态
systemctl status firewalld
#停止防火墙
systemctl disable firewalld
#禁用防火墙
systemctl stop firewalld
#开放防火墙端口80,出现success表明添加成功
firewall-cmd --zone=public --add-port=80/tcp --permanent
#命令含义:
# --zone #作用域
# --add-port=80/tcp#添加端口,格式为:端口/通讯协议
# --permanent #永久生效,没有此参数重启后失效
#关闭selinux
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux
setenforce 0
```
## 四、安装依赖包
```shell
### 修改主机名称
hostnamectl set-hostname oradb
vi /etc/hosts
# 在最每一行的后面加上主机名 oradb
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 oradb
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 oradb
# 修改服务器标识
vim /etc/redhat-release
# 重命名
redhat-7
### 执行以下命令
yum -y install lrzsz unzip libXext vim
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 binutils-2.* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc++-4.* libstdc++-devel-4.* make-3.* sysstat-7.* unixODBC-2.* unixODBC-devel-2.* pdksh* glibc* gcc* make* compat-db* libstdc* libXp* libXtst* compat-libstdc++* libXp.i686 libXp-devel.i686 libXt.i686 libXt-devel.i686 libXtst.i686 libXtst-devel.i686 make.x86_64 gcc.x86_64 libaio.x86_64 glibc-devel.i686 libgcc.i686 glibc-devel.x86_64 compat-libstdc++-33 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh numactl-devel glibc-headers
```
rpm安装两个安装包
url:https://pan.baidu.com/s/1TfY8Bhcw6_pJZaQBltQOeg
## 五、调整内核参数
```shell
#1、修改sysctl.conf
# sysctl.conf config
vi /etc/sysctl.conf
# 输入如下:
# oracle setting
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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
fs.aio-max-nr = 1048576
#2、让内核生效
sysctl -p
#3、增加shell限制 ,修改limits.conf
vi /etc/security/limits.conf
# 输入如下:
# oracle settings,在#end of file上面一行添加
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 65536
oracle hard nofile 65536
#4、修改 /etc/pam.d/login,在最下面一行添加
vi /etc/pam.d/login
#添加以下内容:
# Oracle setting
session required /lib/security/pam_limits.so
session required pam_limits.so
#5、修改/etc/profile,在# path manipulation上面一行添加
vi /etc/profile
#添加以下内容:
# oracle setting
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、修改/etc/csh.login
vi /etc/csh.login
#添加以下内容:
# oracle setting
if ( $USER == "oracle" ) then
limit maxproc 16384
limit deors 65536
endif
```
## 六、创建Oracle用户及用户组
```shell
# 添加用户及用户组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
# 修改密码为oracle
```
## 七、创建安装目录、修改文件权限
```shell
mkdir -p /u01/oracle/product/11.2.0/db_1
chown oracle:oinstall -R /u01
chmod 755-R /u01/oracle
```
## 八、上传jar包并解压jar包
```shell
#输入yum -y install unzip
cd /tmp
unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip
cp -r /tmp/database /u01/database
```
## 九、设置Oracle用户环境变量
```shell
# 修改.bash_profile文件################ 一定一定一定要加“-” 号
su - oracle
vim .bash_profile
#Oracle setting
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=/u01/oracle/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export EDITOR=vim
export NLS_LANG=AMERICAN_AMERICA.UTF8
export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
# 是配置文件生效
source .bash_profile
# 重启服务器
reboot
```
## 十、编辑静默安装响应文件
```shell
#切换到root用户状态下
vi /u01/database/response/db_install.rsp
#修改如下配置
# 选择安装类型
# 1. INSTALL_DB_SWONLY 只装数据库软件
# 2. INSTALL_DB_AND_CONFIG 安装数据库软件并建库
# 3. UPGRADE_DB 升级数据库
oracle.install.option=INSTALL_DB_SWONLY
# 指定操作系统主机名,通过 hostname 命令获得
ORACLE_HOSTNAME=oradb
# 指定oracle inventory目录的所有者,通常会是 oinstall 或者 dba
UNIX_GROUP_NAME=oinstall
# 指定产品清单 oracle inventory 目录的路径
INVENTORY_LOCATION=/u01/oracle/oraInventory
# 指定数据库语言,可以选择多个 , 用逗号隔开。选择en, zh_CN(英文和简体中文)
SELECTED_LANGUAGES=en,zh_CN
# 设置 ORALCE_HOME 的路径
ORACLE_HOME=/u01/oracle/product/11.2.0/db_1
# 设置 ORALCE_BASE 的路径
ORACLE_BASE=/u01/oracle
# 选择Oracle安装数据库软件的版本(企业版,标准版,标准版1),不同的版本功能不同
oracle.install.db.InstallEdition=EE
# 安装相应版权后会安装所有的组件,后期如果缺乏某个组件,再次安装会非常的麻烦。
oracle.install.db.isCustomInstall=true
# 指定拥有 OSDBA、OSOPER 权限的用户组,通常会是 dba 组
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
# 选择数据库的用途,一般用途/事物处理,数据仓库
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
# 指定GlobalName
oracle.install.db.config.starterdb.globalDBName=ora11g
# 指定SID,和 ORACLE_SID 一致
oracle.install.db.config.starterdb.SID=ORCL
# 11g的新特性自动内存管理,也就是 SGA_TARGET 和 PAG_AGGREGATE_TARGET 都不用设置了,Oracle会自动调配两部分大小。
oracle.install.db.config.starterdb.memoryOption=true
# 指定Oracle自动管理内存的大小,最小是256MB
oracle.install.db.config.starterdb.memoryLimit=1024
# 是否启用安全设置
oracle.install.db.config.starterdb.enableSecuritySettings=true
# 设置数据库用户密码,设定所有数据库用户使用同一个密码,其它数据库用户就不用单独设置了。
oracle.install.db.config.starterdb.password.ALL=oracle
# 表示不需要设置安全更新,Response File中必须指定为true,否则会提示错误
DECLINE_SECURITY_UPDATES=true
```
## 十一、根据响应文件安装oracle 11g
```shell
#切换到oracle用户下执行安装命令
su - oracle
# 执行安装:
/u01/database/runInstaller -silent -force -ignorePrereq -responseFile/u01/database/response/db_install.rsp
#开始Oracle在后台静默安装。安装过程中,如果提示不必理会,此时安装程序仍在后台进行,如果出现,则安装程序已经停止了。此时再打开另外一个终端选项卡,输入提示的会话日志目录:看到日志文件会持续输出安装信息没有输入异常信息,则表明安装过程正常
# 在此期间,可以切换到root用户下执行命令查看日志
tail -f/u01/oracle/oraInventory/logs/installActions2017-10-23_11-23-23PM.log
# 按照提示切换root用户运行脚本
sh /u01/oracle/oraInventory/orainstRoot.sh
sh /u01/oracle/product/11.2.0/db_1/root.sh
```
## 十二、配置监听
```shell
# 在root用户下执行以下命令
vi /u01/database/response/dbca.rsp
# 要修改的内容
GDBNAME = "orcl.oradb" #78 rows, global database name sid+hostname
SID = "orcl" #149 elements
CHARACTERSET = "AL32UTF8" #415 lines, encoding
NATIONALCHARACTERSET= "UTF8" #425 elements
# 切换到oracle用户下执行命令
su - oracle
export DISPLAY=localhost:0.0
# 第一条命令,如果执行成功,则不需要下面一条命令
/u01/oracle/product/11.2.0/db_1/bin/netca/silent /responseFile /u01/database/response/netca.rsp
# 第二条命令,若第一条命令无反应,则执行此条命令
$ORACLE_HOME/bin/dbca -silent -responseFile /u01/database/response/dbca.rsp
# 执行此步操作以后,等清屏命令一分钟后,在屏幕上输入password,直到屏幕出现安装进度条为止
```
!(C:\Users\zhouj\AppData\Roaming\Typora\typora-user-images\1573140430734.png)
```shell
# 在oracle用户下,执行以下命令:
sqlplus/ as sysdba
select INSTANCE_NAME,VERSION from v$instance;
lsnrctl status
lsnrctl start
```
## 十三、建立新库,同时建立对应的实例,进行静默配置
```shell
# 用Navicat连接 初始密码默认为password
# 如果是阿里云,一定一定一定要配置安全组,不然无法连接
```
## ![](C:\Users\zhouj\AppData\Roaming\Typora\typora-user-images\1572442437015.png)
```shell
#通过sys系统管理员账号创建schema Oracle在创建一个用户的同时会为这个用户创建一个与用户名同名的schem并作为该用户的缺省shcema。即schema的个数同user的个数相同,而且schema名字同user名字一一 对应并且相同
--查询数据库的所有表空间的数据文件
select * from dba_data_files;
--创建数据库表空间
create tablespace soter_mc datafile '/u01/oracle/oradata/soter_mc.dbf' size 200M autoextend on next 10m maxsize unlimited;
--创建数据库临时表空间
create temporary tablespace tmp_soter_mc tempfile '/u01/oracle/oradata/tmp_soter_mc.dbf' size 200M autoextend on next 10m maxsize unlimited;
--创建soter_mc schema,即soter_mc用户账号,密码soter_mc
create user soter_mc default tablespace soter_mc temporary tablespace tmp_soter_mc identified by soter_mc;
--给soter_mc用户分配dba权限
grant connect,dba to soter_mc;
```
连接如图
!(C:\Users\zhouj\AppData\Roaming\Typora\typora-user-images\1572442449726.png)
```shell
### 卸载Oracle 11gR2
# 关闭Oracle数据库
sqlplus/ as sysdba
shutdown
# 退出
exit
# 关闭监听
lsnrctl stop
# 关闭HTTP
service httpd stop
# 删除安装目录以及服务配置
rm -rf 安装文件目录
rm -rf /etc/oratab
rm -rf/etc/oraInst.loc
# 删除用户及用户组
userdel –r oracle
groupdel oinstall
groupdel dba
# 参考教程
https://programmer.group/linux-centos-7.x-interface-free-quiet-installation-of-oracle-11gr2.html
``` 66666{:1_893:}可以的老铁 努力的小七 发表于 2019-11-26 20:48
这个我打算用作参考,谢谢分享!
某一日
蟹老板生气地对海绵宝宝说:海绵宝宝,你被解雇了!
海绵宝宝一脸委屈地望着蟹老板说:蟹老板……
蟹老板回答:不谢! 已收藏、感谢大佬 学习贴,学习中~:loveliness: 老虎会游泳 发表于 2019-11-26 11:56
已收藏、感谢大佬
某一日
蟹老板生气地对海绵宝宝说:海绵宝宝,你被解雇了!
海绵宝宝一脸委屈地望着蟹老板说:蟹老板……
蟹老板回答:不谢! 这个我打算用作参考,谢谢分享! 插眼感谢! 灰常感谢 Oracle 安装特费劲,机缘巧合看到您的帖子,非常感谢,收藏学习了
页:
[1]
2