阿里云ECS安装Oracle11.2.0.4单实例数据库软件
一、 环境准备
阿里云ECS: 2C 8G 系统类型:centos7.4
Oracle包: 11.2.0.4
二、 云盘挂载
这里使用了文件系统:
先把云磁盘挂载到 ECS上使用,在 ECS上执行 fdisk -l 检查确认挂载磁盘
使用 fdisk 对没有使用的磁盘进行分区,fdisk /dev/vdb ,(图为磁盘为整个分区)
按照提示:
选择 n,创建一个新的分区,选择作为主分区,分区号 1,开始位置 1,结束位置为最大值,即用整个磁盘作为分区。然后 w 保存退出。
格式化成 ext4 分区,执行 mkfs -t ext4 /dev/vdb1
修改/etc/fstab,在文件最后加上新加两个分区的定义,保存退出。
挂载磁盘,执行mount /dev/vdb1 /oradata
三、 系统准备
1、检查内存,内存不小于 4GB
2、SWAP 分区设置
ECS 没有配置 SWAP,不符合 Oracle 官方的系统要求,可申请新的云盘划分 SWAP。(这里避免没必要的坑,没有配置swap分区)
3、系统架构
确认系统是 64 位还是 32 位,例子里是 64 位。
4、/tmp 文件系统
检查临时文件系统空间,ECS 默认临时文件系统共享根盘的空间,大小足够,没问题。
5、OS版本
6、OS内核版本
7、系统RPM包
系统 rpm 包:
以下列出的是 Oracle 需要的系统包,其中红色是 ECS 默认没有安装的,需要单独安装。
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-2.5-24 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 (32 bit)
glibc-headers-2.5
ksh-20060214
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
numactl-devel-0.9.8.x86_64
sysstat-7.0.2
使用如下安装命令进行安装,
yum install -y 'compat-libstdc++-33'
yum install -y 'compat-libstdc++-33.i686'
yum install -y elfutils-libelf-devel
yum install -y glibc-devel.i686
yum install -y ksh
yum install -y libaio.i686
yum install -y libaio-devel
yum install -y libaio-devel.i686
注意:安装图形界面时提示,有三个包是ECS不具备的,ignore就可以
8、/etc/sysctl.conf
/etc/sysctl.conf,以下参数是推荐最小值,如果现有值大于推荐值,可以不修改。将以下内容添加到该文件的末尾。
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.shmall = 2097152
kernel.shmmax = 6442450944
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 = 1048586
然后执行:/sbin/sysctl -p 生效,/sbin/sysctl -a 确认是否生效
9、/etc/pam.d/login
修改/etc/pam.d/login,增加一行:
session required pam_limits.so
10、修改selinux
vim /etc/sysocnfig/selinux ,确认一下参数生效
SELINUX=disabled
四、 Oracle软件安装配置
1、创建用户和组,执行下列命令:
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba -d /home/oracle -m oracle
passwd oracle
2、用户 Shell limits
编辑/etc/security/limits.conf,加入如下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
3、用户环境变量配置
在 oracle 用户的环境变量中增加如下内容:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65535
fi
fi
ORACLE_BASE=/opt/oracle
ORACLE_SID=orcl
ORACLE_HOME=$ORACLE_BASE/product/11.2.0
PATH=$ORACLE_HOME/bin:$ORACLE_HOME/oracm/bin:$ORACLE_HOME/OPatch:$PATH
LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$ORACLE_HOME/lib:$ORACLE_HOME/lib32
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export ORACLE_BASE ORACLE_HOME ORA_NLS33 ORACLE_SID PATH LD_LIBRARY_PATH CLASSPATH TNS_ADMIN
4、创建目录
执行以下命令:
mkdir -p /opt/oracle/product/11.2.0
mkdir -p /opt/oracle/oraInventory
mkdir -p /opt/oracle/product/11.2.0/oradata
mkdir -p /oradata/arch
chown -R oracle:oinstall /opt/oracle
chown -R oracle:oinstall /oradata/arch
chmod -R 755 /opt/oracle
chmod -R 777 /oradata
5、配置vnc server连接图形界面
参考阿里云文档:
https://help.aliyun.com/knowledge_detail/41181.html?spm=5176.11065259.1996646101.searchclickresult.59466dcddVmdJI
6、解压对应的Oracle压缩包![image](https://yqfile.alicdn.com/155e6ff29b02f8511507dc6cdf73a7d6971a3cde.png)
7、通过图形界面的命令行模式,执行命令
su – oracle
export DISPLAY=localhost:1
[root@localhost ~]# xhost +
access control disabled, clients can connect from any host
8、切换到解压后的目录,执行:
./runInstaller
接下来就是Oracle软件安装图形化界面了
五、 Oracle软件图形化界面安装
图有些没有保存,借用的网上的图片进行说明
在检查的时候会warning有三个包没有安装,这是ECS的问题,可以ignore
安装时遇到的报错
解决方法:
查阅资料这是Oracle自带的bug,点击continue,继续安装。后续可以下载对应的安装包
以root身份执行orainstRoot.sh和root.sh脚本(注:执行完脚本以后,在点击“ok”)
点击close,至此数据库软件就部署完成
六、 创建数据库
在图形化界面Oracle用户,输入dbca
自定义一个数据库
为了方便选择使用统一的密码,可以根据自己的需求
选择数据库文件的存储路径/oradata
没有选择闪回和归档
根据需求选择需要安装的数据库组件
配置内存SGA和PGA:
SGA:大小一般为内存的50%-80%
PGA:大小一般为内存的20%左右
安装成功后,点击EXIT!完成
七、 创建数据库监听
通过Oracle用户界面执行netca
至此,在ECS上搭建一个简单的Oracle单实例数据库初步完成,刚接触Oracle,部署比MySQL复杂的多。
八、 遇到的问题
1、 切换到Oracle用户时,环境变量配置错误,然后切回到root用户再切到Oracle用户发现命令已经都不能使用了。
解决方法:通过root用户编辑用户,/home/oracle的环境变量,修改正确之后就可以正常使用了。
2、 无法连接到Oracle安装界面
解决方法:没有设置xhosts,登录到Oracle用户执行命令
[root@localhost ~]# export DISPLAY=localhost:1
[root@localhost ~]# xhost +
access control disabled, clients can connect from any host
3、 在图形界面安装的时候,弹出来的界面显示不完整,只显示一个标题框
解决方法:
在启动安装界面的时候使用:安装前,先配置jdk,如果有jdk,然后执行安装命令时指定本地的jdk就可以了
运行安装程序时使用 ./runInstaller -jreLoc /usr/lib/jvm/jre-1.8.0
4、
解决方法:Inventory Directory指定的不正确,在linux上 找一下oraInventory文件的正确位置指定一下就可以了
5、
安装时遇到的报错
解决方法:
查阅资料这是Oracle自带的bug,点击continue,继续安装。后续可以下载对应的安装包
6、选择Oracle database files存放的目录时,选择数据库盘时,提示对数据盘的访问没有权限,
解决方法:修改磁盘的访问权限为777 chmod 777 /oradata
7、搭建完之后数据库显示有乱码
原因:在用户的环境变量中设置的字符集是NLS_LANG= "SIMPLIFIED CHINESE_CHINA.ZHS16GBK"; export NLS_LANG
修改为American_America.zhs16gbk的默认的就可以了