阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7下 Oracle 11gR2 安装最新详解

194次阅读
没有评论

共计 10298 个字符,预计需要花费 26 分钟才能阅读完成。

前沿:最近因为工作的变动,接触了好多没接触的东西,一直在学习和熟悉业务,期间最有收获的就属于接触了除 MySQL 之外的数据库,首先对 Oracle 的安装记录一次。

建议:第一次安装的朋友们,不要顺着我的来,将安装包上传后,直接解压执行./runInstaller,根据报错去处理问题,这样会更深入一层次的了解 Oracle。

Oracle 和 MySQL 区别

1、Oracle 属于大型数据库,而 MySQL 属于中小型数据库,Oracle 市场占有 40%,MySQL 占 20%;

2、Oracle 非开源,需付费,提供售后,而 MySQL 开源免费,不过被 Oracle 收购后,不知道未来走势;

3、Oracle 支持大并发,大访问量,支持完全事务处理,而 MySQL 在 innodb 引擎的行级锁后才支持;

4、Oracle 是由用户决定内容,MySQL 是由数据库决定内容;

5、Oracle 逻辑备份时不锁表,MySQL 需锁表,而且一致性不如 Oracle;

6、Oracle 需要手动提交执行,MySQL 默认自动提交;

7、Oracle 安装需 3G 左右空间,MySQL 只需 150 多 M;

8、Oracle 三方管理工具较多,MySQL 很少。

安装 Oracle 服务

1、检查并安装必要的软件包

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl-devel sysstat  unixODBC unixODBC-devel

yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat  ld-linux.so.2  unixODBC unixODBC-devel

yum install libXp  libXp.i686    // 否则会报 java Exception

wget http://mirror.CentOS.org/centos/5/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm

wget ftp://rpmfind.net/linux/openSUSE/distribution/13.1/repo/oss/suse/i586/pdksh-5.2.14-948.1.2.i586.rpm   32 位的

rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm –force –nodeps

2、检查 swap 是否有 16G

grep SwapTotal /proc/meminfo  // 若小于 16G,执行下面

dd if=/dev/zero of=/data/swap  bs=1G count=9

mkswap /data/swap  &&  swapon  /data/swap

vim /etc/fstab(add)

/data/swap  swap  swap defaults  0  0

mount -a

3、添加用户和组

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle(oracleadmin)

4、配置内核参数

vim /etc/sysctl.conf

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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

kernel.shmall = 2097152                                 

// 表示系统一次可以使用的共享内存总量(以页为单位)。缺 省值就是 2097152,通常不需要修改

kernel.shmmax = 2147483648                       

 // 共享内存段的最大尺寸(字节)。缺省 32M,对于 oracle 来说,该缺省值太低了,通常将其设置为 2G

kernel.shmmni = 4096                                   

 // 用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096。通常不需要更改

kernel.sem = 250 32000 100 128  // 表示设置的信号量

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default=4194304  // 默认的接收窗口大小

net.core.rmem_max=4194304       // 接收窗口的最大大小

net.core.wmem_default=262144    // 默认的发送窗口大小

net.core.wmem_max=262144   

 

sysctl  -p   // 使之立即生效

5、修改用户限制

vim /etc/security/limits.conf

oracle          soft    nproc  2047
oracle          hard    nproc  16384
oracle          soft    nofile  1024
oracle          hard    nofile  65536

6、修改用户验证选项

vim /etc/pam.d/login

session required /lib64/security/pam_limits.so
session required pam_limits.so

7、修改用户配置文件

vim /etc/profile

if [$USER = “oracle”]; then
        if [$SHELL = “/bin/ksh”]; then
              ulimit -p 16384
              ulimit -n 65536
        else
              ulimit -u 16384 -n 65536
        fi
fi

8、修改用户

vim  /home/oracle/.bash_profile

export ORACLE_BASE=/usr/local/oracle     #oracle 数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product    #oracle 数据库路径
export ORACLE_SID=orcl #oracle      #启动数据库实例名
export ORACLE_TERM=xterm       #xterm 窗口模式安装
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH    #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib    #添加系统环境变量
export LANG=C    #防止安装过程出现乱码

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

# 设置 Oracle 客户端字符集,必须与 Oracle 安装时设置的字符集保持一致,

mkdir -p /usr/local/oracle/product

chown -R oracle:oinstall  /usr/local/oracle/

source /home/oracle/.bash_profile

