需求:因为需要从RAC的多实例迁移至单虚拟机的多实例。因此,简要概述一下,如何安装数据库的多实例。

不管是Oracle 11g还是10g的多实例,其基本思路都是一致的。

1.调用dbca

在root账号,运行:

[root@db u01]# xhost +

在oracle账号,运行:

[oracle@db ~]$ export LANG=en_US
[oracle@db ~]$ dbca

出现如下页面:

安装新的数据库实例,实践环境名字分别为:

irc3db,managedb,servdb

开始创建数据库:

输入指定的数据库实例名称:

后面的界面是配置:字符集,内存,进程数等,就不一一列出,可以参看以前我写的数据库【Oracle11g和Oracle10g】安装的文档。

安装完毕之后,可以继续调用dbca,看到三个实例是否安装成功。

2.环境变量配置

由于数据库是多实例。因此,需要对应的sid才能进入对应的数据库实例里面,配置的环境变量如下:

[root@arprac02 expbackup]# su - oracle
[oracle@arprac02 ~]$ pwd
/home/oracle
[oracle@arprac02 ~]$ cat .bash_profile
###添加如下内容
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export NLS_LANG="AMERICAN_AMERICA.zhs16gbk"
export ORACLE_SID=irc3db
export PATH=$ORACLE_HOME/bin:$PATH:$ORA_CRS_HOME/bin:/usr/bin:/usr/X11R6/bin:/bin:/sbin
export LD_LIBRARY_PATH=$ORA_CRS_HOME/lib:$ORACLE_HOME/lib:/usr/lib:/usr/local/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin

其中export ORACLE_SID=irc3db,根据指定不同的实例进行修改。

3.修改SGA内存

新建的虚拟机,增加内存。可能会报如下错误:

  1. 使用dbca安装数据库时报错"SGA size can not be greater than、ORA-27102"
  2. ORA-27102: out of memory

虽然服务器增加了内存,但是内存要达到最大功效,需要修改内核参数,这是重点,要记得,考试会考

kernel.shmmax

是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,能在一个共享内存段下容纳下整个的 SGA , 设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及 ServerProcess 创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低 ( 在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响 ) ,但是其他时候都不会有影响。

官方建议值:

1 内存为 12G 时,该值为 12*1024*1024*1024-1 = 12884901887
2 内存为 16G 时,该值为 16*1024*1024*1024-1 = 17179869183
3 内存为 32G 时,该值为 32*1024*1024*1024-1 = 34359738367
4 内存为 64G 时,该值为 64*1024*1024*1024-1 = 68719476735
5 内存为 128G 时,该值为 128*1024*1024*1024-1 = 137438953471

kernel.shmall:

该参数控制可以使用的共享内存的总页数。 Linux 共享内存页大小为 4KB, 共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G ,那么需要共享内存页数是 16GB/4KB==4194304 (页),

官方建议值:

1 当内存为 12G 时, kernel.shmall = 3145728
2 当内存为 16G 时, kernel.shmall = 4194304
3 当内次为 32G 时, kernel.shmall = 8388608
4 当内存为 64G 时, kernel.shmall = 16777216
5 当内存为 128G 时, kernel.shmall = 33554432

因此,修改SGA的时候,要考虑的内核参数的修改。

