学习安装0racle 11g安装 centos linux 7
(1) 前期准备准备一个oracle 11g安装包,可以登录oracle官网下载:
http://www.oracle.com/us/downloads/index.html
(2) 如果是32位linux操作系统,安装包为
linux_11gR2_database_1of2.zip、
linux_11gR2_database_2of2.zip。
(3) 如果是64位linux操作系统,安装包为
linux.x64_11gR2_database_1of2.zip、
linux.x64_11gR2_database_2of2.zip。
(4) 将zip包拷贝到linux系统的/home下,然后进行解压。执行以下命令将安装程序解压到/home/database目录中:
[root@localhost ~]#unzip linux.x64_11gR2_database_1of2.zip -d /home
[root@localhost ~]# unzip linux.x64_11gR2_database_2of2.zip -d /home
1 环境
1.1. 系统版本:
[root@oracledb ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
1.2. 查看主机名
1.3.修改主机名
[root@oracledb ~]# vi /etc/hostname
[root@oracledb ~]# cat /etc/hostname
oracledb
1.4. 操作系统配置部分
1. 关闭防火墙
[root@oracledb ~]# systemctl stop firewalld
[root@oracledb ~]# systemctl disabled firewalld
[root@oracledb ~]# systemctl status firewalld
注意:其他版本
service iptables stop
chkconfig iptables off
2.关闭 selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
[root@oracledb ~]# vi /etc/selinux/config
SELINUX=disabled
[root@oracledb ~]#setenforce 0
3.创建用户和组
groupadd -g 200 oinstall #添加oinstall组, 组的id为200
groupadd -g 201 dba #添加dba组, 组的id为201
useradd -u 440 -g oinstall -G dba oracle #添加用户oracle,并specified它的id为440.
passwd oracle #输入oracle用户的密码
[root@oracledb ~]# id oracle #查看用户id和所属组。
uid=440(oracle) gid=200(oinstall) 组=200(oinstall),201(dba)
oinstall组:是清单目录组(Oracle Inventory group),是控制软件安装,补丁安装等的
dba组: 用于数据库管理、管理清单目录(Inventory)是控制数据库创建,数据库管理等的
usermod -g oinstall -G dba -d /home/Oracle Oracle
-g为指定用户的主要组为oinstall组
-G为指定用户的次要组为dba组
-d为指定用户的主目录
语句详细定义为将Oracle用户的主要组指定为oinstall
次要组指定为dba
并指定Oracle用户的主目录为/home/Oracle
4.创建目录:
mkdir -p /u01/app/19.0.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/product/19.0.0/db_1
chown -R grid:oinstall /u01/app/grid
chown -R grid:oinstall /u01/app/19.0.0/grid
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/
mkdir /opt/oracle
mkdir /opt/oracle/app/
mkdir /opt/oracle/oradata/
chmod 755 /opt/oracle/
chmod 775 /opt/oracle/app/
chown oracle.oinstall -R /opt/oracle/
5.配置Oracle环境变量
[oracle@oracledb ~]$ vi ~/.bash_profile
export PATH=$PATH:$HOME/bin
#oracle
export ORACLE_BASE=/opt/oracle/app/oracle
export ORACLE_HOME=/opt/oracle/app/oracle/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/JRE
CLASSPATH=$CLASSPATH:$ORACLE_HOME/lib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/rdbms/lib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/jdbc/lib/classes12.jar
CLASSPATH=$CLASSPATH:$ORACLE_HOME/jdbc/lib/nls_charset12.jar
export CLASSPATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export PATH=$PATH:$ORACLE_HOME/bin:ORACLE_HOME/Apache/Apache/bin
export PATH=/usr/sbin:$PATH
[oracle@oracledb ~]$ source ~/.bash_profile #立即生效
1.5.修改系统资源限制
1. /etc/security/limits.conf
[root@oracledb ~]# vi /etc/security/limits.conf
linux资源限制配置文件是/etc/security/limits.conf;
限制用户进程的数量对于linux系统的稳定性非常重要。
limits.conf文件限制着用户可以使用的最大文件数,最大线程,最大内存等资源使用量。
hard和soft两个值都代表什么意思呢?
soft是一个警告值,而hard则是一个真正意义的阀值,超过就会报错
#末尾添加如下
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
2 ./etc/sysctl.conf
[root@oracledb ~]vi /etc/sysctl.conf
/etc/sysctl.conf这个目录主要是配置一些系统信息,而且它的内容全部是对应于/proc/sys/这个目录的子目录及文件。
备份文件:cp /etc/sysctl.conf /etc/sysctl.conf.bak
在文件末尾添加:
kernel.shmmax = 408021893120
kernel.shmall = 99614720
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 = 16777216
net.core.wmem_default = 262144
net.core.wmem_max = 16777216
fs.aio-max-nr = 1048576
fs.file-max = 6815744
使/etc/sysctl.conf 更改立即生效
[root@oracledb ~] sysctl -p
备注:上述红色数字是以380G内存计算而来。
如果以252G内存计算,那么
kernel.shmmax = 270582939648
kernel.shmall = 66060288
如果以7.5G内存计算,那么
kernel.shmmax = 8053063680
kernel.shmall = 1966080
备注:
fs.file-max = 6815744 #该参数决定了系统中所允许的文件句柄最大数目,文件句柄设置代表linux系统中可以打开的文件的数量。
fs.aio-max-nr = 1048576 #此参数限制并发未完成的异步请求数目,应该设置避免I/O子系统故障。
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 #发送套接字缓冲区大小的最大值(以字节为单位)。
3./etc/pam.d/login
[root@oracledb ~]# vi /etc/pam.d/login
PAM(Pluggable Authentication Modules )是由Sun提出的一种认证机制。它通过提供一些动态链接库和一套统一的API,将系统提供的服务和该服务的认证方式分开,使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序,同时也便于向系统中添加新的认证手段。
PAM最初是集成在Solaris中,目前已移植到其它系统中,如Linux、SunOS、HP-UX 9.0等
vi /etc/pam.d/login
此行session required pam_namespace.so
下面添加一条pam_limits.so
session required pam_limits.so
4、vi /etc/profile
打开文件# /etc/profile,修改oracle用户的最大进程数,末尾添加以下内容:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
2 图形化页面安装准备xmanager
开始:执行./runInstaller开始安装,详细见后面步骤
等待几秒钟会出现下面的图像界面配置
export DISPLAY=本机IP
LANG=C 解决乱码问题
1、配置安全更新
2、选择安装选项
注: 如果选择第一个会自动配置好默认orcl数据库,选择安装数据库软件并创建数据,也可以选择第二项仅安装数据库软件
3、系统类
4、网络选项
5、选择安装类型
6、选择产品语言
7、选择数据库版本
8、指定安装位置
注:请务必把“Oracle基目录”和“软件位置”设置为上图路径
9、创建产品清单
注:创建产品清单 请务必把“清单目录”设置路径
10、选择配置类型
11、指定数据库表实符 数据库名及服务名
12、指定配置选项
# 需要选择“简体中文GBK”字符集)
13、指定管理选项
14、指定数据库存储选项
15、指定恢复选项
16、指定方案口令
17、特权操作系统组
18、执行先决条件检查
19、概要
20、安装产品
等待......85%
等待......95%
100%
21、口令管理
22、确定后,关闭按钮,oracle 11g安装成功。
[root@oracledb ~]$ /opt/oracle/app/oraInventory/orainstRoot.sh
[root@oracledb ~]$ /opt/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh
23、切换登录Oracle用户
[root@localhost ~]# su - oracle
[oracle@localhost ~]$ sqlplus sys/sys as sysdba