网站搜索

如何在 RHEL/CentOS 7 上安装 Oracle Database 12c


Oracle 数据库是企业环境中使用最广泛的关系数据库管理系统 (RDBMS) 之一。该 RDBMS 由 Oracle Corporation 开发、维护和支持,通常安装在各种 Enterprise Linux(RHEL、CentOS 或 Scientific Linux)之上。这使得操作系统成为一个非常强大的数据库选择。

在本文中,我们将解释如何在 RHEL/CentOS 7 GUI 服务器上安装 Oracle 12c Release 2

注意:RHEL/CentOS 6 用户可以按照本指南在 RHEL/CentOS 6.x 上安装 Oracle Database 12c

让我们开始。

先决条件:

安装Oracle 12c后,将通过图形界面进行配置。这就是为什么我们需要一台安装了 X Window System 软件组的 CentOS 7 服务器。

另请阅读:在 RHEL/CentOS 7 服务器上安装 GUI (Gnome)

此外,请注意,下载 Oracle Database 12c 安装文件 (3.2 GB) 需要 Oracle 帐户。不过,不用担心这一点,因为您可以免费创建一个帐户。

最后,确保您的服务器至少有 2 GB RAM 和 30 GB 可用磁盘空间。这些硬件要求对于我们这样的测试环境来说是安全的,但如果您考虑在生产中使用 Oracle,则需要增加这些硬件要求。

准备 Oracle 12c 安装

1. 首先,请确保 RHEL/CentOS 7 系统上当前安装的所有软件包均已更新至最新版本。

yum update -y

2. 接下来,安装 RDBMS 所需的所有依赖项,以及 zip 和解压缩包。

yum install -y binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh compat-libstdc++-33 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64 zip unzip

3. 创建 Oracle 的用户帐户和组。

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle

最后,为新创建的oracle帐户设置密码。

passwd oracle

4.将以下内核参数添加到/etc/sysctl.conf文件中。

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

并应用它们:

sysctl -p
sysctl -a

5./etc/security/limits.conf文件中设置oracle的限制。

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

6. 创建名为 /stage 的目录并提取压缩的安装文件。

unzip linuxx64_12201_database.zip -d /stage/

在继续之前,创建实际安装期间将使用的其他目录,并分配必要的权限。

mkdir /u01
mkdir /u02
chown -R oracle:oinstall /u01
chown -R oracle:oinstall /u02
chmod -R 775 /u01
chmod -R 775 /u02
chmod g+s /u01
chmod g+s /u02

我们现在准备运行安装脚本。

7.RHEL/CentOS 7 服务器中打开 GUI 会话并启动安装脚本。

/stage/database/runInstaller 

并按照安装程序提供的步骤进行操作。

在 CentOS 7 上安装 Oracle 12c

8. 输入与您的 Oracle 帐户关联的电子邮件地址(可选)。

9.选择创建并配置数据库。

10. 选择桌面类别,因为我们正在设置最小配置和入门数据库。

11.选择以下选项进行基本配置。

  • Oracle 库:/u01/app/oracle
  • 软件位置:/u01/app/oracle/product/12.2.0/dbhome_1
  • 数据库文件位置:/u01
  • OSDBA组:dba
  • 全局数据库名称:您的选择。我们在这里选择了howtoing
  • 记下密码,因为您在首次连接到数据库时将使用它。
  • 取消选中创建为容器数据库。

12. 将默认的Inventory目录保留为/u01/app/oraInventory

13.验证安装预检查是否已完成且没有错误。

如果发现任何错误,安装程序将不会让您超过这一点。

14. 等待 Oracle 12c 安装完成。

在安装过程中的某个时刻,您可能会被要求运行几个脚本来设置进一步的权限或纠正问题。如下所示:

和这里:

cd /u01/app/oraInventory
./orainstRoot.sh
cd /u01/app/oracle/product/12.2.0/dbhome_1
./root.sh

15. 之后,您需要返回 GUI 会话中的上一个屏幕并单击确定,以便继续安装。

完成后,您将看到以下消息,指示 Oracle Enterprise Manager 的 URL:

https://localhost:5500/em

Oracle 12c 的收尾工作

16.要允许来自服务器外部的连接,您需要打开以下端口:

1521/TCP
5500/TCP
5520/TCP
3938/TCP

如下:

firewall-cmd --zone=public --add-port=1521/tcp --add-port=5500/tcp --add-port=5520/tcp --add-port=3938/tcp --permanent
firewall-cmd --reload

17. 接下来,使用之前选择的密码以 oracle 身份登录,并将以下行添加到 .bash_profile 文件中。

TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=tecmint; export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

18.最后,将 localhost 替换为 0.0.0.0 on。

vi $ORACLE_HOME/network/admin/listener.ora

19.最后一步是重新加载.bash_profile以应用新设置。

source .bash_profile

20.然后使用上一节步骤11中选择的系统帐户和密码登录数据库。

sqlplus system@tecmint

(可选)让我们在 howtoing 数据库中创建一个表,我们将在其中插入一些示例记录,如下所示。

SQL> CREATE TABLE NamesTBL
(id   NUMBER GENERATED AS IDENTITY,
name VARCHAR2(20));

请注意,IDENTITY 列首次在 Oracle 12c 中引入。

SQL> INSERT INTO NamesTBL (name) VALUES ('Gabriel');
SQL> INSERT INTO NamesTBL (name) VALUES ('Admin');
SQL> SELECT * FROM NamesTBL;

启用 Oracle 在系统引导时启动

21. 要使数据库服务在启动时自动启动,请将以下行添加到 /etc/systemd/system/oracle-rdbms.service 文件中。

/etc/systemd/system/oracle-rdbms.service
Invoking Oracle scripts to start/shutdown Instances defined in /etc/oratab
and starts Listener

[Unit]
Description=Oracle Database(s) and Listener
Requires=network.target

[Service]
Type=forking
Restart=no
ExecStart=/u01/app/oracle/product/12.2.0/dbhome_1/bin/dbstart /u01/app/oracle/product/12.2.0/dbhome_1
ExecStop=/u01/app/oracle/product/12.2.0/dbhome_1/bin/dbshut /u01/app/oracle/product/12.2.0/dbhome_1
User=oracle

[Install]
WantedBy=multi-user.target

22. 最后,我们需要指出 howtoing 数据库应该在启动时在 /etc/oratab 中启动(Y:是的)。

概括

在本文中,我们解释了如何在 RHEL/CentOS 7 上安装 Oracle 12c、如何创建和配置数据库以及如何创建表和插入数据行。

此外,需要注意的是,数据库服务器应该在系统启动时启动并运行,并且我们的默认数据库此时应该可用。

如果您对本文有任何疑问或意见,请随时使用下面的表格给我们留言。