【Oracle】Oracle数据库多实例安装的更多相关文章

  1. mycat数据库集群系列之数据库多实例安装

    mycat数据库集群系列之数据库多实例安装 最近在梳理数据库集群的相关操作,现在花点时间整理一下关于mysql数据库集群的操作总结,恰好你又在看这一块,供一份参考.本次系列终结大概包括以下内容:多数据 ...

  2. 区分Oracle的数据库,实例,服务名,SID

    文章摘自:http://www.zhetao.com/content240 感谢分享O(∩_∩)O~ 在实际的开发应用中,关于Oracle数据库,经常听见有人说建立一个数据库,建立一个Instance ...

  3. 【ORACLE】oracle11g单实例安装

    -- 上传安装包 p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip -- 解压安装包 unzi ...

  4. 1.oracle dblink(数据库不同实例数据对导)

    .创建一个两个数据库之间的dblink,语法如下 create database link to_test connect to scott identified by tiger using '(D ...

  5. 九.mysql数据库多实例安装mysqld_multi [start,stop,report]

    经常应为系统硬件短缺,导致需要在同一台硬件服务器上面安装多个mysql实例.之前的文章四·安装mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz(基于Centos7源码 ...

  6. oracle数据库、客户端安装以及ps/sql连接和导入表实例

    从下面的网址下载http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win32soft-098 ...

  7. 在 Oracle Linux 6.5 上安装 Oracle 11g 单实例数据库

    Checking the Hardware Requirements 系统必须满足下面最小的硬件要求 Memory Requirements Minimum: 1 GB of RAMRecommend ...

  8. oracle数据库_实例_用户_表空间之间的关系(转)

    数据库:Oracle数据库是数据的物理存储.这就包括(数据文件ORA或者DBF.控制文件.联机日志.参数文件).其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库.可 ...

  9. Oracle - 数据库的实例、表空间、用户、表之间关系

    完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等): 2) Oracle数据库实例则是一组Ora ...

  10. 【转】Oracle - 数据库的实例、表空间、用户、表之间关系

    [转]Oracle - 数据库的实例.表空间.用户.表之间关系 完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机 ...

随机推荐

  1. 关于Actor Component的思考--学习斯坦佛UE+C++

    跟着B站的视频学习,感觉自己的头很混乱.所以浅浅总结一下创建Actor Component之后其的作用和相关操作. Actor Component 首先Component为一个组件,源码就是一个类的声 ...

  2. 使用fiddler抓取HTTPS的数据包(抓取App端的数据包)

    众所周知,我们在做接口测试的时候有两种情况: 第一种是先拿到接口测试规范文档,再去做接口测试. 第二种是没有接口文档,只有通过自己抓包. 那么说到抓包,就不得不说抓包工具,对于浏览器web端,我们只需 ...

  3. CSS+HTML+flexible.js+rem实现屏幕缩放适配概念原理解释

    首先理解几个概念: (1)屏幕尺寸:屏幕对角线的长度,一般用英寸表示,1英寸=2.54cm. (2)dp((或者叫dip):设备独立像素,也就是设备屏幕上多少个点. (3)dpi:印刷行业术语,像素密 ...

  4. Visual Studio快捷键总览,推荐VS+Resharper实现高效开发

    VS2022之后,其实还挺好用的,但个人还是习惯VS+Resharper的强强组合,尤其是Ctrl+N快捷键的全局搜,比VS自带的Ctrl+T好用太多了,Ctrl+B还能直接查看反编译之后的dll的方 ...

  5. 10 JavaScrit定时器

    10 JavaScrit定时器 在JS中, 有两种设置定时器的方案: // 语法规则 t = setTimeout(函数, 时间) // 经过xxx时间后, 执行xxx函数 // 5秒后打印我爱你 t ...

  6. Go 实战|使用 Wails 构建轻量级的桌面应用:仿微信登录界面 Demo

    概述 本文探讨 Wails 框架的使用,从搭建环境到开发,再到最终的构建打包,本项目源码 GitHub 地址:https://github.com/mazeyqian/go-run-wechat-de ...

  7. FindBugs问题EQ_COMPARETO_USE_OBJECT_EQUALS的解决方法

    本文记录的是2016年4月初发生的事情. 前几天,标准CI的静态检查页面发现一个项目组同事引入的FindBugs问题,EQ_COMPARETO_USE_OBJECT_EQUALS,CI对这个问题给出的 ...

  8. Go 语言基础:包、函数、语句和注释解析

    一个 Go 文件包含以下几个部分: 包声明 导入包 函数 语句和表达式 看下面的代码,更好地理解它: 例子 package main import "fmt" func main( ...

  9. 并发编程面试必备之ConcurrentHashMap源码解析

    ConcurrentHashMap在我的面试生涯中,10次有8次是会被问到的,记得刚毕业那会,被问到ConcurrentHashMap源码的无助与苦涩,无奈只能网上找了一些教程,背一背,才算是蒙混过关 ...

  10. xxx,一个神奇的 Python 库

    前几天,我在<技术周刊的转变:如何平衡热爱与现实?>一文里写过国内 Python 自媒体圈在近几年的两个现象(仅个人观感,无科学数据支撑): Python 广告投放出现断崖式萎缩 Pyth ...