注:云机器默认无法用 ctrl+alt+f7 切换至图形界面,而且无 gnom 桌面,所以为了识别 >256color,进行以下操作

yum groupinstall “X Window System”

##yum groupinstall “GNOME Desktop”    // 我试了下,注释部分不安装也可,你也可以试试

yum install xdpyinfo xorg-x11-server-utils-7.7-14.el7  #tigervnc-server // 不适用 vnc 可以不安装服务

##(root)vncserver && 密码 =vncserveradmin  && export DISPLAY=localhost:1

##xhost +  // 让所有 IP 可以介入

9、oracle 用户登录,并测试环境变量是否成功

su – oracle

env | grep ORA   // 检查环境变量是否设置生效

10、下载 oracle,并安装

linux.x64_11gR2_database_1of2.zip

linux.x64_11gR2_database_2of2.zip

解压这俩安装包,会出来个 database 目录,进入该目录

执行:./runInstaller

11、若以 xhell 运行时,系统并配有 xmanege 程序,通过配置如下 x11 转发(两个 11 步,选一即可)

CentOS 7 下 Oracle 11gR2 安装最新详解

系统会自动识别并弹出图形安装界面,进行一系列安装(不过最保险的是通过 xmanager 中的 xbrowser 启动用户终端,这样只需要安装好 x11),如下 方式二 vnc 服务安装。

11、vnc 的优势流畅比 xmanege 快好多倍,以 vnc 方式安装,我们需要用 oracle 用户登录终端,并开启 vncserver

su – oracle

开启:vncserver :3  [vncserveradmin]    // 开启以 3 命名的 X

关闭:vncserver -kill :3

下载 vnc viewer https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-6.0.2-Windows-32bit.exe 

新建链接 –>ip: 会话号 —>vnc 密码 —> 登录密码  登陆,进入 database 目录,并执行  ./runInstaller

12、下面的安装方式 xmanege 和 vnc 就一样了,继续下走。

CentOS 7 下 Oracle 11gR2 安装最新详解CentOS 7 下 Oracle 11gR2 安装最新详解

13. 去掉勾,懒得填,个人使用环境不需要自动接收 Oracle 的安全更新。

CentOS 7 下 Oracle 11gR2 安装最新详解

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-04/142470p2.htm

14. 下一步,只安装数据库软件,个人用不要那些玩意~~

15. 选择单例安装,前面的所有配置均为单例安装。

CentOS 7 下 Oracle 11gR2 安装最新详解

16、添加语言

CentOS 7 下 Oracle 11gR2 安装最新详解

17、默认安装版本企业版 -Enterprise Edition

CentOS 7 下 Oracle 11gR2 安装最新详解

18、确定数据软件的安装路径,自动读取前面 /home/Oracle/.bash_profile 中配置的值。

CentOS 7 下 Oracle 11gR2 安装最新详解

CentOS 7 下 Oracle 11gR2 安装最新详解

不知道作用是啥,就默认了,有时 vnc 报错弹框特小,根本不知道报错是什么,所以我用的还是 xmanege,虽然很慢,但报错信息全。如下

CentOS 7 下 Oracle 11gR2 安装最新详解

19、理论上要创建 Database Operation(OSOPER)Group:oper , 个人用,懒得建,就使用 dba 用户组

CentOS 7 下 Oracle 11gR2 安装最新详解

20、安装检查,按照提示信息一个一个解决。有些系统报错是因为现有的包的版本比检测要高,最后忽略即可。(点击 Check_Again 多检查几次)

CentOS 7 下 Oracle 11gR2 安装最新详解

21、准备完毕,fuck“Finish”开始安装。

CentOS 7 下 Oracle 11gR2 安装最新详解

CentOS 7 下 Oracle 11gR2 安装最新详解

千万不要以为这样就完成了,好多网上教程到这就完成了,安装过程的错也解决了,但是进入 sysdba 启动数据库就会

CentOS 7 下 Oracle 11gR2 安装最新详解

就这样耽误了我好几天的时间,一直重装,去解决那不必要的错误,类似 sem 设置了 oracle 没有识别到这种错。。。

oracle 不像 mysql 服务安装好后,直接可以登录,他需要单独配置数据库,让 sysdba 有库可登入。

另外为了让客户端可以登入,我们还要设置一下监听服务端口 1521,一般安装后默认就开启了。

