CentOS7.4下安装Oracle 11gR2

安装环境:

系统:CentOS7.4  4核4G  磁盘50G

Oracle软件版本:linux.x64_11gR2_database_1of2.zip

                             linux.x64_11gR2_database_2of2.zip

一、下载Oracle

官方下载地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

官网下载需要登陆Oracle账号,没有的可以注册一个。

这里我分享一个百度云盘的下载链接(只有64位的):https://pan.baidu.com/s/1gsyVwVs0C0KjvHE5xgN5YA 密码: v65p

二、关闭安全措施

1.关闭防火墙:systemctl stop firewalld(由于是测试环境,为了方便,将防火墙关闭。但是,在正式的生产环境,千万不要这样做。)

当然我们也可以不关闭防火墙,只需要开放1521端口(oracle默认是1521端口,如果你修改为其它的端口了,这里就要开放对应的端口)

firewall-cmd --zone=public --add-port=1521/tcp --permanent  //放开1521端口

firewall-cmd --reload  //在不改变状态的条件下重新加载防火墙配置文件

 

其他常用命令:

查看防火墙的状态:systemctl status firewalld

启动防火墙服务:systemctl start firewalld

禁用防火墙:systemctl disable firewalld

重载配置文件:firewall-cmd --reload

查看已经开放的端口:firewall-cmd --list-ports

2.关闭selinux(需重启生效)

selinux提供了很多Linux的系统安全措施,演示系统中,将其关闭,方便操作。需要注意的是,在正式生产环境下,千万不要这样做。

执行命令getenforce(或者sestatus -v)查看selinux的状态,初始安装的CentOS7是打开状态。

vim /etc/selinux/config,修改SELINUX的值为disabled

CentOS7.4下安装Oracle 11gR2_第1张图片

修改了之后需要重启服务器,selinux才能生效(这一步非常重要),重启后可以通过getenforce(或者sestatus -v)命令来查看,值一定要disabled才行。

三、创建运行oracle数据库的用户和用户组

[Solin@Solin ~]$ su root    #切换到root
密码:
[root@Solin Solin]# groupadd oinstall    #创建用户组oinstall
[root@Solin Solin]# groupadd dba    #创建用户组dba
[root@Solin Solin]# useradd -g oinstall -G dba -m oracle    #创建oracle用户,并加入到oinstall和dba用户组
[root@Solin Solin]# passwd oracle    #设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆
更改用户 oracle 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@Solin Solin]# id oracle    # 查看新建的oracle用户
uid=1001(oracle) gid=1001(oinstall) 组=1001(oinstall),1002(dba)
[root@Solin Solin]# 

关于创建的这些用户组的说明,请参考:https://blog.csdn.net/qq_32786873/article/details/82187346

四、修改oracle用户限制

执行vim /etc/security/limits.conf命令,编辑/etc/security/limits.conf文件,修改操作系统对oracle用户资源的限制。在该文件中添加如下行:

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

关于limits.conf的配置请参考:https://blog.csdn.net/qq_32786873/article/details/82190224

要使limits.conf文件配置生效,必须要确保pam_limits.so文件被加入到启动文件中。

编辑文件:vim /etc/pam.d/login,加入以下语句:

session    required     pam_limits.so

编辑 /etc/profile ,输入命令:vim /etc/profile,按i键进入编辑模式,将下列内容加入该文件。

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

五、调整内核参数

要求配置:

参数 最小值 文件 命令

semmsl
semmns
semopm
semmni

250
32000
100
128

/proc/sys/kernel/sem

# /sbin/sysctl -a | grep sem

shmall

2097152

/proc/sys/kernel/shmall

# /sbin/sysctl -a | grep shm

shmmax

536870912

/proc/sys/kernel/shmmax
// 最大共享内存,官方文档建议是内存的1/2
// 我的服务器是4G内存,所以为2*1024*1024*1024
// 最小值为536870912(1G内存/2)

# /sbin/sysctl -a | grep shm

