本次课题利用Centos 7虚拟机来搭建的Oracle 11g的环境。我的VMware 利用的是15.5.1版本,对提高Linux运行oracle的性能进行的部分的配置,配置如下:
一、Centos7 64位搭建Oracle 11g准备工作
(*)、CentOS-7-x86_64-DVD-1511.iso (不需要解压)
资源:CentOS-7-x86_64-DVD-1511.iso_免费高速下载|百度网盘-分享无限制
(*)、linux.x64_11gR2_database_1of2.zip
资源:百度网盘-链接不存在
(*)、linux.x64_11gR2_database_2of2.zip
资源:百度网盘-链接不存在
二、搭建虚拟机操作如下:
(*)为了提高linux虚拟机运行的性能,适当的增加的虚拟机的核数
(*)本人的机器运行的内存是12G,所以我的虚拟机运行内存采用的是2G
(*)这个地方,为保证虚拟机和主机,虚拟机与虚拟机之间可以相互通信,所以推荐选择“仅主机模式”,但是需要保证在配置的虚拟会的IP的时候同主机保证在一个网段上。
(*)因为项目中的需要oracle处理上万条数据,所以我的磁盘大小为30G
(*)选择centos7硬件包的位置
(*)虚拟机设置需要注意部分配置信息
(*)虚拟机的IP网段设置,其中要保证与主机在同一个网段,和之前选择的“仅主机模式”有关
(*)以上信息便完成了centos虚拟机安装的配置,直接开始安装,并且配密码即可
(*)如果出现Initial setup of Centos Linux 7 (core),可以输入
附加:关于网络配置可以参考的:控制面板\网络和 Internet\网络连接(保证这两个网络和主机间可以互通信),还可以查看cmd -> services.msc 服务的VMware DHCP服务是否开启,以便于主机和虚拟机间可以ping通
三、安装Oracle 11g
(*)将linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip上传到虚拟机
参考目录:/opt/softwares
(*)创建oracle用户和用户组
- [root@oracle11g ~]# groupadd dba
- [root@oracle11g ~]# groupadd orainstall
- [root@oracle11g ~]# useradd -g orainstall -G dba -m myoracle
- [root@oracle11g ~]# passwd myoracle
Changing password for user myoracle.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully. - [root@oracle11g ~]# id myoracle
- uid=1001(myoracle) gid=1002(orainstall) groups=1002(orainstall),1001(dba)
(*)用户权限设置,便于普通用户访问root权限,位置:/etc/sudoers
su 登录myoracle用户,然后的通过“su -”获取root所有权限
(*)创建oracle的安装目录
- [root@oracle11g ~]# mkdir -p /u01/app/oracle
- [root@oracle11g ~]# chown -R myoracle /u01/
- [root@oracle11g ~]# chmod 775 -R /u01/
- [root@oracle11g ~]# ls -ld /u01/
- drwxrwxr-x. 3 myoracle root 16 Jan 3 19:45 /u01/
(*)myoracle用户环境变量设置,修改 vim ~/.bash_profile文件,环境变量生效:
- export TMP=/tmp
- export TMPDIR=$TMP
- export ORACLE_TERM=xterm
- export ORACLE_BASE=/u01/app/oracle
- export ORACLE_HOME=$ORACLE_BASE/db //注意根据实际情况进行选择路径---参考: $ORACLE_BASE/product/11.2.0/dbhome_1
- export ORACLE_SID=orcl
- export PATH=$ORACLE_HOME/bin:$PATH
- export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/lib64
- if [ $USER = "myoracle" ];then
- if [ $SHELL = "/bin/ksh" ];then
- ulimit -p 16384
- ulimit -n 65536
- else
- ulimit -u 16384 -n 65536
- fi
- fi
(*)修改内核参数/etc/sysctl.conf
[myoracle@oracle11g ~]$ sudo vim /etc/sysctl.conf
- kernel.shmmni = 4096
- kernel.shmmax = 4398046511104
- kernel.shmall = 1073741824
- kernel.sem = 250 32000 100 128
- fs.aio-max-nr = 1048576
- fs.file-max = 6815744
- 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
[myoracle@oracle11g ~]$ sudo sysctl -p //参数生效
(*)修改/etc/security/limits.conf,结尾添加参数
- oracle soft nproc 2047
- oracle hard nproc 16384
- oracle soft nofile 4096
- oracle hard nofile 65536
(*)修改/etc/pam.d/login,添加:session required pam_limits.so(64位虚拟机:session required /lib64/security/pam_limits.so)
(*)安装oracle需要的依赖包可以手动下载安装包,也可以利用虚拟机使用yum源进行安装,本次实验基于虚拟机断网,手动安装oracle依赖包
执行语令,用于查找所缺少的依赖包,利用:sudo rpm -ivh +包名.rmp+ --nodeps,安装需要配置
[oracle@oracle11g tools]$ for i in gcc gcc-c++ libaio glibc compat-libstdc++-33 elfutils-libelf-devel libaio-devel libgcc libstdc++ libstdc++-devel unixODBC unixODBC-devel glibc-common ksh make sysstat pdksh;do rpm -q $i;done
- gcc-4.8.5-28.el7_5.1.x86_64
- gcc-c++-4.8.5-28.el7_5.1.x86_64
- libaio-0.3.109-13.el7.x86_64
- glibc-2.17-105.el7.x86_64
- compat-libstdc++-33-3.2.3-72.el7.x86_64
- elfutils-libelf-devel-0.170-4.el7.x86_64
- libaio-devel-0.3.109-13.el7.x86_64
- libgcc-4.8.5-4.el7.x86_64
- libstdc++-4.8.5-4.el7.x86_64
- libstdc++-devel-4.8.5-28.el7_5.1.x86_64
- unixODBC-2.3.1-11.el7.x86_64
- unixODBC-devel-2.3.1-11.el7.x86_64
- glibc-common-2.17-105.el7.x86_64
- package ksh is not installed
- make-3.82-21.el7.x86_64
- sysstat-10.1.5-7.el7.x86_64
- pdksh-5.2.14-37.el5_8.1.x86_64
四、图形化安装oracle虚拟机
(*)解压oracle11g安装包(解压到虚拟机后是一个database文件)
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
(*)登入的虚拟机中myoracle用户:su myoracle
- [oracle@oracle11g moudles]$ su myoracle
- Password:
- [myoracle@oracle11g moudles]$ export DISPLAY=10.11.12.1:0.0
- [myoracle@oracle11g moudles]$ xhost +
- xhost: unable to open display "10.11.12.1:0.0"
【注意】: 解决unable to open display "10.11.12.1:0.0"
[root@oracle114 oracle]# export DISPLAY=:0
[root@oracle114 oracle]# xhost +
access control disabled, clients can connect from any host
(*)进入到database目录下执行:./runInstaller (如果出现弹窗太小时候:./runInstaller -jreLoc /etc/alternatives/jre_1.8.0)
(*)图形化界面搭建
(*)这里面如果出现:Unable to create a new central inventory at the specified location. ----> 错误
参考:静默安装11.2.0.1数据库软件报[FATAL] [INS-32035] Unable to create_青 nihq的博客-CSDN博客
(*)Swap 出现空间不足查询方法
[root@oracle11g ~]# free -m
[root@oracle11g ~]# dd if=/dev/zero of=/home/swap bs=1024 count=1024000
[root@oracle11g ~]# mkswap /home/swap
[root@oracle11g ~]# free -m
[root@oracle11g ~]# swapon /home/swap
[root@oracle11g ~]# free -m
(*1)Hard Limit: "maximum open file descriptors"解决方法
登入myoracle用户,然后编辑“/etc/security/limits.conf”,添加行:
* hard nofile 131072
然后“ulimit -a”。再次验证 (参考:Hard limits for "maximum open file descriptors"_edwzhang的博客-CSDN博客)
(*2)Hard limit:maxium user processes解决方法:(参数的用户是myoracle,因为改成了oracle所以导致后续出现错误)
- myoracle soft nproc 2047
- myoracle hard nproc 16384
- myoracle soft nofile 4096
- myoracle hard nofile 131072
(*)此处如果没有数据库信息一项,可以尝试删除centos中oracle,然后重新安装(删除参考:Centos下彻底删除oracle_先生王的博客-CSDN博客)
正确
五、图形化安装oracle监听器
(*)启动监听器 -> (错误:Message 1070 not found; No message file for product=network, facility=TNSTNS-12545: Message 12545 not found; No message file for product=network, facility=TNS
TNS-12560: Message 12560 not found; No message file for product=network, facility=TNS
TNS-00515: Message 515 not found; No message file for product=network, facility=TNS
Linux Error: 2: No such file or directory)解决方法,查看对应oracle home目录是否正确,vi ~/.bash_profile 或 vi /etc/profile
(*)执行:[myoracle@oracle11g Desktop]$ dbca
(*)设置Oracle使用者密码:OracleAdmin1
(*)解锁scott用户,密码为:OracleAdmin1
(*)访问成功
本文是Centos7搭建Oracle11g 的记录,其中会有一些报错没有解决,但是不影响利用Oracle数据库模拟实验的练习。截图仅保留了关键搭建步骤,一些出现缺少jar包,需要重新安装jar包的 情况等次要信息已经省略。
参考网络资料: