CentOS7.7下安装Oracle 11gR2

参考文章:

https://blog.csdn.net/qq_32786873/article/details/82110235?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.channel_param

说明:有些图和参考文章一致就不一 一截图,故直接借用作者的图。

一、下载oracle安装包

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

注意:在oracle官网选择 Linux x86-64

二、centos7桌面化

输入以下两条指令将centos7桌面化

yum groupinstall "X Window System" -y
yum groupinstall "GNOME Desktop" -y

安装完后重启则Linux具有桌面化.

重启命令为:reboot

重启后界面如下:

 

 

centos7安装oracle数据库所属的包:

https://download.csdn.net/download/xiaogunagmei/12881585

rpm -ivh binutils-2.23.52.0.1-55.el7.x86_64.rpm elfutils-libelf-0.163-3.el7.x86_64.rpm expat-2.1.0-8.el7.x86_64.rpm glibc-2.17-105.el7.x86_64.rpm glibc-common-2.17-105.el7.x86_64.rpm libaio-0.3.109-13.el7.x86_64.rpm libgcc-4.8.5-4.el7.x86_64.rpm libstdc++-4.8.5-4.el7.x86_64.rpm make-3.82-21.el7.x86_64.rpm

三、关闭安全措施

1.关闭防火墙

在关闭防火墙之前先开放1521端口,此端口是oracle默认开放端口

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

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

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

修改了后需要重启服务器,selinux才能生效,重启后执行命令 sestatus -v 查看selinux的状态

四、创建运行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]# 

五、修改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文件配置生效,必须要确保pam_limits.so文件被加入到启动文件中。

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

编辑 /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

 

六、调整内核参数

编辑/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 显示如下:

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

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

注意:在安装oracle数据库时,要用oracle用户登录才能进行后面的安装,否则后面会导致安装失败

进入桌面如下,进入之后鼠标右击进入到命令行终端

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

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

这里需要注意下:将两个包解压,这里需要将2解压出的

用xftp这些包复制到1的database\stage\Components下,如下图:

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

3.执行安装,输入命令:./runInstaller

10.Oracle图形安装界面

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

 

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

 

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

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

 

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

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

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

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

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

当所有包都安装完成后,点击"Check  Again",还剩一下包还没安装,请到以下链接中下载所属的其他安装包,

https://download.csdn.net/download/xiaogunagmei/12881585

下载后上传到放到Linux,tar zxvf centos7.2-oracle.tar.gz

然后采用 rpm -ivh ***.rpm 进行离线包安装

安装完后,点击忽略全部,进行下一步即可.

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

在Summary界面,点击Finish

 

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

 

当安装到84%时报了以下错误,

解决方法:修改oracle安装目录下 $ORACLE_HOME/ctx/lib/ins_ctx.mk

将:

修改为:

然后点击retry通过

接着报以下错误:

解决方法:修改 $ORACLE_HOME/sysman/lib/ins_emagent.mk

改为:

然后点击retry通过

然后耐心等待就可以了。

 

 

完成后如下显示:这里有两个脚本需要执行,位置如下,找到该脚本,切换root权限执行即可完成!

执行脚本:

十一、配置监听

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

2.选择"Add",点击Next

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

4.选择TCP协议,点击Next

5.选择端口号,点击Next

6.选择"Yes",点击Next

7.点击Finish完成配置

十二、创建Oracle数据实例

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

监听命令如下:

lsnrctl status //查看监听状态
lsnrctl start //开启监听
lsnrctl stop //停止监听

lsnrctl start 监听名称  //开启某个监听

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

ps:实例创建完成后,重新启动Linux时,使用Navicat连接时报以下错误,这是因为oracle的实例没有启动

ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

解决方法如下:

用dbstart和dbshut启动和关闭数据库实例       

先启动监听

lsnrctl start


启动实例 

dbstart
 
使用dbstart命令启动数据库比较方便,但是在linux上安装好oracle之后,第一次使用dbstart命令可能会报如下错误:
 
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
Usage: /u01/app/oracle/oracle/product/10.2.0/db_1/bin/dbstart ORACLE_HOME

原因:
dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题,分别打开两个文件找到:用vi编辑dbstart,ORACLE_HOME_LISTNER=$1,修改为
ORACLE_HOME_LISTNER=$ORACLE_HOME
 

两个文件路径如下:


 
然后保存退出,此时再运行dbstart,已经不报错了,但是没有任何反应,ps一下进程,没有oracle的进程,说明oracle实例没有正常启动。
 
此时的原因是在/etc/oratab的设置问题,我们vi一下,发现
zgz:/home/oracle/product/10g:N
最后设置的是"N"(我的环境中只有一个实例,因此只有一行配置语句),我们需要把“N”修改为“Y”。
 
以上的工作做好之后,dbstart就可以正常使用了:

                 

   --“启动监听”  

lsnrctl start 

         

  --“启动数据库实例”                     

dbstart 

 

--“关闭数据库实例”

dbshut 

 

--“关闭监听”

lsnrctl stop 

 

 

附:

oracle启动多个实例

今天重启服务器后,oracle数据库只启动了一个实例(orcl启动,orcl2未启动),上网搜索方法如下

1、按照正常启动流程启动     

      $lsnrctl start 

      $dbstart

      这样orcl已启动,并可以连接

2、启动orcl2

     $export ORACLE_SID=ORCL2

     $sqlplus / as sysdba

     SQL> startup

     即可

3、在启动orcl2时出现

      ORA-01078: failure in processing system parameters
      LRM-00109: could not open parameter file '/oracle/product/11.1.0/dbs/initorcl2.ora' 提示

     参考http://www.233.com/oracle/zonghe/20110617/173025286.html

     将$ORACLE_BASE/admin/数据库名称/pfile目录下的init.ora.012009233838形式的文件copy 到

第三步有错:

oracle启动,提示“LRM-00109: could not open parameter file” 

LRM-00109: could not open parameter file '/home/oracle/oracle10g/dbs/initoms

今天连接Oracle数据库的时候,发现数据没启动,利用startup命令,出现错误提示如下:

SQL> startup
ORA-01078: failure in processing system   parameters
LRM-00109: could not open parameter file   '/oracle/10g/dbs/init10g.ora'


按提示查找相关目录的文件,果然不存在。

到网上查了一下资料。得到如果有用信息:是因为在oracle10g中,oracle默认将使用spfile启动数据库,如果spfile不存在,则就会出现上述错误。

解决方法:

将$ORACLE_BASE/admin/你的数据库名称/pfile/init.ora.628201264542(这串数字未必一样)
copy到$ORACLE_HOME/dbs目录下,并改名为你的数据库实例名即可。
例如:上面提示找不到init10g.ora这个文件,就改成 init10g.ora

重新执行

starup命令即可启动成功

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值