shmmni

4096

/proc/sys/kernel/shmmni

# /sbin/sysctl -a | grep shm

file-max

6815744

/proc/sys/fs/file-max

# /sbin/sysctl -a | grep file-max

ip_local_port_range

9000 65500

/proc/sys/net/ipv4/ip_local_port_range

# /sbin/sysctl -a | grep ip_local_port_range
rmem_default

262144 

/proc/sys/net/core/rmem_default

# /sbin/sysctl -a | grep rmem_default
rmem_max

4194304

/proc/sys/net/core/rmem_max

# /sbin/sysctl -a | grep rmem_max
wmem_default

262144

/proc/sys/net/core/wmem_default

# /sbin/sysctl -a | grep wmem_default

wmem_max 

1048576

/proc/sys/net/core/wmem_max

# /sbin/sysctl -a | grep wmem_max

aio-max-nr 1048576 /proc/sys/fs/aio-max-nr # /sbin/sysctl -a | grep aio-max-nr

编辑/etc/sysctl.conf文件,设置相关参数的系统默认值。如果该文件中已有相关参数的设置,则确保参数值不小于如下对应值;如果还没有相关参数的设置,则按照如下格式添加相应的参数设置行。 

fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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 = 1048576

要使 /etc/sysctl.conf 更改立即生效,执行以下命令。 输入:sysctl -p 显示如下:

(-p:从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载)

CentOS7.4下安装Oracle 11gR2_第2张图片

六、创建数据库软件目录和数据文件存放目录(目录的位置,根据自己的情况来定),并改变相应的权限

mkdir -p /opt/oracle/product    #创建oracle安装目录
mkdir -p /opt/oracle/oradata    #创建oracle数据文件存放目录
mkdir -p /opt/oracle/oraInventory    #创建oracle数据库清单目录 
chown -R oracle:oinstall /opt/oracle    #设置oracle用户为目录的所有者
chmod -R 775 /opt/oracle/    #修改权限

七、配置oracle用户的环境变量

1.切换到新创建的oracle用户下:su oracle

2.输入命令:vim /home/oracle/.bash_profile

3.按i进入编辑模式,增加以下内容

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

#不加下面的2行,我安装的时候界面都是乱码
export NLS_LANG=AMERICAN_AMERICA.UTF8
export LANG=en_US.UTF8


PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin

export PATH

4.执行命令source /home/oracle/.bash_profile,让配置立即生效。

八、安装Oracle

1.使用Xftp将下载好的Oracle安装文件上传到CentOs上去,我这里放到了/home/oracle目录下

2.使用unzip命令解压oracle安装文件,如:

unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

CentOS7.4下安装Oracle 11gR2_第3张图片

3.解压完成后进入其解压后的目录database,使用ls命令可以查看解压后database所包含的文件,如下图:

