CentOS 7 安装 Oracle 12c

2017年7月21日

参考 https://www.howtoing.com/how-to-install-oracle-database-12c-on-centos-7/

先决条件

CentOS 7 64位。
至少1 GB RAM内存。

第1步 – 安装所需的软件包

作为第一步,我们必须安装Oracle数据库所需的大量软件包,如GCC,Binutils,Glibc等。我们将使用yum命令从Centos存储库安装它们。

使用yum安装Oracle数据库所需的软件包。

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

安装 java 1.8

默认安装 JDK 1.8 卸载
Install oracle java 8
参照文章 :

Install Oracle Java JDK 8 On CentOS 7/6.5/6.4

第2步 – 配置用户和系统

Oracle数据库将在普通的Linux用户下运行,而不是以root权限运行。 在这一步中,我们将为Oracle创建一个新的用户和组。

创建名为' oinstall '和' dba '的新组,然后创建一个新用户' oracle '并将其添加到'oinstall'组。

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
TYPE THE PASSWORD

创建新用户和组,现在我们需要为Oracle安装配置我们的系统。 我们必须为Oracle安装配置一些内核参数。

用vim编辑 ' sysctl.conf '文件。

vim /etc/sysctl.conf

粘贴配置下面。

fs.aio-max-nr = 1048576
fs.file-max = 6815744
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 = 1048586

保存文件并退出编辑器。

现在运行以下命令显示所有内核参数并应用新的值。

sysctl -p
sysctl -a

接下来,我们需要为oracle用户配置一些限制。 指定最大数量进程和最大打开文件描述符数。

用vim编辑' limits.conf '文件。

vim /etc/security/limits.conf

粘贴以下配置。

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

保存文件并退出vim。

新用户和系统配置完成。

第3步 – 配置桌面

Oracle安装需要GUI访问,所以最快的方法是通过在服务器上安装X Window系统,然后使用ssh -X选项访问GUI应用程序。

1 安装X Window系统
使用yum命令安装X Window系统。
http://www.linuxeye.com/Linux/2457.html

yum groupinstall -y 'X Window System'
yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts
reboot

2. 安装 VNC 服务器
现在要在我们的 CentOS 7 上安装 VNC 服务器了。我们需要执行下面的命令。

yum install tigervnc-server

3. 配置 VNC
然后,我们需要在 /etc/systemd/system/ 目录里创建一个配置文件。我们可以将 /lib/systemd/sytem/[email protected] 拷贝一份配置文件范例过来。

cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

# copying vnc server configuration

接着我们用自己最喜欢的编辑器(这儿我们用的 nano )打开 /etc/systemd/system/vncserver@:1.service ,找到下面这几行,用自己的用户名替换掉 。举例来说,我的用户名是 linoxide 所以我用 linoxide 来替换掉 :

ExecStart=/sbin/runuser -l <USER>-c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid

替换成

ExecStart=/sbin/runuser -l linoxide -c "/usr/bin/vncserver %i"
PIDFile=/home/linoxide/.vnc/%H%i.pid

如果是 oracle 用户则

ExecStart=/sbin/runuser -l oracle -c "/usr/bin/vncserver %i"
PIDFile=/home/oracle/.vnc/%H%i.pid
configuring user

好了,下面重启 systemd 。

systemctl daemon-reload

最后还要设置一下用户的 VNC 密码。要设置某个用户的密码,必须要有能通过 sudo 切换到用户的权限,这里我用 linoxide 的权限,执行“su linoxide”就可以了。

su oracle
$ sudo vncpasswd

4. 开启服务
用下面的命令(永久地)开启服务:

$ sudo systemctl enable vncserver@:1.service
启动服务。

$ sudo systemctl start vncserver@:1.service
5. 防火墙设置
我们需要配置防火墙来让 VNC 服务正常工作。

$ sudo firewall-cmd --permanent --add-service vnc-server
$ sudo systemctl restart firewalld.service

6. 用 VNC 客户端连接服务器

 

 

安装完成后,打开新终端,并使用ssh命令选项以oracle用户身份连接到服务器。 尝试运行GUI应用程序,您将获得应用程序屏幕。

ssh -X [email protected]

 

第4步 – 下载Oracle数据库

如果您还没有Oracle帐户,请注册一个 ,然后登录下载12c for Linux。