前沿:最近因为工作的变动,接触了好多没接触的东西,一直在学习和熟悉业务,期间最有收获的就属于接触了除 MySQL 之外的数据库,首先对 Oracle 的安装记录一次。

建议:第一次安装的朋友们,不要顺着我的来,将安装包上传后,直接解压执行./runInstaller,根据报错去处理问题,这样会更深入一层次的了解 Oracle。

Oracle 和 MySQL 区别

1、Oracle 属于大型数据库,而 MySQL 属于中小型数据库,Oracle 市场占有 40%,MySQL 占 20%;

2、Oracle 非开源,需付费,提供售后,而 MySQL 开源免费,不过被 Oracle 收购后,不知道未来走势;

3、Oracle 支持大并发,大访问量,支持完全事务处理,而 MySQL 在 innodb 引擎的行级锁后才支持;

4、Oracle 是由用户决定内容,MySQL 是由数据库决定内容;

5、Oracle 逻辑备份时不锁表,MySQL 需锁表,而且一致性不如 Oracle;

6、Oracle 需要手动提交执行,MySQL 默认自动提交;

7、Oracle 安装需 3G 左右空间,MySQL 只需 150 多 M;

8、Oracle 三方管理工具较多,MySQL 很少。

安装 Oracle 服务

1、检查并安装必要的软件包

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl-devel sysstat  unixODBC unixODBC-devel

yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat  ld-linux.so.2  unixODBC unixODBC-devel

yum install libXp  libXp.i686    // 否则会报 java Exception

wget http://mirror.CentOS.org/centos/5/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm

wget ftp://rpmfind.net/linux/openSUSE/distribution/13.1/repo/oss/suse/i586/pdksh-5.2.14-948.1.2.i586.rpm   32 位的

rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm –force –nodeps

2、检查 swap 是否有 16G

grep SwapTotal /proc/meminfo  // 若小于 16G,执行下面

dd if=/dev/zero of=/data/swap  bs=1G count=9

mkswap /data/swap  &&  swapon  /data/swap

vim /etc/fstab(add)

/data/swap  swap  swap defaults  0  0

mount -a

3、添加用户和组

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle(oracleadmin)

4、配置内核参数

vim /etc/sysctl.conf

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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

kernel.shmall = 2097152                                 

// 表示系统一次可以使用的共享内存总量(以页为单位)。缺 省值就是 2097152,通常不需要修改

kernel.shmmax = 2147483648                       

 // 共享内存段的最大尺寸(字节)。缺省 32M,对于 oracle 来说,该缺省值太低了,通常将其设置为 2G

kernel.shmmni = 4096                                   

 // 用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096。通常不需要更改

kernel.sem = 250 32000 100 128  // 表示设置的信号量

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default=4194304  // 默认的接收窗口大小

net.core.rmem_max=4194304       // 接收窗口的最大大小

net.core.wmem_default=262144    // 默认的发送窗口大小

net.core.wmem_max=262144   

 

sysctl  -p   // 使之立即生效

5、修改用户限制

vim /etc/security/limits.conf

oracle          soft    nproc  2047
oracle          hard    nproc  16384
oracle          soft    nofile  1024
oracle          hard    nofile  65536

6、修改用户验证选项

vim /etc/pam.d/login

session required /lib64/security/pam_limits.so
session required pam_limits.so

7、修改用户配置文件

vim /etc/profile

if [$USER = “oracle”]; then
        if [$SHELL = “/bin/ksh”]; then
              ulimit -p 16384
              ulimit -n 65536
        else
              ulimit -u 16384 -n 65536
        fi
fi

8、修改用户

vim  /home/oracle/.bash_profile

export ORACLE_BASE=/usr/local/oracle     #oracle 数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product    #oracle 数据库路径
export ORACLE_SID=orcl #oracle      #启动数据库实例名
export ORACLE_TERM=xterm       #xterm 窗口模式安装
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH    #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib    #添加系统环境变量
export LANG=C    #防止安装过程出现乱码

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

# 设置 Oracle 客户端字符集,必须与 Oracle 安装时设置的字符集保持一致,

mkdir -p /usr/local/oracle/product

chown -R oracle:oinstall  /usr/local/oracle/

source /home/oracle/.bash_profile

注:云机器默认无法用 ctrl+alt+f7 切换至图形界面,而且无 gnom 桌面,所以为了识别 >256color,进行以下操作

yum groupinstall “X Window System”

