Oracle学习1--阿里云ECS上部署单实例数据库11.2.0.4

简介: 初次学习部署Oracle的总结,有不正确的地方请指正~

阿里云ECS安装Oracle11.2.0.4单实例数据库软件
一、 环境准备
阿里云ECS: 2C 8G 系统类型:centos7.4

Oracle包:  11.2.0.4

二、 云盘挂载
这里使用了文件系统:
先把云磁盘挂载到 ECS上使用,在 ECS上执行 fdisk -l 检查确认挂载磁盘
使用 fdisk 对没有使用的磁盘进行分区,fdisk /dev/vdb ,(图为磁盘为整个分区)
image
按照提示:
选择 n,创建一个新的分区,选择作为主分区,分区号 1,开始位置 1,结束位置为最大值,即用整个磁盘作为分区。然后 w 保存退出。
格式化成 ext4 分区,执行 mkfs -t ext4 /dev/vdb1
修改/etc/fstab,在文件最后加上新加两个分区的定义,保存退出。
image
挂载磁盘,执行mount /dev/vdb1 /oradata
三、 系统准备
1、检查内存,内存不小于 4GB
2、SWAP 分区设置
ECS 没有配置 SWAP,不符合 Oracle 官方的系统要求,可申请新的云盘划分 SWAP。(这里避免没必要的坑,没有配置swap分区)
3、系统架构
确认系统是 64 位还是 32 位,例子里是 64 位。
4、/tmp 文件系统
检查临时文件系统空间,ECS 默认临时文件系统共享根盘的空间,大小足够,没问题。
5、OS版本
image
6、OS内核版本
image
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 image

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软件图形化界面安装
图有些没有保存,借用的网上的图片进行说明
image
image
image
image
image
image
image
image
image
image
image
在检查的时候会warning有三个包没有安装,这是ECS的问题,可以ignore
image
image
image
安装时遇到的报错
解决方法:
查阅资料这是Oracle自带的bug,点击continue,继续安装。后续可以下载对应的安装包
image
以root身份执行orainstRoot.sh和root.sh脚本(注:执行完脚本以后,在点击“ok”)
image
点击close,至此数据库软件就部署完成
六、 创建数据库
在图形化界面Oracle用户,输入dbca
image
image
image
自定义一个数据库
image
image
image
image
为了方便选择使用统一的密码,可以根据自己的需求
image
选择数据库文件的存储路径/oradata
image
没有选择闪回和归档
image
根据需求选择需要安装的数据库组件
image
配置内存SGA和PGA:
SGA:大小一般为内存的50%-80%
PGA:大小一般为内存的20%左右
image
image
image
image
image
image
image
安装成功后,点击EXIT!完成
七、 创建数据库监听
通过Oracle用户界面执行netca
image
image
image
image
image
image
image
至此,在ECS上搭建一个简单的Oracle单实例数据库初步完成,刚接触Oracle,部署比MySQL复杂的多。
八、 遇到的问题
1、 切换到Oracle用户时,环境变量配置错误,然后切回到root用户再切到Oracle用户发现命令已经都不能使用了。
解决方法:通过root用户编辑用户,/home/oracle的环境变量,修改正确之后就可以正常使用了。
2、 无法连接到Oracle安装界面
image
解决方法:没有设置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、image
解决方法:Inventory Directory指定的不正确,在linux上 找一下oraInventory文件的正确位置指定一下就可以了
5、image
安装时遇到的报错
解决方法:
查阅资料这是Oracle自带的bug,点击continue,继续安装。后续可以下载对应的安装包
6、选择Oracle database files存放的目录时,选择数据库盘时,提示对数据盘的访问没有权限,
解决方法:修改磁盘的访问权限为777 chmod 777 /oradata
7、搭建完之后数据库显示有乱码
原因:在用户的环境变量中设置的字符集是NLS_LANG= "SIMPLIFIED CHINESE_CHINA.ZHS16GBK"; export NLS_LANG
修改为American_America.zhs16gbk的默认的就可以了

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
27天前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
1月前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
255 2
|
2月前
|
缓存 弹性计算 NoSQL
新一期陪跑班开课啦!阿里云专家手把手带你体验高并发下利用云数据库缓存实现极速响应
新一期陪跑班开课啦!阿里云专家手把手带你体验高并发下利用云数据库缓存实现极速响应
|
2月前
|
安全 NoSQL 关系型数据库
阿里云数据库:助力企业数字化转型的强大引擎
阿里云数据库:助力企业数字化转型的强大引擎
|
2月前
|
存储 NoSQL MongoDB
基于阿里云数据库MongoDB版,微财数科“又快又稳”服务超7000万客户
选择MongoDB主要基于其灵活的数据模型、高性能、高可用性、可扩展性、安全性和强大的分析能力。
|
2月前
|
存储 NoSQL MongoDB
小川科技携手阿里云数据库MongoDB:数据赋能企业构建年轻娱乐生态
基于MongoDB灵活模式的特性,小川实现了功能的快速迭代和上线,而数据库侧无需任何更改
|
20天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
34 1
|
22天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
36 4
|
28天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
160 1
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
88 2

推荐镜像

更多