目录
5.保存退出
		
		Oracle 11g下载地址:
		http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
		
		选择需要的oracle安装文件下载
Oracle 11g 联机文档:
		http://www.oracle.com/pls/db112/homepage
		
		可以下载其PDF文档参考(其中的有关Linux安装向导是最权威的安装手册)
		 
Oracle 11g R2数据库安装硬件配置要求:
		最小内存 1 GB of RAM
		虚拟内存容量
| Available RAM | Swap Space Required | 
|---|---|
| Between 1 GB and 2 GB | 1.5 times the size of RAM | 
| Between 2 GB and 16 GB | Equal to the size of RAM | 
| More than 16 GB | 16 GB | 
		
		硬盘空间要求
		数据库软件硬盘空间需求:
| Installation Type | Requirement for Software Files (GB) | 
|---|---|
| Enterprise Edition | 3.95 | 
| Standard Edition | 3.88 | 
数据文件硬盘空间需求:
| Installation Type | Requirement for Data Files (GB) | 
|---|---|
| Enterprise Edition | 1.7 | 
| Standard Edition | 1.5 | 
		 
		检查的命令
		内存
		# grep MemTotal /proc/meminfo
		交换空间
		# grep SwapTotal /proc/meminfo
		磁盘空间
		# df -ah
Linux平台环境准备
		查看联机文档,可以看出Oracle 11g支持Linux操作系统
		http://docs.oracle.com/cd/E11882_01/install.112/e24321/pre_install.htm%23CHDFFBIF
		下面是 X86(32位)上Linux
		
		其中Red Hat 4与Oracle Linux 4对应,以及与Cent OS 4对应(版本要对应)
需要的软件包支持:
		通过查看Oracle安装文档中列出的Package Requirements可以查看在不同平台上需要的软件包,下面列出Asianux 3, Oracle Enterprise Linux 5.0, and Red Hat Enterprise Linux 5.0的要求,检查
		下系统是否安装过这些包,如果没在对应的系统光盘查找对应的rpm包并安装。
		检查工作:依次执行:rpm -qa | grep 下面软件包
		binutils-2.17.50.0.6
		compat-libstdc++-33-3.2.3
		elfutils-libelf-0.125
		elfutils-libelf-devel-0.125
		elfutils-libelf-devel-static-0.125
		gcc-4.1.2
		gcc-c++-4.1.2
		glibc-2.5-24
		glibc-common-2.5
		glibc-devel-2.5
		glibc-headers-2.5
		kernel-headers-2.6.18
		ksh-20060214
		libaio-0.3.106
		libaio-devel-0.3.106 
		libgcc-4.1.2
		libgomp-4.1.2
		libstdc++-4.1.2 
		libstdc++-devel-4.1.2
		make-3.81
		sysstat-7.0.2
		unixODBC-2.2.11
		unixODBC-devel-2.2.11
		binutils-2.17.50.0.6
		compat-libstdc++-33-3.2.3
		elfutils-libelf-0.125
		elfutils-libelf-devel-0.125
		elfutils-libelf-devel-static-0.125
		gcc-4.1.2
		gcc-c++-4.1.2
		glibc-2.5-24
		glibc-common-2.5
		glibc-devel-2.5
		glibc-headers-2.5
		kernel-headers-2.6.18
		ksh-20060214
		libaio-0.3.106
		libaio-devel-0.3.106
		libgcc-4.1.2
		libgomp-4.1.2
		libstdc++-4.1.2
		libstdc++-devel-4.1.2
		make-3.81
		sysstat-7.0.2
		unixODBC-2.2.11
		unixODBC-devel-2.2.11
创建Oracle用户
root用户:创建Oracle安装组oinstall,数据库管理员组dba,及oracle用户
		# /usr/sbin/groupadd oinstall
		# /usr/sbin/groupadd dba
		# /usr/sbin/useradd -g oinstall -G dba oracle(主组oinstall,其它组:dba)
		# passwd oracle
修改内核参数
root用户:修改 /etc/sysctl.conf 文件,加上如下参数
		fs.aio-max-nr = 1048576
		fs.file-max = 6815744
		kernel.shmall = 2097152
		kernel.shmmax = 536870912
		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
修改用户限制
root用户:修改 /etc/security/limits.conf 文件,加上下面的参数
		oracle           soft    nproc   2047
		oracle           hard    nproc   16384
		oracle           soft    nofile  1024
		oracle           hard    nofile  65536
