在CentOS7上安装Oracle11

一、概述

Oracle有两种安装方式,桌面安装和静默安装。这里我采用桌面安装的方式。
不得不说,Oracle真的是我目前为止安装过的最麻烦的软件没有之一,比K8S还麻烦,Oracle,真有你的!废话不多说,臭宝们,准备好了吗,要开始咯。

二、操作系统环境准备

1.设置图形化界面启动

CentOS7操作系统,查看CentOS7是否有桌面环境:

[root@localhost ~]# systemctl get-default
graphical.target

我这里默认就是桌面形式了,如果没有安装桌面,就需要安装一下
用命令行安装GNOME包:

[root@localhost ~]#yum groupinstall "GNOME Desktop" "Graphical Administration Tools"

更新系统的运行级别为graphical.target,设置默认启动图形界面:

[root@localhost ~]#systemctl set-default graphical.target

创建符号链接,将图形用户界面graphical.target链接到系统的默认启动目标default.target

[root@localhost ~]#ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

再次查看系统默认启动:

[root@localhost ~]#systemctl get-default  
graphical.target

重启系统reboot,开机就能进入图形界面,按照提示设置用户登录密码,语言和时区等。
遇到的问题:开机后出现如下界面:
在这里插入图片描述
解决办法:
在系统上安装相关插件:

sudo yum history package-list gjs
sudo yum history package-list gnome-shell
sudo yum update --skip-broken

最后一个命令需要的时间较长,需要耐心等待。
安装完成后再重启:sudo shutdown -r now

三、软件环境准备

Oracle11的安装包上传到服务器上:

  • linux.x64_11gR2_database_1of2.zip
  • linux.x64_11gR2_database_2of2.zip
1.关闭防火墙
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# vim /etc/selinux/config

# SELINUX=enforcing改为SELINUX=disabled,保存退出
2.安装一系列软件包

用于开发环境和系统管理,包括编译工具链、开发库、系统工具和网络工具

[root@localhost ~]# yum install -y automake autotools-dev binutils bzip2 elfutils expat \
gawk gcc gcc-multilib g++-multilib lib32ncurses5 lib32z1 \
ksh less lib32z1 libaio1 libaio-dev libc6-dev libc6-dev-i386 \
libc6-i386 libelf-dev libltdl-dev libodbcinstq4-1 libodbcinstq4-1:i386 \
libpth-dev libpthread-stubs0-dev libstdc++5 make openssh-server rlwrap \
rpm sysstat unixodbc unixodbc-dev unzip x11-utils zlibc unzip cifs-utils \
libXext.x86_64  glibc.i686

四、Oracle环境准备

1.创建oracle用户和用户组,并设置用户密码
[root@localhost ~]# groupadd oinstall   # 创建一个名为"oinstall"的用户组
[root@localhost ~]# groupadd dba        # 创建一个名为"dba"的用户组
[root@localhost ~]# useradd -g oinstall -G dba -m oracle   # 创建一个名为"oracle"的用户,将其加入到"oinstall"用户组(-g选项),同时将其加入到"dba"用户组(-G选项),并使用-m选项创建用户的主目录。
[root@localhost ~]# passwd oracle    # 为用户"oracle"设置密码 Oracle123456
Changing password for user oracle.
New password: 
BAD PASSWORD: The password contains the user name in some form
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@localhost ~]# groups oracle
oracle : oinstall dba
[root@localhost ~]# id oracle   # 显示用户"oracle"的UID(用户ID)、GID(主组ID)以及附加组
uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)
2.创建安装目录
  • 创建Oracle数据库安装目录:mkdir -p /usr/local/src/data/oracle
  • 创建Oracle数据库配置文件目录:mkdir -p /usr/local/src/data/oraInventory
[root@localhost data]# pwd
/usr/local/src/data
[root@localhost data]# ls -l
total 0
drwxr-xr-x. 2 root root 6 May 25 00:00 oracle
drwxr-xr-x. 2 root root 6 May 25 00:01 oraInventory
3.解压Oracle数据库安装包并授权给oracle用户

上传安装包到这个目录下:

[root@localhost data]# ls -l
total 2295592
-rw-r--r--. 1 root root 1239269270 May 25 00:09 linux.x64_11gR2_database_1of2.zip
-rw-r--r--. 1 root root 1111416131 May 25 00:09 linux.x64_11gR2_database_2of2.zip
drwxr-xr-x. 2 root root          6 May 25 00:00 oracle
drwxr-xr-x. 2 root root          6 May 25 00:01 oraInventory

解压安装包,解压后自动生成的安装包目录database