##yum groupinstall “GNOME Desktop”    // 我试了下,注释部分不安装也可,你也可以试试

yum install xdpyinfo xorg-x11-server-utils-7.7-14.el7  #tigervnc-server // 不适用 vnc 可以不安装服务

##(root)vncserver && 密码 =vncserveradmin  && export DISPLAY=localhost:1

##xhost +  // 让所有 IP 可以介入

9、oracle 用户登录,并测试环境变量是否成功

su – oracle

env | grep ORA   // 检查环境变量是否设置生效

10、下载 oracle,并安装

linux.x64_11gR2_database_1of2.zip

linux.x64_11gR2_database_2of2.zip

解压这俩安装包,会出来个 database 目录,进入该目录

执行:./runInstaller

11、若以 xhell 运行时,系统并配有 xmanege 程序,通过配置如下 x11 转发(两个 11 步,选一即可)

CentOS 7 下 Oracle 11gR2 安装最新详解

系统会自动识别并弹出图形安装界面,进行一系列安装(不过最保险的是通过 xmanager 中的 xbrowser 启动用户终端,这样只需要安装好 x11),如下 方式二 vnc 服务安装。

11、vnc 的优势流畅比 xmanege 快好多倍,以 vnc 方式安装,我们需要用 oracle 用户登录终端,并开启 vncserver

su – oracle

开启:vncserver :3  [vncserveradmin]    // 开启以 3 命名的 X

关闭:vncserver -kill :3

下载 vnc viewer https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-6.0.2-Windows-32bit.exe 

新建链接 –>ip: 会话号 —>vnc 密码 —> 登录密码  登陆,进入 database 目录,并执行  ./runInstaller

12、下面的安装方式 xmanege 和 vnc 就一样了,继续下走。

CentOS 7 下 Oracle 11gR2 安装最新详解CentOS 7 下 Oracle 11gR2 安装最新详解

13. 去掉勾,懒得填,个人使用环境不需要自动接收 Oracle 的安全更新。

CentOS 7 下 Oracle 11gR2 安装最新详解

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-04/142470p2.htm

配置监听服务 和 数据库

1、执行 netmgr(配置你创建的监听服务配置,监听你创建的数据库实例)

命令 netca(主要用来配置监听和配置 NET 服务名, 以便远程连接数据库。)

执行 dbca(创建数据库、配置现有库选项、删除数据库、管理模板 =configretion assistant)

CentOS 7 下 Oracle 11gR2 安装最新详解

CentOS 7 下 Oracle 11gR2 安装最新详解

CentOS 7 下 Oracle 11gR2 安装最新详解

CentOS 7 下 Oracle 11gR2 安装最新详解

2、设置现有的 sid,默认是前面写的,当然可以自己定义,只不过自定义之后还得手动改 env

CentOS 7 下 Oracle 11gR2 安装最新详解

CentOS 7 下 Oracle 11gR2 安装最新详解

3、可以为每一个设一个密码,也可以让他们共用一个密码,之后 sys 和 system 可以改的

CentOS 7 下 Oracle 11gR2 安装最新详解

4、数据库文件安装的位置,,最好是 $Oracle_BASE 下

CentOS 7 下 Oracle 11gR2 安装最新详解

5、选择备份快速恢复的目录

CentOS 7 下 Oracle 11gR2 安装最新详解

CentOS 7 下 Oracle 11gR2 安装最新详解

CentOS 7 下 Oracle 11gR2 安装最新详解

CentOS 7 下 Oracle 11gR2 安装最新详解

CentOS 7 下 Oracle 11gR2 安装最新详解

CentOS 7 下 Oracle 11gR2 安装最新详解

6、chown oracle.oinstall /etc/oratab  // 再点击 ok

CentOS 7 下 Oracle 11gR2 安装最新详解

7、测试
sqlplus / as sysdba

SQL> create table z_test(id number,name varchar(20));
SQL> insert into z_test select 1,’a’ from dual;
SQL> select * from z_test;

CentOS 7 下 Oracle 11gR2 安装最新详解

附加测试:

lsnrctl stop        // 停止监听器
lsnrctl start          // 启动监听器

sqlplus /nolog      // 无密码登陆
SQL> connect / as sysdba;    // 选择 oracle 数据库
SQL> shutdown  immediate  // 立即停止数据库实例
SQL> startup            // 启动数据库实例

更多 Oracle 相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-04/142470.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计10298字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中