以下是我的oracle文件。

cd ~/oracle/
ll

Oracle数据库安装文件

 

安装zip并解压缩以提取档案。

yum -y install zip unzip

将Oracle文件解压缩到名为“ stage ”的新目录。

unzip linuxamd64_12102_database_se2_1of2.zip -d /stage/
unzip linuxamd64_12102_database_se2_2of2.zip -d /stage/

将“/ stage /”目录的所有者和组更改为oracle用户和oinstall组。

chown -R oracle:oinstall /stage/

接下来,为Oracle安装文件和Oracle数据库文件创建新目录。

目录’ u01 ‘用于Oracle安装文件,“ u02 ”用于Oracle数据库文件。

mkdir -p /u01 /u02

更改新目录的所有者和组,并将权限设置为’755’。

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

下载了Oracle,安装的新目录已经准备就绪。

第5步 – 安装Oracle数据库12c

打开一个新的终端,并使用下面的ssh命令连接到CentOS 7服务器。

ssh -X [email protected]

转到stage数据库目录并运行安装程序文件。

cd /stage/database/
./runInstaller

脚本将检查服务器,确保所有测试都通过。

 

 

Oracle 基本操作命令

 

创建表空间

1 创建临时表

CREATE SMALLFILE TEMPORARY TABLESPACE "TSP_JAVA_TEMP" TEMPFILE '/u02/app/oracle/oradata/oracledb/tsp_java_temp.dbf' SIZE 1024M AUTOEXTEND ON NEXT 100M TABLESPACE GROUP "TSP_JAVA" EXTENT MANAGEMENT LOCAL UNIFORM;

2 创建永久表

CREATE SMALLFILE TABLESPACE "TSP_JAVA_MSG" DATAFILE '/u02/app/oracle/oradata/oracledb/tsp_java_msg.dbf' SIZE 2048M AUTOEXTEND ON NEXT 100M LOGGING DEFAULT NOCOMPRESS ONLINE EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO;

参考 :http://www.linuxidc.com/Linux/2016-12/138485.htm

 

CentOS 7 默认使用的是firewall作为防火墙,使用iptables必须重新设置一下

1、直接关闭防火墙

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

2、设置 iptables service

yum install iptables-services

修改防火墙配置 Oracle

[root@world-alive bin]# iptables -I INPUT -p tcp --dport 1521 -j ACCEPT
[root@world-alive bin]# iptables -A INPUT -s 221.226.186.102 -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT
[root@world-alive bin]# iptables -A INPUT -s 192.168.5.220 -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT
[root@world-alive bin]# iptables -A INPUT -s 127.0.0.1 -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT
[root@world-alive bin]# iptables -A INPUT -p tcp --dport 1521 -j DROP
[root@world-alive bin]# iptables -L
[root@world-alive bin]# service iptables save 保存规则
[root@world-alive bin]# systemctl restart iptables.service #重启防火墙使配置生效
[root@world-alive bin]# systemctl enable iptables.service #设置防火墙开机启动

查看防火墙规则:
sudo iptables -L -n

*****************************************************************************************************************

Oracle卸载

1、 停止监听服务(oracle用户登录)
[oracle@tsp-rls-dbserver ~]$ lsnrctl stop
2、 停止数据库

3、 删除oracle安装路径(root用户登录)

[root@tsp-rls-dbserver deps]# rm -rf /u01/app/*
[root@tsp-rls-dbserver deps]# rm -rf /u01/oracle/oraInventory

4、 删除系统路径文件(root用户登录)
[root@tsp-rls-dbserver deps]# rm -rf /usr/local/bin/dbhome
[root@tsp-rls-dbserver deps]# rm -rf /usr/local/bin/oraenv
[root@tsp-rls-dbserver deps]# rm -rf /usr/local/bin/coraenv

5、 删除数据库实例表(root用户登录)
[root@tsp-rls-dbserver deps]# rm -rf /etc/oratab

6、 删除数据库实例lock文件(root用户登录)
[root@tsp-rls-dbserver deps]# rm -rf /etc/oraInst.loc

7、 删除oracle用户及用户组(root用户登录)
[root@tsp-rls-dbserver deps]# userdel -r oracle
[root@tsp-rls-dbserver deps]# groupdel oinstall
[root@tsp-rls-dbserver deps]# groupdel dba

没有评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注