Linux服务器下搭建Oracle11g数据库(详细搭建文档)

1、下载Xmanager及数据库安装介质

Xmanager
链接: Xmanager6 提取码: 7df4
数据库安装介质
linux_11gR2_database_1of2.zip
linux_11gR2_database_2of2.zip
注意:Oracle 11g R2 Linux版本有两个压缩文件包,都需要下载(下载时需要先注册登录比如账号[email protected]密码BugMeNot1)
注册账号可以从这里获取
Oracle官方登录账号

2、检查设置服务器内核安装环境

2.1检查操作系统补丁包

(1)以root用户登录系统。
(2)使用uname -r命令查看kernel版本
(3)在root账号下执行如下脚本命令

for dep_rpm in elfutils-devel unixODBC* unixODBC.i686 unixODBC-devel.i686 binutils.x86_64 compat-libcap1.x86_64 compat-libstdc++-33.i686 compat-libstdc++-33.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh 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 vim epel-release lrzsz unzip xorg*;do yum install $dep_rpm -y;done

如有报错,暂时忽略

2.2修改内核参数

(1)通过修改文件/etc/sysctl.conf,增加要修改的内核参数值。例如:

fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 4294967296
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
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304

如果文件/etc/sysctl.conf中的内核参数和新增内核参数相同,请使用’#'字符屏蔽文件/etc/sysctl.conf中原有的内核参数。
(2)运行命令进行参数修改。

# /sbin/sysctl -p

(3)检查参数是否生效

# /sbin/sysctl -a | grep sem
# /sbin/sysctl -a | grep shm
# /sbin/sysctl -a | grep file-max
# /sbin/sysctl -a | grep aio-max-nr
# /sbin/sysctl -a | grep net.ipv4.ip_local
# /sbin/sysctl -a | grep rmem
# /sbin/sysctl -a | grep wmem

2.3设置oracle用户的shell限制

(1)以root用户登录。
步骤 2 修改文件/etc/security/limits.conf,追加以下内容(如果不存在)。

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

(2)修改文件/etc/pam.d/login,追加以下内容。

session  required   pam_limits.so

(3)修改文件/etc/pam.d/su,追加以下内容。

session required pam_limits.so

(4)修改文件/etc/profile,追加以下内容。

if [ $USER = "oracle" ]; then 
   if [ $SHELL = "/bin/ksh" ]; then 
       ulimit -u 16384 
       ulimit -n 65536 
   else 
       ulimit -u 16384 -n 65536 
   fi 
fi

2.4检查SWAP空间大小

(1)以root用户登录。
(2)检查物理内存大小。

# grep MemTotal /proc/meminfo

(3)检查SWAP空间大小。

# grep SwapTotal /proc/meminfo

SWAP空间大小建议值如图所示。
在这里插入图片描述

2.5创建用户和组

(1)以root用户登录。
(2)创建dba组,先检查dba组是否存在和/或组id是否一致。

# grep dba /etc/group

无输出则表示dba组不存在。如果dba组已存在,但组id不一样,则使用以下命令删除dba组。

# /usr/sbin/groupdel dba

创建dba组。

# /usr/sbin/groupadd -g 200 dba

(3)创建oinstall组。
先检查oinstall组是否存在和/或组id是否一致。

# grep oinstall /etc/group

无输出则表示oinstall组不存在。如果oinstall组已存在,但组id不一致,则使用以下命令删除oinstall组。

# /usr/sbin/groupdel oinstall

创建oinstall组。

# /usr/sbin/groupadd -g 201 oinstall

(4)创建oracle用户。
检查oracle用户是否存在和/或用户id是否一致。

# grep oracle /etc/passwd

无输出则表示Oracle用户不存在。如果Oracle用户已存在,但用户id不一致,则使用以下命令删除Oracle用户。

# /usr/sbin/userdel -rf oracle

创建oracle用户。

# /usr/sbin/useradd -u 300 -g oinstall -G dba -d /home/oracle -s /bin/bash -m oracle

修改oracle用户密码。

# passwd oracle

设置密码AAC#1234abcd

2.6创建安装目录并授权

(1)以root用户登录。
(2)赋予目录正确的权限。
对文件系统/opt/oracle赋权。

# mkdir /opt/oracle;chown -R oracle:oinstall /opt/oracle
# chmod -R 775 /opt/oracle

对文件系统/opt/oraadm赋权。

# mkdir /opt/oraadm ;chown -R oracle:dba /opt/oraadm
# chmod -R 770 /opt/oraadm

