如何在 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、如何创建和配置数据库以及如何创建表和插入数据行。
此外,需要注意的是,数据库服务器应该在系统启动时启动并运行,并且我们的默认数据库此时应该可用。
如果您对本文有任何疑问或意见,请随时使用下面的表格给我们留言。