环境:

硬盘30G;2G RAM;Centos7;Oracle 11G;

1.创建组和用户

[zzd@localhost ~]$ su root  #切换到root
Password:
[root@localhost]# groupadd oinstall  #创建用户组oinstall
[root@localhost]# groupadd dba  #创建用户组dba
[root@localhost]# useradd -g oinstall -G dba -m oracle  #创建oracle用户,并加入到oinstall和dba用户组
[root@localhost]# passwd oracle  #设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆
Changing password for user oracle.
New password:   # 密码
BAD PASSWORD: The password is shorter than characters
Retype new password:   # 确认密码
passwd: all authentication tokens updated successfully.
[root@localhost]# id oracle # 查看新建的oracle用户

2.解压安装包

[root@localhost]# unzip linux.x64_11gR2_database_1of2.zip

[root@localhostl]# unzip linux.x64_11gR2_database_2of2.zip

解压出来的database文件夹,放到oracle的用户目录下:

mv ./database /home/oracle/

设置文件夹权限:

chown -R oracle:oinstall /home/oracle/database

3.创建安装目录

[root@localhost]# cd /.        #进入根目录
[root@localhost]# mkdir -p /data/oracle  #oracle数据库安装目录
[root@localhost]# mkdir -p /data/oraInventory  #oracle数据库配置文件目录
[root@localhost]# cd /data
[root@localhost data]# ls  #创建完毕检查一下(强迫症)
database oracle oraInventory
[root@localhost data]# chown -R oracle:oinstall /data/oracle  #设置目录所有者为oinstall用户组的oracle用户
[root@localhost data]# chown -R oracle:oinstall /data/oraInventory
[root@localhost data]#

4.修改OS系统标识(oracle默认不支持CentOS系统安装,但是centos其实就是redhat)

[root@localhost data]# vi /etc/redhat-release
[root@localhost data]# cat /etc/redhat-release
redhat-

5.安装依赖包

[root@localhost data]# 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*

6.关闭防火墙

[root@localhost data]# systemctl stop firewalld.service    #关闭防火墙
[root@localhost data]# systemctl status firewalld.service #查看防火墙状态(已关闭)
[root@localhost data]# systemctl disable firewalld.service #禁止使用防火墙(重启也是禁止的)

7.关闭selinux

[root@localhost data]# vi /etc/selinux/config

修改为SELINUX=disabled

8.修改内核参数

[root@localhost data]# vi /etc/sysctl.conf

在最后添加:

net.ipv4.icmp_echo_ignore_broadcasts =
net.ipv4.conf.all.rp_filter =
fs.file-max =
fs.aio-max-nr =
kernel.shmall =
kernel.shmmax =
kernel.shmmni =
kernel.sem =
net.ipv4.ip_local_port_range =
net.core.rmem_default =
net.core.rmem_max=
net.core.wmem_default=
net.core.wmem_max=

内核参数需要注意,shmall 和shmmax 的值由服务器内存决定。(不过这个参数设置博主我现在也是一知半解,没完全搞明白,查了半天意思如下:)
kernel.shmall :
  该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB/4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304 符合要求。
kernel.shmmax:
是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,例如,如果为16GB物理内存,可取1610241024*1024-1=17179869183。
kernel.shmmni:
该参数是共享内存段的最大数量。shmmni缺省值4096,一般肯定是够用了。
kernel.sem = 250 32000 100 128 的意思是:
  250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。
  32000是参数semmns的值,表示系统内可允许的信号量最大数目。
  100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。
  128是参数semmni的值,表示系统信号量集合总数。

9.对oracle用户设置限制

()vi /etc/security/limits.conf
添加以下内容:
* soft nproc
* hard nproc
* soft nofile
* hard nofile
()修改/etc/pam.d/login 文件,vi /etc/pam.d/login
添加:
session required /lib64/security/pam_limits.so
session required pam_limits.so
()编辑 /etc/profile ,vi /etc/profile
添加:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p
ulimit -n
else
ulimit -u -n
fi
fi

10.配置环境变量

export ORACLE_BASE=/data/oracle #oracle数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product/11g #oracle数据库路径
export ORACLE_SID=orcl #oracle启动数据库实例名
export ORACLE_UNQNAME=orcl
export ORACLE_TERM=xterm #xterm窗口模式安装
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.ZHS16GBK #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致

使用户的环境变量配置立即生效

[root@localhost data]# source /home/oracle/.bash_profile

11.修改交换空间的大小

https://jingyan.baidu.com/article/5d368d1eb6e1133f60c057ca.html

12.开始安装

使用oracle用户登陆,到database文件夹下直接执行./runInstaller

13.正常会打开图形化安装界面,按自己意愿进行安装和配置

参考:

https://www.cnblogs.com/mmzs/p/9033112.html

https://www.cnblogs.com/muhehe/p/7816808.html

https://www.cnblogs.com/caoyt/p/9714803.html

https://www.cnblogs.com/czz-hl/p/9590759.html

https://blog.csdn.net/m0_37814112/article/details/77373863

https://www.cnblogs.com/guzhanyu/p/7943728.html

https://blog.csdn.net/u010383786/article/details/55822996

最新文章

  1. nodejs的child_process同步异步
  2. MySQL 5.6 新参数对binlog日志量的优化
  3. java基础1_Java数据类型
  4. css中white-space的值pre-wrap
  5. Android学习笔记(五)——活动的生命周期
  6. D7控件\dw_cd_VirtualTreeview_v4.5.2\Demos\Advanced---TVirtualStringTree用法
  7. jqGrid通用编辑规则
  8. QT对话框模式与非模式
  9. excel数据通过构建sql语句导入到数据库中
  10. Android中的sp与wp
  11. the server responded with a status of 404 (Not Found)
  12. struts1.3设置编码三种方法
  13. Excel异常Cannot get a text value from a numeric cell
  14. json的引号之伤
  15. spring boot / cloud (八) 使用RestTemplate来构建远程调用服务
  16. iOS Xcode及模拟器SDK下载
  17. Vijos P1116 一元三次方程求解【多解,暴力,二分】
  18. DHCP服务器 出现的故障
  19. TCPWrap的使用配置
  20. Qt ------ window下工程项目打包成一个exe程序

热门文章

  1. jsqlparser和calcite和druid功能对比
  2. vc++ 监控指定路径下文件变化
  3. 洛谷$P5330\ [SNOI2019]$数论 数论
  4. $ZOJ\ 2432\ Greatest\ Common\ Increasing\ Subsequence$
  5. oracle中使用pl/sql进行的文件读写操作
  6. Oracle数据库连接工具的使用(三)
  7. AcWing 247. 亚特兰蒂斯 | 扫描线
  8. 51nod 1086背包问题V2 (完全背包模板题)
  9. matplotlib绘制符合论文要求的图片
  10. Redis系列之----Redis的两种持久化机制(RDB和AOF)