修改用户验证选项
root用户下:修改/etc/pam.d/login文件加上如下参数
session required pam_limits.so
修改用户配置文件
root用户下:修改/etc/profile文件加入如下参数:
		if [ $USER = "oracle" ]; then
		        if [ $SHELL = "/bin/ksh" ]; then
		              ulimit -p 16384
		              ulimit -n 65536
		        else
		              ulimit -u 16384 -n 65536
		        fi
		fi
安装目录配置
		root用户:
		# mkdir -p /u01/oraInventory
		# chown -R oracle:oinstall /u01/
		# chmod -R 775 /u01/
修改用户bash shell
		$ vi .bash_profile
		增加如下内容,主要是修改
		export ORACLE_BASE=/u01 
		export ORACLE_HOME=$ORACLE_BASE/oracle
		export ORACLE_SID=oracleSid 
		export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
		完成后执行:
		#su –oracle
		#env | grep ORA查看环境变量是否完成
Oracle 11g安装图解
安装软件
使用oracle用户登录,然后解压缩Oracle安装文件:
$ unzip linux_11gR1_database.zip
然后进入解压后的目录,执行
$ ./runInstaller
		然后进入解压后的目录,执行
		
		选择高级安装,高级也挺简单
		
		默认oraInventory认为是根目录下,oracle用户没有写权限,所以warning,不用管执行下一步
		
		修改inventory directory目录为/u01/oralInventory,此时oracle用户就有写权限,下一步:
		
		       oracle会进行安装前检查工作,如果没有错误,则直接下一步。
		可能出现的错误是:
		(1)修改的系统配置文件没有生效,最绝的办法,重启系统
		(2)静态IP问题,如果你使用了静态IP,则应该打开/etc/hosts添加静态IP指定:如192.168.188.10       localhost.localdomain(路由域名)
		(3)内存问题,如果内在设置1G左右,或稍微较少时,可忽略
		一直下一步,安装完成!但此时没有创建数据库 。
