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的默认的就可以了

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2天前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
95 64
|
1天前
|
监控 Oracle 关系型数据库
Oracle数据库性能优化
【10月更文挑战第16天】Oracle数据库性能优化是
5 1
|
3天前
|
缓存 弹性计算 NoSQL
新一期陪跑班开课啦!阿里云专家手把手带你体验高并发下利用云数据库缓存实现极速响应
新一期陪跑班开课啦!阿里云专家手把手带你体验高并发下利用云数据库缓存实现极速响应
|
3天前
|
安全 NoSQL 关系型数据库
阿里云数据库:助力企业数字化转型的强大引擎
阿里云数据库:助力企业数字化转型的强大引擎
|
4天前
|
存储 NoSQL MongoDB
基于阿里云数据库MongoDB版,微财数科“又快又稳”服务超7000万客户
选择MongoDB主要基于其灵活的数据模型、高性能、高可用性、可扩展性、安全性和强大的分析能力。
|
9天前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
43 6
|
7天前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
39 3
Mysql(4)—数据库索引
|
9天前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
30 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
14天前
|
缓存 算法 关系型数据库
Mysql(3)—数据库相关概念及工作原理
数据库是一个以某种有组织的方式存储的数据集合。它通常包括一个或多个不同的主题领域或用途的数据表。
38 5
Mysql(3)—数据库相关概念及工作原理
|
1天前
|
存储 关系型数据库 MySQL
如何在MySQL中创建数据库?
【10月更文挑战第16天】如何在MySQL中创建数据库?

推荐镜像

更多