1.安装Oracle 11g依赖包
关闭selinux vi /etc/selinux/config 设置SELINUX=disabled
关闭防火墙 service iptables stop
[root@CentOS tmp]# yum install -y binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl sysstat libXp unixODBC unixODBC-devel
2.添加安装用户和用户组 [root@CentOS tmp]# groupadd oinstall [root@CentOS tmp]# groupadd dba [root@CentOS tmp]# useradd -g oinstall -G dba oracle [root@CentOS tmp]# passwd oracle [root@CentOS tmp]# id oracle uid=1001(oracle) gid=1001(oinstall) 组=1001(oinstall),1002(dba)
创建安装目录 [root@localhost opt]# mkdir -p /opt/oracle/product/11.2.0 [root@localhost opt]# chown -R oracle:oinstall /opt/oracle [root@localhost opt]# chmod -R 775 /opt/oracle
[root@localhost opt]# mkdir /opt/oraInventory [root@localhost opt]# chown oracle:oinstall /opt/oraInventory; [root@localhost opt]# chmod -R 775 /opt/oraInventory;
将解压好的oracle的database文件放入到oracle文件下,使oracle帐号对 /home/oracle/database 有执行权限,可使用如下命令将该目录赋予oracle帐号所有者,并拥有执行权限
[root@localhost database]# chmod -R 700 /opt/oracle/database [root@localhost database]# chown -R oracle:oinstall /opt/oracle/database
3.修改内核参数配置文件 [root@CentOS ~]# vi /etc/sysctl.conf 添加以下内容 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 1073741824 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 执行以下命令是配置生效 [root@CentOS ~]# sysctl -p 其中kernel.shmmax = 1073741824为本机物理内存(2G)的一半,单位为byte。
4.修改用户的限制文件 [root@CentOS ~]# vi /etc/security/limits.conf 添加以下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
可选 修改/etc/pam.d/login文件: [root@CentOS ~]# vi /etc/pam.d/login 添加以下内容: session required /lib64/security/pam_limits.so session required pam_limits.so
5.配置环境变量
[root@CentOS ~]# vi ~/.bashrc
TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_BASE=/opt/oracle export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2/dbhome_1 export ORACLE_HOME ORACLE_SID=orcl export ORACLE_SID ORACLE_TERM=xterm export ORACLE_TERM PATH=/usr/sbin:$PATH PATH=$ORACLE_HOME/bin:$PATH export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib export CLASSPATH #LD_ASSUME_KERNEL=2.4.1; export LD_ASSUME_KERNEL if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi export LANG=en_US.utf8 export LANGUAGE=en_US.utf8 export NLS_LANG="Simplified Chinese_China.UTF8" export LC_ALL=en_US.utf8
保存退出后执行如下命令使以上设置立即生效: source /home/oracle/.bash_profile
Oracle安装时图形化界面乱码可以先执行下列命令再执行安装 [root@localhost database] export LANG=en_US;
/opt/oracle/database/runInstaller; ##执行该程序开始安装 [root@localhost database] ./runInstaller
Centos7Oracle安装过程中问题解决 安装过程中,在link binaries阶段出现2个错误,第一个是关于ins_ctx.mk,log显示: /lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14' 原因据说是由于本机的glibc版本高于2.14(实际为2.17)。 解决方法: yum install glibc-static 该软件包包含一个静态链接库:/usr/lib64/libc.a
修改/app/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/stdc.a 点击Retry即可。
第二个错误是”Error in invoking target 'agent nmhs' of makefile'/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk.' 解决方法,在makefile中添加链接libnnz11库的参数: 修改/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk,将 $(MK_EMAGENT_NMECTL) 修改为: $(MK_EMAGENT_NMECTL) -lnnz11 点击Retry即可。
出现该问题bash: lsnrctl: command not found...解决办法
1.确认系统当前的ORACLE_HOME和ORACLE_SID环境变量 查看环境变量 echo $ORACLE_HOME echo $ORACLE_SID
2.编辑环境变量 vi /home/oracle/.bash_profile source /home/oracle/.bash_profile
直接导入环境变量 export ORACLE_HOME=/opt/oracle/product/11.2.0/dbhome_3 export ORACLE_SID=orcl
数据库停止与启动
查看oracle是否启动 ps -ef|grep oracle
重启数据库服务:
#su – oracle
打开sqlplus
#sqlplus /nolog
#conn / as sysdba
#shutdown immediate; --关闭数据库
#startup; --启动数据库
quit 退出sqlplus
重启监听服务:
#su - oracle
#lsnrctl stop --关闭监听
#lsnrctl start --启动监听
检查oracle监听器运行状态 #lsnrctl status --命令查看
控制台服务启动 emctl start dbconsole启动oracle的em服务
