创建数据库
首先配置Listener
			$ netca       (net configuration)
			注意:此时可能报如下错误
			
			 
 
			 
				是由于默认的主机名导致的,修改2处
				[oracle@jc11g ~]$ cat /etc/sysconfig/network
				NETWORKING=yes
				HOSTNAME=test11g
				GATEWAY=192.168.1.254
				 
				[oracle@jc11g ~]$ cat /etc/hosts
				# Do not remove the following line, or various programs
				# that require network functionality will fail.
				127.0.0.1 
				 
				hostname test11g
				让oracle用户退出重新登录就可以正常启动netca了 (参考:http://blog.sina.com.cn/s/blog_470504830100s2fz.html)
端口使用1521(在没有启用防火墙情况下,所有端口号都可以使用),直接下一步至完成,完成后查看是否启动:
$ ps –ef | grep LISTENER
创建数据库
$dbca (database configuration)
		下一步
		
		选择默认,下一步
		输入数据库名和SID(如示例中:oracleSid,一定要匹配)下一步
		
		下一步
		
		使用共同口令,如:oracle,下一步,直到如下图所示:
		
		此时需要注意字符集的选择,对于含有中文数据的数据库来说,可以选择Unicode编码(如果字符集选择不对,后面再修改时非常麻烦)
		
		下一步,选择安装一些示例数据库,一路下一步,将会开始创建数据库
		创建完数据库后,将会在/u01/oradata目录下创建相应的数据,并且可以使用命令
		ps –ef | grep oracle
		查看已经启动的oracle进程
		到此,oracle数据库软件及数据库安装完成。
Oracle测试
接上一节,可以使用sqlplus测试是否已经成功安装oracle,如下:
		$sqlplus /nolog
		SQL>conn / as sysdba
		SQL>create table mytable(name varchar(10), age int);
		SQL>insert into mytable values(‘user1’,12);
		SQL>select * from mytable;
关闭数据库:
		查看oracle进程:
		SQL> !ps –ef | grep oracle
		关闭oracle
		SQL>shutdown immediate
总结
下面将上面介绍的安装过程进行总结,来源:Linux开源公社
1、检查硬件
		内存
		# grep MemTotal /proc/meminfo
		交换空间
		# grep SwapTotal /proc/meminfo
		磁盘空间
		# df -ah
2、下载软件
		Oracle Database 10g Release 2 (10.2.0.1) Software下载位置:
		http://otn.oracle.com/software/products/database/oracle10g/index.html
3、修改host文件
查看/etc/hosts文件中必须包含a fully qualified name for the server
4、安装软件包检查
		1、检查下列包是否安装,若未安装则要先安装:
		binutils-2.17.50.0.6-2.el5
		compat-libstdc++-33-3.2.3-61
		elfutils-libelf-0.125-3.el5
		elfutils-libelf-devel-0.125
		glibc-2.5-12
		glibc-common-2.5-12
		glibc-devel-2.5-12
		gcc-4.1.1-52
		gcc-c++-4.1.1-52
		libaio-0.3.106
		libaio-devel-0.3.106
		libgcc-4.1.1-52
		libstdc++-4.1.1
		libstdc++-devel-4.1.1-52.e15
		make-3.81-1.1
		sysstat-7.0.0
		unixODBC-2.2.11
		unixODBC-devel-2.2.11
		 
		# rpm -qa | grep make gcc glibc compat openmotif21 setarch 等等
		 
5、libstdc包的链接
		(老版本需求,新版本oracle11不要设置):
		ln -s /usr/lib/libstdc++.so.6.0.3 /usr/lib/libstdc++.so.5           
		#检测存在如果不做此链接,在安装过程中建好数据库,将会出现不能链接不上数据库问题。
		 
三.参数设置
1、设置核心参数
		在/etc/sysctl.conf文件中加入下列行:
		#kernel.core_uses_pid = 1
		kernel.shmall = 2097152
		kernel.shmmax = 2147483648 -- (以字节为单位,物理内存数量*1024*1024*2,为内存的2倍)
		kernel.shmmni = 4096
		# semaphores: semmsl, semmns, semopm, semmni
		kernel.sem = 250 32000 100 128
		fs.file-max = 65536
		net.ipv4.ip_local_port_range = 1024 65000
		net.core.rmem_default=8388608
		net.core.rmem_max=8388608
		net.core.wmem_default=262144
		net.core.wmem_max=262144
		esc :wq!
		# sysctl -p #运行下列命令改变核心参数
		 
2、设置Shell Limits(系统资源限制),提高软件的运行效率
		 
		a.在/etc/security/limits.conf文件中加入下列红色行:
		oracle soft nofile 65536
		oracle hard nofile 65536
		oracle soft nproc 16384
		oracle hard nproc 16384
		 
		b.在/etc/pam.d/login文件中加入下列行,如果里面没有的话:
		session required /lib/security/pam_limits.so
		session required pam_limits.so
		c.在/etc/profile后加入以下语句:
		vi /etc/profile
		if [ $USER = "oracle" ]; then
		if [ $SHELL = "/bin/ksh" ]; then
		ulimit -p 16384
		ulimit -n 65536
		else
		ulimit -u 16384 -n 65536
		fi
		fi
3.创建用户和组及相关目录
		--创建dba/oper/oinstall组
		/usr/sbin/groupadd dba
		/usr/sbin/groupadd oper
		/usr/sbin/groupadd oinstall
		--创建oracle用户并设置用户所属组
		/usr/sbin/usermod -g oinstall -G dba oracle
		/usr/sbin/useradd -g oinstall -G dba oracle
		passwd oracle
		# id oracle
		uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)
		--创建相关安装目录
		 
		mkdir -p /opt/oracle/product
		mkdir -p /opt/oracle/product/OraHome
		mkdir -p /opt/oraInventory                      #(the default inventory folder)
		mkdir -p /opt/oracle/oradata                   #(change the right file owner)
		mkdir -p /var/opt/oracle
		 
		--设置目录所有者和权限
		chown -R oracle.oinstall /opt/oracle
		chown -R oracle.oinstall /opt/oracle/oradata
		chown -R oracle.oinstall /opt/oracle/product/OraHome
		chown -R oracle.dba /opt/oraInventory
		chown oracle.dba /var/opt/oracle
		chmod -R 775 /opt/oracle
		chmod -R 755 /var/opt/oracle
		 
4.设置安装环境变量
		# su - oracle --su到oracle用户下,
		更改用户的一些配置
		$vi .bash_profile
		添加以下参数,主要是配置oracle软件运环境参数
		# Get the aliases and functions
		if [ -f ~/.bashrc ]; then
		       . ~/.bashrc
		fi
		 
		export ORACLE_BASE=/opt/oracle
		export ORACLE_HOME=$ORACLE_BASE/product/OraHome
		export ORACLE_SID=orcl
		export ORACLE_OWNER=oracle
		export ORACLE_TERM=vt100
		export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
		export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
		LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
		export LD_LIBRARY_PATH
		CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
		CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
		export CLASSPATH
		 
		注:
		11g:ORA_NLS33=$ORACLE_HOME/nls/admin/data
		10g:ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
		9i:ORA_NLS33=/oracle/app/ora92/ocommon/nls/admin/data
保存退出
		--执行以下命令让配置马上生效或以oracle用户登录使设置生效
		$ source $HOME/.bash_profile
作者联系方式Email:gaojun_le#163.com(请将#替换为@)