[root@localhost data]# unzip linux.x64_11gR2_database_1of2.zip 
[root@localhost data]# unzip linux.x64_11gR2_database_2of2.zip
[root@localhost data]# ls -l
total 2295592
drwxr-xr-x. 8 root root        128 Aug 20  2009 database
-rw-r--r--. 1 root root 1239269270 May 25 00:09 linux.x64_11gR2_database_1of2.zip
-rw-r--r--. 1 root root 1111416131 May 25 00:09 linux.x64_11gR2_database_2of2.zip
drwxr-xr-x. 2 root root          6 May 25 00:00 oracle
drwxr-xr-x. 2 root root          6 May 25 00:01 oraInventory

并授予他们所属用户,所属组

[root@localhost src]# chown -R oracle:oinstall data/
[root@localhost src]# chmod -R 777 data/  # 给data下的所有文件授权
4.操作系统配置

将 IP 地址192.168.108.128(服务器ip) 映射到主机名localhostlocalhost.localdomain

[root@localhost data]# echo '192.168.108.128 localhost localhost.localdomain' >> /etc/hosts
5.对oracle用户设置限制,提高软件运行性能

编辑limits.conf 文件追加如下内容:

[root@localhost data]# vim /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle soft core unlimited
oracle hard core unlimited
oracle soft memlock 50000000
oracle hard memlock 50000000
6.修改用户登录认证

编辑/etc/pam.d/login文件,追加如下内容:

[root@localhost ~] vim /etc/pam.d/login
session required /lib64/security/pam_limits.so
session required pam_limits.so

五、Oracle环境变量配置

1.设置环境变量

ORACLE_HOME 设置为安装目录product下默认目录

[root@localhost ~] vim /etc/profile
#oracle
export ORACLE_HOME=/usr/local/src/data/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi
[root@localhost ~] source /etc/profile    # 使得环境变量生效

注意:这里记得在真正安装之前创建好这个目录,怕到时候在安装过程中换目录不成功,因为这里不是默认安装目录

2.修改oracle用户环境变量

编辑~/.bash_profile,追加如下内容

[root@localhost ~] vim ~/.bash_profile

export ORACLE_BASE=/usr/local/src/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export NLS_LANG=.AL32UTF8
export PATH=${PATH}:${ORACLE_HOME}/bin/:$ORACLE_HOME/lib64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

[root@localhost ~] source ~/.bash_profile  # 使得环境变量生效

六、开始图形化界面安装

使用root用户设置显示器为自己,即等会要弹出的oracle安装界面的显示。

[root@localhost ~]# DISPLAY=:0.0
[root@localhost ~]# export DISPLAY
[root@localhost ~]# echo $DISPLAY
:0.0

查看当前X服务器的访问控制列表:

[root@localhost ~]# xhost
access control enabled, only authorized clients can connect

关闭X服务器的访问控制,允许任何主机上的客户端连接

[root@localhost ~]# xhost +
access control disabled, clients can connect from any host

切换到Oracle用户准备开始安装:

[root@localhost ~]# su - oracle
[oracle@oracle ~]$ DISPLAY=:0.0
[oracle@localhost ~]$ export DISPLAY
[oracle@localhost ~]$ echo $DISPLAY
[oracle@localhost ~]$ cd /usr/local/src/data/database # 临时修改编码
[oracle@localhost database]$ export LANG=en_US.UTF-8 # 设置显示弹框
[oracle@localhost database]$ ./runInstaller
1.不需要填这些,下一步

在这里插入图片描述

2.安装方式

选第二个:仅安装数据库
在这里插入图片描述

3.单实例安装

在这里插入图片描述

4.默认英文

在这里插入图片描述

5.默认

在这里插入图片描述

6.修改安装位置

在这里插入图片描述

7.默认

在这里插入图片描述

8.group为oinstall

在这里插入图片描述

9.勾选ignore all

在这里插入图片描述

10.finish

在这里插入图片描述

11.执行过程报错

在这里插入图片描述

解决:可能是glibc版本过高导致;
重新安装glibc:
查看

sudo find / -name 'libc.a'

安装glibc:

[root@localhost src]# sudo yum install glibc-static
[root@localhost src]# ldd --version  # 查看版本
ldd (GNU libc) 2.17
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

修改文件/usr/local/src/data/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk,将

ctxhx: $(CTXHXOBJ)
	$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)

修改为:

ctxhx: $(CTXHXOBJ)
	-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a

在这里插入图片描述

修改完成后点击重试 ,又报错:(如果出现的错误还是上一个,可以再点击一次重试)
在这里插入图片描述
解决:
修改
/usr/local/src/data/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk文件,将

$(SYSMANBIN)emdctl:
        $(MK_EMAGENT_NMECTL)

修改为:

