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
目录
相关文章
|
22天前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
25天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
208 2
|
1月前
|
Oracle 关系型数据库 网络安全
Oracle 19c 安装教程学习
Oracle 19c 安装教程学习
61 2
|
1月前
|
应用服务中间件 PHP Apache
PbootCMS提示错误信息“未检测到您服务器环境的sqlite3数据库扩展...”
PbootCMS提示错误信息“未检测到您服务器环境的sqlite3数据库扩展...”
|
1月前
|
前端开发 Java
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
文章介绍了如何使用SpringBoot创建简单的后端服务器来处理HTTP请求,包括建立连接、编写Controller处理请求,并返回响应给前端或网址。
56 0
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
|
2月前
|
存储 数据挖掘 数据库
服务器数据恢复—raid磁盘故障导致数据库数据损坏的数据恢复案例
存储中有一组由3块SAS硬盘组建的raid。上层win server操作系统层面划分了3个分区,数据库存放在D分区,备份存放在E分区。 RAID中一块硬盘的指示灯亮红色,D分区无法识别;E分区可识别,但是拷贝文件报错。管理员重启服务器,导致离线的硬盘上线开始同步数据,同步还没有完成就直接强制关机了,之后就没有动过服务器。
|
2月前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
149 5
|
1月前
|
SQL 数据库
SQL-serve数据库不能连接本地服务器的解决方案
SQL-serve数据库不能连接本地服务器的解决方案
194 0
|
2月前
|
存储 Oracle 关系型数据库
Oracle同一台服务器创建多个数据库
【8月更文挑战第30天】在 Oracle 中,可在同一服务器上创建多个数据库。首先确保已安装 Oracle 软件并具有足够资源,然后使用 DBCA 工具按步骤创建,包括选择模板、配置存储及字符集等。重复此过程可创建多个数据库,需确保名称、SID 和存储位置唯一。创建后,可通过 Oracle Enterprise Manager 进行管理,注意服务器资源分配与规划。
136 10
|
3月前
|
缓存 NoSQL 数据库
Web服务器与数据库优化:提升系统性能的最佳实践
【8月更文第28天】在现代的Web应用中,Web服务器与后端数据库之间的交互是至关重要的部分。优化这些组件及其相互作用可以显著提高系统的响应速度、吞吐量和可扩展性。本文将探讨几种常见的优化策略,并提供一些具体的代码示例。
170 1

推荐镜像

更多
下一篇
无影云桌面