创建目录/usr/local/bin并赋权。
检查/usr/local/bin目录是否存在,如不存在则需创建该目录,并赋予755权限。

# mkdir /usr/local/bin
# chmod 755 /usr/local/bin
# ll /usr/local |grep bin

结果如下:
drwxr-xr-x 2 root root 4096 2007-05-03 21:24 bin
赋权/tmp目录权限。
检查/tmp是否具有1777权限,如不具备则赋予/tmp目录1777权限。

# chmod 1777 /tmp
# ll / |grep tmp

结果如下:
drwxrwxrwt. 28 root root 4096 Aug 3 11:00 tmp

2.7设置oracle用户环境变量

(1)以oracle用户登录操作系统。
(2)编辑环境变量文件。
注意:
ORACLE_BASE,ORACLE_HOME,ORACLE_SID,NLS_LANG请根据实际情况进行设置。
ORACLE_SID唯一的标识一个实例,一般以数据库名加上实例号为命名规范,例如:有两个实例,数据库名称为suseora,实例1命名为suseora1,实例2命名为suseora2,依次类推,这里设置为orcl。
NLS_LANG格式为区域_语言.字符集,字符集必须和数据库保持一致。

$ vi .bashrc

环境变量设置如下所示:

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/11gR2/db
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$ORACLE_HOME/rdbms/lib
export LD_LIBRARY_PATH
SHLIB_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib
export SHLIB_PATH
# Set shell search paths:
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH:/usr/local/bin
# CLASSPATH must include the following JRE locations:
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

(3)执行source .bashrc命令,使环境变量生效。
(4)执行env命令,确认环境变量。

3、拷贝安装文件并创建安装目录

(1)以root用户登录。
(2)将oracle安装文件以二进制的方式拷贝至节点1的“/opt/oraadm”中,如下所示。如果没有oraadm则创建并授权777权限。
在这里插入图片描述
(3)解压缩安装文件,并赋予权限。
安装unzip命令

yum install -y unzip zip

更改oracle介质zip为777权限

# cd /opt/oraadm
# unzip /opt/oraadm/linux.x64_11gR2_database_1of2.zip
# unzip /opt/oraadm/linux.x64_11gR2_database_2of2.zip
# chmod 770 -R /opt/oraadm/database
# chown oracle:dba -R /opt/oraadm/database
# mkdir grid
# chmod 770 -R /opt/oraadm/grid
# chown oracle:dba -R /opt/oraadm/grid

(4)创建Inventory目录
创建目录/opt/oraInventory,并使oracle:oinstall为其所有者。
以root用户登录,创建目录/opt/oraInventory。

# mkdir /opt/oraInventory

使oracle:oinstall为该目录所有者。

# chown oracle:oinstall /opt/oraInventory
# chmod 770 /opt/oraInventory

4、搭建Xstart环境

(1)首先保证linux服务器已安装“xorg-x11-xauth”软件包,否则会报错:“已拒绝X11转移申请”。
如果没有安装图形界面,则需要先安装图形化安装包。
切换为root账号,配置Display

 [root@vlxcndcz01bpmth ~]#yum install xorg-x11-xauth.x86_64
 [root@vlxcndcz01bpmth ~]#yum install xterm
 [root@vlxcndcz01bpmth ~]#yum install xclock
 方式一:
 [root@vlxcndcz01bpmth ~]#export DISPLAY=10.0.20.200(本地IP而不是服务器IP):0.0
 方式二:
 #编辑/etc/profile文件,添加内容:export DISPLAY=:0.0
[root@vlxcndcz01bpmth ~]# vi /etc/profile
[root@vlxcndcz01bpmth~]# cat /etc/profile
#省略……
export DISPLAY=10.0.20.200:0.0

(2)配置xmanager,打开xstart
确保主机名配置一致否则,会报INS-06101错误
[INS-06101] IP address of localhost could not be determined
在这里插入图片描述
配置连接主机IP以及配置命令,点击运行

/usr/bin/xterm -ls -display $DISPLAY