$(SYSMANBIN)emdctl:
        $(MK_EMAGENT_NMECTL) -lnnz11

在这里插入图片描述
点击重试

11.执行脚本

在这里插入图片描述

执行:orainstRoot.sh

[root@localhost oraInventory]# ls
ContentsXML  install.platform  logs  oraInstaller.properties  oraInst.loc  orainstRoot.sh  oui
[root@localhost oraInventory]# sh orainstRoot.sh 
Changing permissions of /usr/local/src/data/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /usr/local/src/data/oraInventory to oinstall.
The execution of the script is complete.

执行:root.sh

[root@localhost dbhome_1]# pwd
/usr/local/src/data/oracle/product/11.2.0/dbhome_1
[root@localhost dbhome_1]# ls
apex        ccr          clone   csmig  cv      deinstall    dv     hs       install.platform  j2ee    jdev  ldap  md    network  odbc  OPatch   oraInst.loc  owb   plsql    rdbms     scheduler     sqlj     sysman           uix  xdk
assistants  cdata        config  css    dbs     demo         emcli  ide      instantclient     javavm  jdk   lib   mesg  nls      olap  opmn     ord          owm   precomp  relnotes  slax          sqlplus  timingframework  utl
bin         cfgtoollogs  crs     ctx    dc_ocm  diagnostics  has    install  inventory         jdbc    jlib  log   mgw   oc4j     ons   oracore  oui          perl  racg     root.sh   sqldeveloper  srvm     ucp              wwg
[root@localhost dbhome_1]# sh root.sh 
Running Oracle 11g root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /usr/local/src/data/oracle/product/11.2.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
[root@localhost dbhome_1]#

执行完之后点击ok:安装完成
在这里插入图片描述

七、图形化界面创建数据库新开一个窗口进行配置

[oracle@localhost ~]$ DISPLAY=:0.0
[oracle@localhost ~]$ export DISPLAY
[oracle@localhost ~]$ echo $DISPLAY
:0.0
[oracle@localhost ~]$ export LANG=en_US.UTF-8
[oracle@localhost ~]$ dbca
bash: dbca: command not found…

报错:bash: dbca: command not found…

解决:使用Oracle用户去配置Oracle用户环境变量,即前面的 五-2

1.开始数据库创建

在这里插入图片描述

2.创建数据库

在这里插入图片描述

3.选择一般用途

在这里插入图片描述

4.填写全局数据库与sid

在这里插入图片描述

5.不匹配EM(两个都取消勾选)

在这里插入图片描述

6.给system用户设置密码

Oracle123456
在这里插入图片描述

7.使用默认数据库文件

在这里插入图片描述

8.指定快速恢复区

在这里插入图片描述

9.将实例方案添加到数据库

在这里插入图片描述

10.字符集选择utf-8

在这里插入图片描述

11.数据库存储

在这里插入图片描述

12.创建数据库和数据库脚本

在这里插入图片描述

13.安装的这个步骤会很漫长

出现一个光标悬浮就是正在安装
在这里插入图片描述

14.密码配置

在这里插入图片描述
到这一步已经是好的了,如果卡着,直接关掉就好了;如果没卡,那就可以点击按钮去解锁你想要使用的账户。

八、启动数据库

1.启动监听
[oracle@localhost ~]$ lsnrctl  start

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 25-MAY-2024 07:47:20

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Starting /usr/local/src/data/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Log messages written to /usr/local/src/data/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                25-MAY-2024 07:47:20
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Log File         /usr/local/src/data/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
The listener supports no services
The command completed successfully
2.进入sql客户端工具
[oracle@localhost ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Sat May 25 07:48:55 2024

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> 
3.使用dba权限连接Oralce
SQL> connect / as sysdba
Connected.
4.启动数据库
SQL> startup
ORACLE instance started.

Total System Global Area  417546240 bytes
Fixed Size		    2213936 bytes
Variable Size		  297797584 bytes
Database Buffers	  113246208 bytes
Redo Buffers		    4288512 bytes
Database mounted.
Database opened.

最后,使用客户端工具链接成功(使用system用户登录,安装的过程中配置的密码是system用户的):
在这里插入图片描述

本来,在我第一次安装,启动数据库的过程中还遇到了很多问题,但是第二次安装(换了一台电脑),神奇的没遇到一个问题了;由于搜过的问题太多了,不好整理出来了;不过只要按照我上面的步骤来,应该是没问题的。除非是在前面的步骤有操作错误的地方,可能会导致最后启动失败;如果大家还遇到了任何其他问题,欢迎给我评论留言,我会一一解答,再补充到文章里。
臭宝,难得你能看到这里,爱你哦。

  • 21
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值