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服务