在这里插入图片描述
在xterm界面,切换到oracle用户,在解压目录下,执行安装操作。
在这里插入图片描述
取消配置安全更新
在这里插入图片描述
不勾选“I wish to receive security updates via My Oracle Support”,选择“Next”。
在这里插入图片描述
取消安全更新,单击“Yes”。
选择安装方式,选择“Install database software only”,单击“NEXT”。
在这里插入图片描述
指定安装类型,选择“Single instance database installation”
在这里插入图片描述
选择安装语言
在这里插入图片描述
选择软件版本,选择“Enterprise Edition”,单击“Next”。
在这里插入图片描述
指定安装目录,在Oracle Base中填写“/opt/oracle”,即oracle用户的环境变量 O R A C L E B A S E S o f t w a r e L o c a t i o n / o p t / o r a c l e / p r o d u c t / 11 g R 2 / d b o r a c l e ORACLE_BASE。 在Software Location中填写“/opt/oracle/product/11gR2/db”,即oracle用户的环境变量 ORACLE_HOME。
在这里插入图片描述
在这里插入图片描述
设置操作系统用户组,Database Administrator Group 选择“dba”,Database Operator Group 选择“dba”,单击“Next”。
在这里插入图片描述
安装概要检查,检查没有问题,单击“Install”按钮进行安装。由于系统中已经存在更新的软件包,以下错误可以忽略。
在这里插入图片描述
安装过程中会出现如下报错,解决方案如下。
在这里插入图片描述
切换回oracle用户,修改
/opt/oracle/product/11gR2/db/ctx/lib/ins_ctx.mk文件中的配置
ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) 修改为
ctxhx: $(CTXHXOBJ)
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a
在这里插入图片描述
需要修改,/opt/oracle/product/11gR2/db/sysman/lib/ins_emagent.mk文件中的配置,将文件中的
$(SYSMANBIN)emdctl:
$(MK_EMAGENT_NMECTL) 修改为
$(SYSMANBIN)emdctl:
$(MK_EMAGENT_NMECTL) -lnnz11
执行root.sh脚本
在这里插入图片描述
新开一个SHELL窗口,以root用户执行提示图中的脚本命令:

# /opt/oracle/product/11gR2/db/root.sh

该脚本执行过程中需要回答一些问题,出现问题时直接按回车即可。
脚本运行完后,单击“OK”,单击CLOSE完成安装。
在这里插入图片描述
检查安装错误
安装完毕查看make.log($ORACLE_HOME/install/make.log)是否有错误信息

cd $ORACLE_HOME/install/

5、创建Oracle数据库

使用操作系统oracle用户调用DBCA进行安装
(1)以oracle用户登录节点1。
(2)启动DBCA安装界面。

$ dbca

(3)选择操作类型。选择“Create a database”。
在这里插入图片描述
(4)选择数据库模板。选择“General Purpose or Transaction Processing”。
在这里插入图片描述
(5)指定数据库名。填写数据库名
在这里插入图片描述
(6)配置企业管理和自动维护任务。勾选Enterprise Manager界面中的“Configure Enterprise Manager”。
在这里插入图片描述
勾选Automatic Maintenance Tasks界面中的“Enable automatic maintenance tasks”。
在这里插入图片描述
(7)设置用户密码,提示选择忽略
在这里插入图片描述
(8)确认配置后开始创建数据库,等待安装完成
在这里插入图片描述
DBCA运行完毕,数据库建立,完成数据库创建操作。
在这里插入图片描述
(9)登录数据库进行验证。
数据库实例启动后,登录数据库确认数据库状态。

# su - oracle
$ sqlplus /nolog
SQL> conn /as sysdba;
SQL> select status from v$instance;
STATUS
------------------------
OPEN

如上所示,表示状态正常。
注意如果使用第三方客户端访问数据库,需要关闭防火墙

#systemctl status firewalld
#service firewalld stop 

如果出现active,标识防火墙开启
在这里插入图片描述
关闭后结果如下:
在这里插入图片描述

6、配置Oracle监听器

(1)启动NETCA。
用oracle用户登录节点1启动NETCA。选择“Cluster configuration”。

$ netca

在这里插入图片描述
(2)选择配置监听器。
在这里插入图片描述
(3)增加监听器。选择“Add”。
在这里插入图片描述
(4)填写监听器名称。默认即可。
在这里插入图片描述
(5)配置监听器协议。选择“TCP”。
在这里插入图片描述
(6)指定使用端口号。
填写的端口从范围[1500,1600]中选择,例如:“1521”,选择第一个。
在这里插入图片描述
(7)不再配置其他的监听器。
在这里插入图片描述
(8)完成监听器增加操作。选择“Finish”
在这里插入图片描述
参考文档:
https://www.cnblogs.com/skaarl/p/11414931.html
https://blog.csdn.net/feinifi/article/details/78412972
https://www.cnblogs.com/songyuejie/p/6372534.html
https://blog.51cto.com/tengxiansheng/1912676

猜你喜欢

转载自blog.csdn.net/jike11231/article/details/107756024