redhat系统安装Oracle
首先安装yum
https://blog.csdn.net/qq_28657369/article/details/84543715
下载oracle数据库
https://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html
准备Oracle的安装环境(root用户)
检查和和更新所需要的软件包
执行命令
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel
rpm -q gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers
rpm -q ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl-devel sysstat
对于未安装的这些包执行yum install [包名],命令如下
yum install compat-libstdc++-33
yum install elfutils-libelf-devel
在Oracle数据库软件安装时,ksh实际是用的pdksh,但ksh也是可以使用的,只是安装时会有警告,pdksh是一个早期的软件包,可以在http://rpm.pbone.net/ 中找到。
验证系统要求
查看内存大小 grep MemTotal /proc/meminfo
查看交换空间 grep SwapTotal /proc/meminfo
查看磁盘空间 df -h Oracle 11g R2 x64企业版的磁盘空间要求4.35GB以上。
创建Oracle用户组和用户账号(root用户)
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
配置内核参数(root用户)
1.修改文件/etc/sysctl.conf vim /etc/sysctl.conf
文件内容如下:
#/etc/sysctl.conf
# for oracle
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
# 官方文档kernel.shmmax = 536870912,实际软件中需要kernel.shmmax = 980742144
kernel.shmmax = 980742144
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
执行命令: /sbin/sysctl -p 使参数生效。
2. 修改文件/etc/security/limits.conf vim /etc/security/limits.conf
文件内容如下:
# /etc/security/limits.conf
# for oracle
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
:wq保存文件并退出
创建Oracle的安装目录(root用户)
# mkdir -p /u01/app/
# chown -R oracle:oinstall /u01/app/
# chmod -R 775 /u01/app/
编辑Oracle用户环境(Oracle用户)
在root用户下输入 su oracle 进入oracle用户环境
编辑.bash_profile文件 vim /home/oracle/.bash_profile
.bash_profile文件内容如下:
#For Oracle
export DISPLAY=:0.0
export TMP=/tmp;
export TMPDIR=$TMP;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1;
export ORACLE_SID=oracle11g;
export ORACLE_TERM=xterm;
export PATH=/usr/sbin:$PATH;
export PATH=$ORACLE_HOME/bin:$PATH;
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
:wq保存退出。
重新启动Linux,选择oracle用户环境的时候,系统会根据环境变量进行配置,后边的oracle命令才能正常执行。
输入 echo $ORACLE_HOME 查看环境变量是否配置成功,如果正常输出了配置的路径,则成功,如果输出为空白,可以在本次手动执行 source /home/oracle/.bash_profile 执行环境变量的加载。但是仅在当前终端窗口有效。
安装ORACLE数据库(oracle用户)
进入oracle解压缩后的安装目录,我的目录是 /mnt/usb/database cd /mnt/usb/database
键入vncserver 如果提示command not found,则在root用户下使用 yum install tigervnc-server -y进行安装
执行 ./runInstaller 进入安装界面,我之前遇到过无法启动用户界面的情况,报的错误忘记了,反正能正常进入安装界面就行了。
进入安装界面后,安装过程和Windows下大致相同。
如果出现了缺失依赖包可以点击右上角的ignore all忽略所有
其中如果报错误:Error in invoking target ‘agent nmhs’ of makefile ‘/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk’ 解决方案是: 保留安装过程,另外开启一个终端窗口,将ins_emagent.mk文件中的(MK_EMAGENT_NMECTL)更改为(MK_EMAGENT_NMECTL) -lnnz11,然后在安装过程中点击Retry即可。
在安装到68%时提示错误Error in invoking target 'install' of makefile '/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk'. See '/u01/app/oraInventory/logs/installActions2015-01-22_09-39-03AM.log' for details.
下载glibc-static-2.17-55.el7.x86_64.rpm安装,下载地址:
------------------------------------------分割线------------------------------------------
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2015年资料/1月/22日/RHEL7.0 VNC远程安装Oracle 11gR2报错解决
该软件包包含一个静态链接库:/usr/lib64/libc.a
修改/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk,将
ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
修改为:
ctxhx: $(CTXHXOBJ)
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a
点击Retry继续安装。
安装最后步骤按提示在root用户下执行脚本.
# cd /u01/app/oraInventory/
# sh orainstRoot.sh
# cd /u01/app/oracle/product/11.2.0/dbhome_1/
# sh root.sh
在Enter the full pathname of the local bin directory:[/usr/local/bin]:直接回车即可
配置监听器
oracle安装成功后需要配置监听器,直接键入 netca命令,如果提示bash:netca:command not found ,手工执行source /home/oracle/.bash_profile,就可以进入配置监听器的用户界面了,根据需要配置监听器。
1. 配置Listener configuration
2. 配置Local Net Service Name configuration
新建数据库实例
键入 dbca 命令,进行数据库实例配置
测试数据库
测试监听命令
$ lsnrctl stop
$ lsnrctl start
如果在start这个过程中 报The listener supports no services
解决办法:打开listener.ora 文件 vim $ORACLE_HOME/network/admin/listener.ora
添加内容:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = oracle11g)
(SID_NAME = oracle11g)
)
)
其中oracle11g是自己配置的服务器名称.
操作sqlplus
命令 sqlplus /nolog 进入SQL控制台
命令 connect /as sysdba sysdba连接数据库。如果此时显示Connected to an idle instance,不用着急,进入第3个步骤
命令 shutdown immediate ,如果此时报service handle not initialized。在sysdba连接上之后键入shutdown abort
命令 startup.如果此时报错,请检查一下.bash_profile下边的$ORACLE_SID是否和建的数据库的SID一直,然后保存为一致之后重新启动。
其他测试命令,比如select userenv(‘language’) from dual,查看数据库的dataset编码,为后续oracle数据库的导入做准备。
至此,oracle数据库已经完全安装在Linux服务器上了!
原文博客:https://blog.csdn.net/u012272908/article/details/77411149