Linux系统安装Oracle 11g数据库
Posted 寻找五叶草
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统安装Oracle 11g数据库相关的知识,希望对你有一定的参考价值。
下图为oracle数据库安装导图:
安装步骤:
1、下载oracle 11g 安装包
因为我centos7为64位操作系统,所以这里下载的也是64位版本的oracle。
下载地:http://www.oracle.com/technetwork/indexes/downloads/index.html#database
下载后:
2、安装前的准备
2.1、创建组与用户
[root@localhost zhuzi]# groupadd oinstall #创建oinstall组
[root@localhost zhuzi]# groupadd dba #创建dba组
[root@localhost zhuzi]# useradd -g oinstall -g dba -m oracle #创建oracle用户并将用户加入到dba组与oinstall组
[root@localhost zhuzi]# passwd oracle #设置oracle用户密码
2.2、创建oracle安装目录
[root@localhost zhuzi]# mkdir -p /data/oracle #oracle根目录
[root@localhost zhuzi]# mkdir -p /data/database #用于存放Oracle解压后的安装包
[root@localhost zhuzi]# mkdir -p /data/oraInventory #数据库配置文件目录
[root@localhost zhuzi]# chown -R oracle:oinstall /data #修改目录所有者为oracle
2.3、关闭防火墙
1)、首先关闭selinux,修改/etc/selinux/config文件,将SELINUX=disabled。修改好后如下图所示,这个如果修改好后,需要重启才能生效:
2)、关闭防火墙,并设置开机不启动防火墙。设置好后不需要重启,会立即生效。
[root@localhost zhuzi]# systemctl stop firewalld.service #关闭防火墙
[root@localhost zhuzi]# systemctl disable firewalld.service #设置开机不启动防火墙
2.4、优化系统内核参数
1)、编辑/etc/sysctl.conf文件,在文件尾添加如下内容:
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744 #设置最大打开文件数
fs.aio-max-nr = 1048576
kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmmax = 2147483648 #最大共享内存的段大小
kernel.shmmni = 4096 #整个系统共享内存端的最大数
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576
2)、使配置修改内核的参数生效:
[root@localhost zhuzi]# sysctl -p
2.5、对oracle用户设置限制
[root@localhost zhuzi]# vi /etc/security/limits.conf
在文件后半部分,添加如下内容中斜体部分内容,保存退出。
@student - maxlogins 4
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
End of file
2.6、设置用户变量
[root@localhost ~]# vi /home/oracle/.bash_profile
在文件末尾添加如下内容:
export ORACLE_BASE=/data/oracle #oracle数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle数据库路径
export ORACLE_SID=orcl #oracle启动数据库实例名
export ORACLE_UNQNAME=orcl
export ORACLE_TERM=xterm #xterm窗口模式安装
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量
export LANG=C #防止安装过程出现乱码
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致
使配置的环境变量生效:
[root@localhost ~]# source /home/oracle/.bash_profile
2.6、配置yum源
1). 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2).下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/,这里使用阿里的yum源。
CentOS 7命令为:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3)、yum clean all #清空yum缓存
4)、yum makecache #重建缓存
5)、yum repolist #查看配置目录资源数
2.7、安装依赖包
[root@localhost ~]# yum -y install binutils* compat-libcap1* compat-libstdc++* gcc* gcc-c++* glibc* glibc-devel* ksh* libaio* libaio-devel* libgcc* libstdc++* libstdc++-devel* libXi* libXtst* make* sysstat* elfutils* unixODBC*
centos7需要的安装包,可以在Oracle上查看:https://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#LADBI1085
我的版本当然对应的是这个版本:Oracle Linux 7 and Red Hat Enterprise Linux 7
它没有要求说要安装elfutils和unixODBC包,但是等安装Oracle检查安装前准备时,会提示说缺少这两个包,所以一并安装
3、开始安装Oracle
前面设置很多内容,保险起见,重启一次系统。
[root@localhost ~]# reboot
将步骤1中下载的两个oracle安装文件,上传至/usr/local/src目录中。我使用的xshell工具,root用户直接在命令窗口cd /usr/local/src ,然后鼠标拖住那两个安装包至命令窗口就可以自动上传。
用root用户解压这两个文件到/data/database 目录下,设置所属用户与组,再切换至oracle用户加载一下环境变量,开始安装。
[root@localhost src]# unzip linux.x64_11gR2_database_1of2.zip -d /data/database/ #解压第一个压缩包
[root@localhost src]# unzip linux.x64_11gR2_database_2of2.zip -d /data/database/ #解压第二个压缩包
[root@localhost src]# chown -R oracle:oinstall /data #指定文件夹及子目录的所属用户与组
[root@localhost src]# su oracle #切换至oracle用户
[oracle@localhost src]$ cd #进入家目录
[oracle@localhost ~]$ source .bash_profile #加载环境变量
[oracle@localhost ~]$ cd /data/database/database/ #进入oracle安装程序存放的目录
[oracle@localhost database]$ ./runInstaller #执行oracle安装命令,然后弹出下图安装窗口。
下面为贴图部分,修改后与下面图保持一致即可。
1)、将勾去掉,这样就不自动更新软件了。
2)、提示你没有提供电子邮件,这里选择yes,继续就行。
3)、这里选择第二项,仅安装数据库软件。
4)、这里选择第一个选项,单实例数据库。第二个为安装集群的意思。
5)、选择语言,默认下一步。
6)、第一个为企业版,默认直接下一步。
7)、前面咱们准备阶段,已经在环境变量里配置好了路径,这里就是读取咱们前面配置的路径,所以直接下一步。不用修改。
8)、指定配置文件存放路径,这个也不需要修改,也是读取了咱们前面配置到环境变量里的路径。所以直接下一步。
9)、关于权限的问题,这里直接都是默认就行。下一步。
10)、这里会检查系统资源与依赖包是否都满足,第一个提示swap大小不符合,这里扩展一下swap大小,可以参考https://www.cnblogs.com/find-syc/p/12615991.html,其他问题,选中缺失的依赖包,如果下方详情栏里Expected value中有括号中标注(i386)或(i686),是在提示缺少32位的依赖包,但是实际上已经安装了64位的依赖包,忽略它们,pdksh包已经安装,就是之前安装的ksh依赖包。
11)、点击finish完成。
报错解决:
修改/data/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk,将
ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
修改为:
ctxhx: $(CTXHXOBJ)
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/libc.a
点击Retry继续安装。
修改/data/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk,将
$(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL) -lnnz11
点击Retry继续安装。
[root@localhost zhuzi]# /data/oraInventory/orainstRoot.sh
[root@localhost zhuzi]# /data/oracle/product/11.2.0/db_1/root.sh #这条命令执行后需要再按一次回车键才会结束。
点击右下角close按钮,完成安装。
4、配置监听,在oracle用户下执行命令。
[oracle@localhost database]$ netca #创建监听
在不修改端口的情况下,第一个监听程序,一路回车,就配置好了。
5、创建数据库
[oracle@localhost database]$ dbca #创建数据库
选择第二项,意思是自定义数据库。
下面为输入想要创建数据库的名字,这里我输入的为orcl,你可以随意,但是上下内容要一致。
第二项为对所有账户使用相同的管理密码,这里需要填写一下想设置的密码。
这里提示我密码太简单,我们直接yes忽略他的提示。
指定新建数据库的存放位置,这里我们选第二项,填写上之前建立的目录。
这里取消闪回功能,你也可以打开,看需求。
下面为一些数据库组件的选择,这里就全部清空选择。直接下一步。
一些配置参数,内存,字符集等等,直接默认下一步。
接下来,等待安装结束,测试一下,有没有安装成功。
安装结束,点击Exit按钮。
~~~~~~~~~~~~~~~~~~~~进入测试环节~~~~~~~~~~~~~~~~~~~~~~~~
[oracle@localhost database]$ sqlplus / as sysdba
上图可以看出,sqlplus已经成功登陆进来了。
SQL> select status from v$instance;
上图可以看出,数据库已经是打开状态的了。输入exit回车,可以退出sqlplus。
上图可以看出监听状态,至此,oracle数据库安装结束。
安装完成后的两个小问题
1.Linux下sqlplus不能使用光标箭头
解决办法:安装rlwrap包
1)下载rlwrap压缩包(我下载的是rlwrap-0.37.tar.gz);
2)yum安装readline
[root@localhost oracle]#yum -y install readline*
3)解压,安装
[root@localhost oracle]#tar -xzvf rlwrap-0.37.tar.gz [root@localhost oracle]#cd rlwrap-0.37.tar.gz [root@localhost oracle]#./configure [root@localhost oracle]#make [root@localhost oracle]#make install
4)切换到oracle用户下,编辑bash_profile文件
[oracle@localhost ~]vi .bash_profile
在最后添加
alias sqlplus=\'rlwrap sqlplus\'
alias rman=\'rlwrap rman\'
保存退出,执行source .bash_profile使其生效。
或者直接不修改bash_profile文件,直接在输入sqlplus命令前加上rlwrap即可(我修改了bash_profile文件,重启系统还是要重新输入source命令使其生效,我之后直接在sqlplus命令前加rlwrap)。
这样在sqlplus中就可以使用上下左右键来查看历史纪录了。
2.vim中文乱码
设置~下或者oracle用户下的.vimrc文件,加上fileencodings、enc、fencs,代码如下:
vim ~/.vimrc #或者vim /home/oracle(用户名)/.vimrc
#添加如下代码
set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1
set enc=utf8
set fencs=utf8,gbk,gb2312,gb18030
以上是关于Linux系统安装Oracle 11g数据库的主要内容,如果未能解决你的问题,请参考以下文章