ORACLE数据库安装
Linux安装oracle12c的详解_林夕男的博客-CSDN博客_linux安装oracle12c
一、环境检查
内存要求 :最小值为1 GB 内存,建议值为2 GB of RAM 或者更多
grep MemTotal /proc/meminfo
查询系统位数命令(64位操作系统):
uname -m
查询系统版本命令:# cat /proc/version或# cat /etc/redhat-release或# lsb_release -id;
cat /proc/version
查询系统内核版本
uname -r
tmp空间至少1G
df -h /tmp
二、安装前系统配置
1、检查依赖包是否安装
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXext libXtst libX11 libXau libxcb libXi make sysstat
安装缺失的依赖包
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutilslibelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBCdevel*.i686 libXp
2、如果环境允许可以加大swap分区
以前装Linux服务器系统的时候,系统有1G内存,swap交换分区分了2G
查看空闲分区
free -m
增加16G的交换空间
dd if=/dev/zero of=/usr/swap bs=1024 count=4096000 #/usr/swap 文件在的位置
设置交换分区
mkswap /usr/swap
启动交换分区
swapon /usr/swap
修改/etc/fstab文件,使得新加的16G交换空间在系统重新启动后自动生效在文件最后加入
vi /etc/fstab
增加
/usr/swap swap swap defaults 0 0
发现还有一步。
5.修改/etc/fstab文件,使得新加的16G交换空间在系统重新启动后自动生效在文件最后加入:
vi /etc/fstab 增加下列内容 i进入修改模式
查看swap分区大小
free -m
3、创建用户、用户组以及安装目录
安装和运行Oracle数据库软件都需要使用指定用户组内的指定用户,用户为Oracle,出于安全考虑,用户组建为oinstall、dba,oinstall组中的成员用于管理Oracle数据库物理软件,dba组中的成员用于管理、操作数据库,具有sysdba权限
# 创建oracle用户组
groupadd oinstall
# 创建oracle用户组
groupadd dba
# oracle加入新建的2个用户组
useradd -g oinstall -G dba oracle
# 设置oracle用户的密码
passwd oracle
# 创建oracle安装目录
mkdir -p /usr/oracle
# 创建oracle安装文件所在目录
mkdir -p /opt/oracle/oracinstall
# 更改oracle目录用户组
chown -R oracle:oinstall /usr/oracle
# 更改oracle目录权限
chmod -R 775 /usr/oracle
# 更改oracle安装文件所在目录的用户组
chown -R oracle:oinstall /opt/oracle/oracinstall
# 更改oracleracle安装文件所在目录的操作权限
chmod -R 755 /opt/oracle/oracinstall
4、配置系统内核参数
共享内存内核参数
参数 | 参数说明 |
---|---|
kernel.shmmax | 每个内存段的最大值,等于或大于sga_max_size,不小于物理内存1/2或2G |
kernel.shmall | 指定任意时刻,系统可以分配的所有共享内存段总和的最大值,不小于shmmax/page_size,如果服务器运行的SGA<8G,可用默认值 |
kernel.shmmni | 系统可分配的共享内存段的最大数量,默认是4096 |
信号量
一种控制资源访问的方法,Oracle实例主要使用信号量来控制共享内存的访问
使用processes初始化参数分配信号量,其值至少等于processes
信号量内核参数
参数 | 参数说明 |
---|---|
kernel.sem | 如:kernel.sem = 250 32000 100 128,其中等号右边4部分分别为semmsl、semmns、semopm、semmni值 |
semmsl | 指每个信号量集合中的最大信号量个数,其值或取其最小值100,或者为所有数据库中最大的processes+10,选择其中较大值者 |
semmns | 系统可分配的共享内存段的最大数量,默认是4096 |
semopm | 用于指定每个semop()系统调用可以设置的信号量操作的最大数量,默认为100 |
semmni | 用于指定信号量集合的最大数量,最小为100,Oracle建议取值128 |
net.core.rmem_default、net.core.rmem_max、net.core.wmem_default、net.core.wmem_max,4个参数用于设置socket数据发送缓冲区及接收缓冲区的默认大小与最大大小。
参数 | 参数说明 |
---|---|
net.core.rmem_default | 表示套接字接收缓冲区大小的缺省值 |
net.core.rmem_max | 表示套接字接收缓冲区大小的最大值 |
net.core.wmem_default | 表示套接字发送缓冲区大小的缺省值 |
net.core.wmem_max | 表示套接字发送缓冲区大小的最大值 |
编辑系统的内核参数:在文件的末尾加入内核要求内容,编辑完成通过“ESC”和“:wq”保存并退出编辑窗口
vi /etc/sysctl.conf
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 = 1048586
fs.file-max = 6815744
生效新配置的系统内核参数
sysctl -p
配置Oracle用户shell limit
为了提高在linux系统上运行软件的性能,必须对oracle用户设置下列限定。
vi /etc/security/limits.conf
noproc - 进程的最大数目
stack - 最大栈大小
nofile - 打开文件的最大数目
soft 指的是当前系统生效的设置值
hard 表明系统中所能设定的最大值
soft 的限制不能比har 限制高。用 - 就表明同时设置了 soft 和 hard 的值。
oracle:被限制的用户名,组名前面加@和用户名区别
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240
编辑登录配置文件
vi /etc/pam.d/login
进行登录配置文件的编辑,在文本最后添加:session required pam_limits.so或者session required /lib/security/pam_limits.so使shell limit生效。
5、Oracle用户环境变量配置
要成功安装并使用Oracle数据库软件,必须在Oracle用户的.bash_profile文件中设置ORACLE_BASE、ORACLE_HOME、ORACLE_SID和PATH环境变量,其他的根据需要来设置。ORACLE_HOME可以在安装前手动配置,另外,Oracle安装过程中会根据ORACLE_BASE的值自动指定的ORACLE_HOME,所以也可以在安装后将这个ORACLE_HOME写入.bash_profile。
# 切换用户
su - oracle
vi .bash_profile
# 添加如下内容,并保存退出
# use for oracle
export ORACLE_BASE=/usr/oracle
export ORACLE_HOME=$ORACLE_BASE/product
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
#防止Oracle安装界面乱码,先把语言环境改为英文
export LANG=en_US
if [ $USER = "oracle" ];then
if [ $SHELL = "/bin/ksh" ];then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
# 使配置文件生效
source .bash_profile
配置修改/etc/hosts文件(切回用户)root
安装RHEL的时候最好采用静态IP地址,
vi /etc/hosts
添加IP地址和域名的映射关系,进入hosts文件,在文件末尾加上本机实际IP和主机用户名
196.160.1.211 Centos dbserver
6、xhost +
这个问题比较恶心:
1、xhost command not found
运行下面命令
yum whatprovides "*/xhost"
yum install xorg-x11-server-utils-7.7-20.el7.x86_64
2、 xhost: unable to open display “”
解决
切换root用户,运行xdpyinfo
查看“name of display”的值(eg:11.0)
# 本机ip:172.17.0.1
export DISPLAY=172.17.0.1:11.0
xhost +
xhost +
显示 access control disabled, clients can connect from any host
su - oracle
# 查看当前DISPLAY环境变量的值
echo $DISPLAY
# 允许视图界面投影到设定的ip下
export DISPLAY=172.17.0.1:0.0
# 再次查看DISPLAY环境变量的值
echo $DISPLAY
# 启动命令
xhost +
xhost +
就会出现成功的响应:
access control disabled, clients can connect from any host
后面就可以正常使用远程图形界面的操作了。
图形化界面一般会在创建目录时不通过,因为oracle账户无法创建oraInventory目录,所以必须先创建该用户并授权,执行如下操作即可
mkdir -p /usr/oraInventory
chown -R oracle:oinstall /usr/oraInventory
chmod -R 775 /usr/oraInventory