一、安装Oracle前准备1.创建运行oracle数据库的系统用户和用户组[sonny@localhost ~]$ su root#切换到rootPassword:[root@localhost sonny]# groupadd oinstall#创建用户组oinstall[root@localhost sonny]# groupadd dba#创建用户组dba[root@localhost sonny]# useradd -g oinstall -g dba -m oracle#创建oracle用户,并加入到oinstall和dba用户组[root@localhost sonny]# passwd oracle#设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆Changing password for user oracle.New password: # 密码BAD PASSWORD: The password is shorter than 8 charactersRetype new password: # 确认密码passwd: all authentication tokens updated successfully.[root@localhost sonny]# id oracle # 查看新建的oracle用户uid=1001(oracle) gid=1002(dba) groups=1002(dba)[root@localhost sonny]#理论上单例按照需要3种用户组,实际只建两个oinstall和dba,后面再安装oracle数据库的时候把OSOPER组也设置是dba组。
a.oracle 清单组(一般为oinstall):OINSTALL 组的成员被视为Oracle 软件的“所有者”,拥有对Oracle 中央清单(oraInventory) 的写入权限。
在一个Linux 系统上首次安装Oracle 软件时,OUI 会创建/etc/oraInst.loc 文件。
该文件指定Oracle 清单组的名称(默认为oinstall)以及Oracle 中央清单目录的路径。
b.数据库管理员(OSDBA,一般为dba):OSDBA 组的成员可通过操作系统身份验证使用SQL 以SYSDBA 身份连接到一个Oracle 实例。
该组的成员可执行关键的数据库管理任务,如创建数据库、启动和关闭实例。
该组的默认名称为dba。
SYSDBA 系统权限甚至在数据库未打开时也允许访问数据库实例。
对此权限的控制完全超出了数据库本身的范围。
不要混淆SYSDBA系统权限与数据库角色DBA。
DBA 角色不包括SYSDBA 或SYSOPER 系统权限。
c.数据库操作员组(OSOPER,一般为oper):OSOPER 组的成员可通过操作系统身份验证使用SQL 以SYSOPER 身份连接到一个Oracle 实例。
这个可选组的成员拥有一组有限的数据库管理权限,如管理和运行备份。
该组的默认名称为oper。
SYSOPER 系统权限甚至在数据库未打开时也允许访问数据库实例。
对此权限的控制完全超出了数据库本身的范围。
要使用该组,选择Advanced 安装类型来安装Oracle 数据库软件。
2.修改操作系统核心参数在Root用户下执行以下步骤:1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件。
oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536编辑完成后按Esc键,输入“:wq”存盘退出2)修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。
session required /lib/security/pam_limits.sosession required pam_limits.so编辑完成后按Esc键,输入“:wq”存盘退出3)修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi /etc/sysctl.conf ,按i键进入编辑模式,将下列内容加入该文件fs.file-max = 6815744fs.aio-max-nr = 1048576kernel.shmall = 2097152kernel.shmmax = 2147483648kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 4194304net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576编辑完成后按Esc键,输入“:wq”存盘退出4)要使/etc/sysctl.conf 更改立即生效,执行以下命令。
输入:sysctl -p 显示如下:linux:~ # sysctl -pnet.ipv4.icmp_echo_ignore_broadcasts = 1net.ipv4.conf.all.rp_filter = 1fs.file-max = 6815744fs.aio-max-nr = 1048576kernel.shmall = 2097152kernel.shmmax = 2147483648kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 4194304net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 10485765)编辑/etc/profile ,输入命令:vi /etc/profile,按i键进入编辑模式,将下列内容加入该文件。
if [ $USER = "oracle" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fifi编辑完成后按Esc键,输入“:wq”存盘退出6)创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到oracle用户下,例如:输入命令:mkdir /home/oracle/appmkdir /home/oracle/app/oraclemkdir /home/oracle/app/oradatamkdir /home/oracle/app/oracle/product7)更改目录属主为Oracle用户所有,输入命令:chown -R oracle:oinstall /home/oracle/app8)配置oracle用户的环境变量,首先,切换到新创建的oracle用户下,输入:su –oracle ,然后直接在输入:vi .bash_profile按i编辑.bash_profile,进入编辑模式,增加以下内容:export ORACLE_BASE=/home/oracle/appexport ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1export ORACLE_SID=orclexport PATH=$PATH:$HOME/bin:$ORACLE_HOME/binexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib编辑完成后按Esc键,输入“:wq”存盘退出ps:我的云服务器没有防火墙,如果你们有,可以关闭--关闭防火墙CentOS 7.2默认使用的是firewall作为防火墙[sonny@localhost /]$ su rootPassword:[root@localhost /]# systemctl status firewalld.service#查看防火墙状态,运行中●firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2016-04-07 18:54:29 PDT; 2h 20min agoMain PID: 802 (firewalld)CGroup: /system.slice/firewalld.service└─802 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopidApr 07 18:54:25 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon... Apr 07 18:54:29 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon. [root@localhost /]# systemctl stop firewalld.service#关闭防火墙[root@localhost /]# systemctl status firewalld.service#再次查看防火墙状态,发现已关闭●firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: inactive (dead) since Thu 2016-04-07 21:15:34 PDT; 9s agoMain PID: 802 (code=exited, status=0/SUCCESS)Apr 07 18:54:25 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon... Apr 07 18:54:29 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon. Apr 07 21:15:33 localhost systemd[1]: Stopping firewalld - dynamic firewall daemon...Apr 07 21:15:34 localhost systemd[1]: Stopped firewalld - dynamic firewall daemon.[root@localhost /]# systemctl disable firewalld.service#禁止使用防火墙(重启也是禁止的)Removed symlink /etc/systemd/system/dbus-org.Fedoraproject.FirewallD1.service.Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.[root@localhost /]#防火墙先禁用,搞好之后再配置,个人虚拟机,要毛线防火墙~~6.关闭selinux(需重启生效)[root@localhost /]# vi /etc/selinux/config[root@localhost /]# cat /etc/selinux/config# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:# enforcing - SELinux security policy is enforced.# permissive - SELinux prints warnings instead of enforcing.# disabled - No SELinux policy is loaded.SELINUX=disabled #此处修改为disabled# SELINUXTYPE= can take one of three two values:# targeted - Targeted processes are protected,# minimum - Modification of targeted policy. Only selected processes are protected.# mls - Multi Level Security protection.SELINUXTYPE=targeted[root@localhost /]#为啥要关闭selinux?因为selinux太高深,非专业人士搞不懂~~二、正式Oracle的安装过程1)当上述系统要求操作全部完成后,注销系统,在图形界面以Oracle用户登陆。