orcale11g安装
一、centos7.5安装orcale
安装环境
内存最小1G,推荐2G或者更高
内存为1-2g,swap是内存的1.5倍左右
内存大于2G, swap和内存相等
硬盘最小为30G
oracle版本 oracle 11g
1、安装图形化界面 (非必须,只安装xmanager也可以)
yum check-update && yum install epel-release && yum groupinstall "GNOME Desktop" "Graphical Administration Tools" && yum groups mark convert && ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target && init 5 && reboot
2、安装xmanager,xmanager跟闪烁没有关系
链接:https://pan.baidu.com/s/1_wgUBN2eyufISW410A0b2w 密码:hp75
下载后双击安装包,进里面双击应用程序安装就,安装完就不用管了,开始安装oracle
3、安装orcale环境依赖
3.1、下载Oracle安装包:linux.x64_11gR2_database_1of2.zip 和 linux.x64_11gR2_database_2of2.zip ,
链接:https://pan.baidu.com/s/10Sj9cwLfpNX-ThU0a7JLew 密码:7gv1
链接:https://pan.baidu.com/s/1WwYZ1YeYWgXBk4mIKuEBKw 密码:3rm1
3.2、创建运行oracle数据库的系统用户和用户组:
用Root账号登录,运行下面指令,创建所需要用户和用户组,分组原因参考网址
groupadd oinstall #创建用户组oinstall
groupadd dba #创建用户组dba
useradd -g oinstall -g dba -m oracle #创建oracle用户,并加入到oinstall和dba用户组
groups oracle #查询用户组是否授权成功
passwd oracle #设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆
id oracle #查看新建的oracle用户
3.3、创建oracle数据库安装目录(运行下面指令,创建账号和分配权限)
mkdir -p /data/oracle #oracle数据库安装目录
mkdir -p /data/oraInventory #oracle数据库配置文件目录
mkdir -p /data/database #oracle数据库软件包解压目录
ls /data #创建完毕检查一下
chown -R oracle:oinstall /data/oracle #设置目录所有者为oinstall用户组的oracle用户
chown -R oracle:oinstall /data/oraInventory
chown -R oracle:oinstall /data/database
或者一条命令直接搞定上线三条命令:
chown -R oracle:oinstall /data
注意:下面需要修改的配置文件的步骤,建议都备份一下。直接cp即可。我的是虚拟机又有快照,所以不做备份。
3.4、修改OS系统标识
oracle默认不支持CentOS系统安装, 修改文件 /etc/RedHat-release 内容为RedHat-7
vi /etc/redhat-release #修改成红色部分文字
redhat-7
3.5.安装oracle数据库所需要的软件包
以下是按照需要依赖的安装包,通过 yum install {包名} 来验证是否安装,例如yum install binutils,下面有我自己的检验方法。很方便。
binutils-2.23.52.0.1-12.el7.x86_64
compat-libcap1-1.10-3.el7.x86_64
gcc-4.8.2-3.el7.x86_64
gcc-c++-4.8.2-3.el7.x86_64
glibc-2.17-36.el7.i686
glibc-2.17-36.el7.x86_64
glibc-devel-2.17-36.el7.i686
glibc-devel-2.17-36.el7.x86_64
ksh
libaio-0.3.109-9.el7.i686
libaio-0.3.109-9.el7.x86_64
libaio-devel-0.3.109-9.el7.i686
libaio-devel-0.3.109-9.el7.x86_64
libgcc-4.8.2-3.el7.i686
libgcc-4.8.2-3.el7.x86_64
libstdc++-4.8.2-3.el7.i686
libstdc++-4.8.2-3.el7.x86_64
libstdc++-devel-4.8.2-3.el7.i686
libstdc++-devel-4.8.2-3.el7.x86_64
libXi-1.7.2-1.el7.i686
libXi-1.7.2-1.el7.x86_64
libXtst-1.2.2-1.el7.i686
libXtst-1.2.2-1.el7.x86_64
make-3.82-19.el7.x86_64
sysstat-10.1.5-1.el7.x86_64
使用脚本检查依赖软件包
vi package.conf --复制上面的软件名写入到这个文件里面,
vi a.sh
#!/bin/bash
for i in `cat myf`
do
rpm -q $i >/dev/null
[ $? -eq 0 ] && continue
rm -rf /run/yum.pid #可能yum源正在运行,导致下面无法安装,所以要删除
yum -y install $i
done
./ a.sh --执行脚本
yum install binutils-2.* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc++-4.* libstdc++-devel-4.* make-3.* sysstat-7.* unixODBC-2.* unixODBC-devel-2.* pdksh*
3.6、关闭防火墙和selinux,
systemctl stop firewalld.service
systemctl disable firewalld.service
永久关闭:vim /etc/selinux/config 设置SELINUX=disabled
3.7、修改内核参数
vi /etc/sysctl.conf #红色部分是要添加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
3.8、对oracle用户设置限制,提高软件运行性能(红色为添加部分)
vi /etc/security/limits.conf #红色部分要添加到Limits.conf内容,可以添加到最后
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
3.9、配置用户的环境变量(红色部分为添加代码)
vi /home/oracle/.bash_profile #红色部分是要追加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_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安装时设置的字符集保持一致
配置完成,:wq!保存退出,运行source /home/oracle/.bash_profile时上述配置生效
3.10、解压安装包
unzip linux.x64_11gR2_database_1of2.zip -d /data/database/ #解压文件1
unzip linux.x64_11gR2_database_2of2.zip -d /data/database/ #解压文件2
chown -R oracle:oinstall /data/database/database/ #分配安装文件授权Oracle
4 、oracle正式安装:
4.1、切换oracle用户,进入/data/database/database/,执行下面的命令。
[oracle@oracledb ~]$ ./runInstaller
4.2、Configure Security Updates 取消安全更新的打钩。Email不要填,否则报错, 下面勾选框取消勾选,下一步点击下一步
4.3、Installation Option 选第二个
4.4、Grid Options
4.5、Product Languages 添加中文
4.6、Database Edition 选择数据库版本
4.7、Installation Location 默认环境变量中一致 直接默认next
4.8、Create Inventory和Operating System Groups都下一步 如果出错说明文件夹所属主设置有问题 检查这句[root@localhost database]# chown -R oracle:oinstall /opt/oracle
4.9、Prerequisite Checks 检查安装前提条件
检查失败解决:
pdksh-5.2.14-30.x86_64.rpm 需要下载安装
下载地址,链接:https://pan.baidu.com/s/1INAuMDeY3uwwl3YwSg5Fww 密码:hxgi
yum remove ksh -y ; rpm -ivh pdksh-5.2.14-30.x86_64.rpm --force --nodeps
其他用yum安装
yum -y install libaio* glibc* compat-libstdc++-33* gcc-c++* libaio-devel* libgcc* libstdc++* libstdc++-devel* unixODBC-* unixODBC-devel* elfutils-libelf-devel*
全部安装完还是提示有问题的是因为版本过新等等 ,用rpm -q 一个个检查还有问题的项目,如果都安装了就忽略(11.2.0.4好像不会存在版本超了还提示没安装的情况,测试中
11.2.0.4最后提示都安装好了才下一步的)
勾选上“Ignore All”选项,下面的“Next”按钮才可以点击
4.10、Summary 选Finish 就会开始安装
4.11、安装到84%报错
原因:缺少 compat-libstdc++-33-3.2.3-69.el6.x86_64 包导致
解决方法:不要把窗口关掉,用 root登录,强制安装上面的rpm包下载 compat-libstdc++-33-3.2.3-69.el6.x86_64
下载安装包
链接:https://pan.baidu.com/s/1w7Bvahqud8Y7NnJYOrKHAw 密码:w36p
rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm --force --nodeps
然后点击 Retry
安装成功后先不要关闭,需要root下手动执行两个脚本
sh /data/oraInventory/orainstRoot.sh
sh /data/oracle/product/11.2.0/dbhome_1/root.sh
Enter the full pathname of the local bin directory: [/usr/local/bin]: 这里直接回车
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ... 到此安装结束
[root@localhost oracle]# ls /usr/local/bin/ 其实就在这个目录下生产三个文件
coraenv dbhome oraenv
再点ok 再close
4.12、配置监听程序
重新在图形界面打开一个命令端口,输入netca, 出现如下窗口, 选择“Listener configuration”
Oracle Net Configuration Assistant:欢迎使用
勾选监听程序配置,单击下一步
![](https://img2018.cnblogs.com/blog/1413787/201811/1413787-20181121113143297-1262744563.png)
Oracle Net Configuration Assistant:监听程序配置,监听程序
可以添加、重新设置、重命名或删除监听程序。重命名或删除监听程序前,先停止监听程序。
这里选择添加,单击下一步
Oracle Net Configuration Assistant:监听程序配置,监听程序名
输入监听程序的名称。每个监听程序由唯一的名称标识。LISTENER 是第一个监听程序的默认名称。
这里默认为LISTENER,单击下一步
Oracle Net Configuration Assistant:监听程序配置,选择协议
从可用协议列表中选择协议TCP,然后选择右箭头按钮,将其移到选定的协议列表中,单击下一步
Oracle Net Configuration Assistant:监听程序配置,TCP/IP 协议
配置监听程序的TCP/IP端口号,有两个选项可供选择:使用标准端口号 1521和请使用另一个端口号;
这里勾选使用标准端口号 1521,单击下一步
![](https://img2018.cnblogs.com/blog/1413787/201811/1413787-20181121113657926-1679140929.png)
Oracle Net Configuration Assistant:监听程序配置,更多的监听程序?
指定是否为此节点配置另一个监听程序。 否不再配置另一个监听程序。 是配置另一个监听程序。
勾选否,单击下一步
Oracle Net Configuration Assistant:监听程序配置完成!
单击下一步
Oracle Net Configuration Assistant:欢迎使用
单击完成,退出该向导
查看监听端口
[oracle@oracledb ~]$ netstat -aln |grep 1521
tcp6 0 0 :::1521 :::* LISTEN
查看监听状态
[oracle@oracledb ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 20-NOV-2018 22:47:05
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracledb)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 20-NOV-2018 22:38:34
Uptime 0 days 0 hr. 8 min. 30 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /data/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File /data/oracle/diag/tnslsnr/oracledb/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracledb)(PORT=1521)))
The listener supports no services
The command completed successfully
登录oracle查看表格
[oracle@oracledb ~]$ sqlplus "/as sysdba"
SQL*Plus: Release 11.2.0.1.0 Production on Tue Nov 20 22:47:46 2018
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL> select * from tab;
select * from tab
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0
SQL>
参照文档
https://blog.csdn.net/MYF12/article/details/78631739
https://www.cnblogs.com/hanxing/p/5662114.html
https://blog.csdn.net/star714/article/details/51344298
下面报错修改文件内容都是在oracle用户下修改的,用root用户修改后不生效
解决oracle11G安装84%报错 出现Error in invokingtarget
https://blog.csdn.net/m0_37941193/article/details/65698597
%86时出现报错 Error in invoking target 'agent nmhs' of makefile https://www.linuxidc.com/Linux/2017-03/142095.htm