4.执行安装,输入命令:./runInstaller -jreLoc /usr/lib/jvm/jre-1.8.0(我直接使用命令./runInstaller安装时会出现提示框显示不完全的问题

(安装过程中如果出现问题,可以参考:https://blog.csdn.net/qq_32786873/article/details/82257870)

CentOS7.4下安装Oracle 11gR2_第4张图片

CentOS7.4下安装Oracle 11gR2_第5张图片

5.取消选中这个界面上的I wish to receive security updates via My Oracle Support复选框,点击Next

CentOS7.4下安装Oracle 11gR2_第6张图片

CentOS7.4下安装Oracle 11gR2_第7张图片

6.在Select Installation Option(选择安装选项)界面上,选择Install database software only选项,点击Next

Create and configure a database(创建和配置数据库)  这个选项是默认的安装选项,它安装Oracle RAC二进制文件,并根据预先配置的模板创建一个数据库。这个选项对于初学者非常有用,因为Oracle为不同类型的工作量提供了不同模板,如用于OLTP和决策支持系统的不同模板。

Install database software only(仅安装数据库软件)  这个选项在集群中的所有服务器上安装Oracle RAC软件。数据库管理员大多使用这一选项,这样,在安装了Oracle RAC二进制文件之后,他们可以使用数据库配置助手来创建数据库,从而拥有更大的灵活性。

Upgrade an existing database(升级已有数据库)  这一选项对集群中的已有Oracle RAC数据库进行升级。

CentOS7.4下安装Oracle 11gR2_第8张图片

7.在Grid Installation Options(网格安装选项)界面上,可以选择以下2种选项之一:

Single instance database installation(单实例数据库安装)  这一选项允许仅在本地节点上安装单实例数据库软件。

Real Application Clusters database installation(Oracle RAC数据库安装)  这一选项允许在集群中的选定节点上选择和安装Oracle RAC二进制文件。

在这个界面上,选择Single instance database installation选项,点击Next

CentOS7.4下安装Oracle 11gR2_第9张图片

8.在Select Product Languages界面,选择安装语言(默认情况下选择英文),点击Next

CentOS7.4下安装Oracle 11gR2_第10张图片

9.在Select Database Edition(选择数据库版本)界面,选择企业版,点击Next

CentOS7.4下安装Oracle 11gR2_第11张图片

10.在Specify Installation Location界面,为Oracle Base和Software Location指定存储位置,点击Next

CentOS7.4下安装Oracle 11gR2_第12张图片

11.选择清单目录、指定清单组名称,点击Next

CentOS7.4下安装Oracle 11gR2_第13张图片

CentOS7.4下安装Oracle 11gR2_第14张图片

12.在Privileged Operating System Groups界面,从提供的值列表中选择数据库管理员和数据库操作员操作系统组,点击Next

CentOS7.4下安装Oracle 11gR2_第15张图片

13.安装到这一步,可以看到,检查到有很多的包报错

切换到root用户,然后使用命令一个一个的安装,例如:yum install -y libaio*

(针对pdksh找不到的问题,安装ksh即可。据说oracle使用新的ksh了,但是检查脚本中还使用的是pdksh)

CentOS7.4下安装Oracle 11gR2_第16张图片

当所有包都安装完成后,点击"Check  Again"

CentOS7.4下安装Oracle 11gR2_第17张图片

可以看到还是有错,有些系统报错是因为现有的包的版本比检测的要高,Oracle 11g check的时候不识别高版本lib包,我们把右上角的"Ignore All"勾选上,然后点击Next

14在Summary界面,点击Finish

CentOS7.4下安装Oracle 11gR2_第18张图片

15.安装过程需要点时间,我们耐心等候,安装完成后点击close,结束

CentOS7.4下安装Oracle 11gR2_第19张图片

CentOS7.4下安装Oracle 11gR2_第20张图片

九、配置监听(有一个默认配置,此步骤可以省略)

其实安装oracle11g后,就已经有默认配置了,如下图:

CentOS7.4下安装Oracle 11gR2_第21张图片

接下来我们演示下如何新增一个监听

1.执行netca命令,选择"Listener configuration",点击Next

CentOS7.4下安装Oracle 11gR2_第22张图片

2.选择"Add",点击Next

CentOS7.4下安装Oracle 11gR2_第23张图片

3.输入监听程序名,点击Next

CentOS7.4下安装Oracle 11gR2_第24张图片

4.选择TCP协议,点击Next

CentOS7.4下安装Oracle 11gR2_第25张图片

5.选择端口号,点击Next

CentOS7.4下安装Oracle 11gR2_第26张图片

6.选择"Yes",点击Next

CentOS7.4下安装Oracle 11gR2_第27张图片

7.点击Finish完成配置

CentOS7.4下安装Oracle 11gR2_第28张图片

可以在listener.ora中看到我们添加的配置

CentOS7.4下安装Oracle 11gR2_第29张图片

十、创建Oracle数据实例

注意:必须先创建监听,并且监听是启动中,否则报错。

1.执行dbca命令,启动oracle实例安装界面,点击Next

CentOS7.4下安装Oracle 11gR2_第30张图片

2.选择"Create a Database",点击Next

CentOS7.4下安装Oracle 11gR2_第31张图片

3.选择"Custom Database",点击Next

CentOS7.4下安装Oracle 11gR2_第32张图片

4.这里需要填上之前在环境变量文件中写的sid,点击Next

CentOS7.4下安装Oracle 11gR2_第33张图片

5.取消选中Configure Enterprise Manager复选框,点击Next。(如果希望使用企业管理器来管理这个数据库,那么可以选中Configure Enterprise Manager复选框)

CentOS7.4下安装Oracle 11gR2_第34张图片

6.可以选择Use Different Administrative Passwords(使用不同管理密码)选项,为这些管理账户使用不同密码,为了方便,我选择Use the Same Administrative Password for All Accounts(为所有账户使用相同密码)选项,输入并确认密码,然后点击Next

CentOS7.4下安装Oracle 11gR2_第35张图片

7.因为安装oracle11g后,就已经有一个默认监听配置了,而我自己又加了一个监听配置,所以需要选择监听。(如果没有自己增加过监听配置,则不会出现下面的页面)

CentOS7.4下安装Oracle 11gR2_第36张图片

8.这里我们使用默认值,点击Next

CentOS7.4下安装Oracle 11gR2_第37张图片

9.由于是自己测试用的,我就不使用快速恢复区域和存档,所以取消选中这个界面上的Specify Flash Recovery Area和Enable Archiving复选框,然后点击Next

CentOS7.4下安装Oracle 11gR2_第38张图片

10.勾选"Enterprise Manager Repository"选项,点击Next

CentOS7.4下安装Oracle 11gR2_第39张图片

11.在Initialization Parameters界面中,可以指定一些初始化参数。在Memory选项卡中,可以指定Oracle数据库使用的内存。在Sizing选项卡中,可以设置数据块大小、进程数量。在Character Sets(字符集)选项卡中,可以选择这个数据库的字符集、默认语言和日期格式。在Connection Mode(连接模式)选项卡中,可以指定数据库的连接模式。默认情况下,Oracle使用Dedicated Server(专用服务器)模式。在这一阶段,唯一必须知道的重要事情就是这个数据库的字符集和数据块大小。选择适当的字符集和数据块大小,其他初始化参数集保留默认即可,可以在以后对它们进行优化调整。

CentOS7.4下安装Oracle 11gR2_第40张图片

CentOS7.4下安装Oracle 11gR2_第41张图片

CentOS7.4下安装Oracle 11gR2_第42张图片

CentOS7.4下安装Oracle 11gR2_第43张图片

12.在Database Storage(数据库存储)界面,可以指定数据文件、控制文件和重做日志组的位置。还可以为数据文件和重做日志指定文件位置变量。设置完成后,点击Next

CentOS7.4下安装Oracle 11gR2_第44张图片

13.勾选"Create Database",点击Finish开始创建数据库(可以根据自己的需要选择生成用于创建数据库的脚本)

CentOS7.4下安装Oracle 11gR2_第45张图片

CentOS7.4下安装Oracle 11gR2_第46张图片

14.这个过程需要点时间,我们耐心等候。。。

CentOS7.4下安装Oracle 11gR2_第47张图片

CentOS7.4下安装Oracle 11gR2_第48张图片

CentOS7.4下安装Oracle 11gR2_第49张图片

可以直接点击"Exit"完成数据库的创建,也可以点击"Password Management...",在弹出的窗口中解锁需要使用的用户,然后点击"OK"

CentOS7.4下安装Oracle 11gR2_第50张图片

十一、数据库创建完毕后,测试是否创建成功

通过 sqlplus / as sysdba(或sqlplus /nolog)  与  select * from dual; 指令进行测试

CentOS7.4下安装Oracle 11gR2_第51张图片

你可能感兴趣的:(◆数据库,······【Oracle】,◆Linux)