CentOS 6.5 安装Oracle 11g R2

一、安装前系统准备:
1、#修改主机名
[[email protected] ~]# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network

[[email protected] ~]# hostname oracledb

2、#添加主机名与IP对应记录
[[email protected] ~]# vi /etc/hosts 
192.168.90.179    oracledb

3、#关闭Selinux
[[email protected] ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config  
[[email protected] ~]# setenforce 0

4、安装依赖包
[[email protected] ~]# yum -y install  gcc gcc-c++ make binutilscompat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-commonglibc-devel 
libaio libaio-devel libgcclibstdc++ libstdc++-devel unixODBC unixODBC-devel

5、创建用户和组
[[email protected] ~]# sysctl -p 
[[email protected] ~]# groupadd -g 200 oinstall 
[[email protected] ~]# groupadd -g 201 dba 
[[email protected] ~]# useradd -u 440 -g oinstall -G dba oracle 
[[email protected] ~]# passwd oracle

6、修改内核参数
[[email protected] ~]# vi/etc/sysctl.conf  #末尾添加如下 
net.ipv4.ip_local_port_range= 9000 65500 
fs.file-max = 6815744 
kernel.shmall = 10523004 
kernel.shmmax = 6465333657 
kernel.shmmni = 4096 
kernel.sem = 250 32000 100128 
net.core.rmem_default=262144 
net.core.wmem_default=262144 
net.core.rmem_max=4194304 
net.core.wmem_max=1048576 
fs.aio-max-nr = 1048576

7、修改系统资源限制

[[email protected] ~]# vi/etc/security/limits.conf #末尾添加如下 
oracle  soft  nproc  2047 
oracle  hard  nproc  16384 
oracle  soft  nofile  1024 
oracle  hard  nofile  65536

[[email protected] ~]# vi/etc/pam.d/login 
session    required    pam_namespace.so  #下面添加一条pam_limits.so 
session    required    pam_limits.so

8、创建安装目录及设置权限

[[email protected] ~]# mkdir /opt/oracle/app/ 
[[email protected] ~]# mkdir /opt/oracle/oradata/ 
[[email protected] ~]# chmod 755/opt/oracle/ 
[[email protected] ~]# chmod 775/opt/oracle/app/ 
[[email protected] ~]# chown oracle.oinstall -R /opt/oracle/

9、设置oracle环境变量

[[email protected] ~]$ vi ~/.bash_profile 
export ORACLE_BASE=/opt/oracle/app
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export   ORACLE_SID=orcl 
[[email protected] ~]$ source .bash_profile  #立即生效

10、安装oracle

下载并解压:
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
[[email protected]~]# unzip /media/linux.x64_11gR2_database_1of2.zip 
[[email protected]~]# unzip /media/linux.x64_11gR2_database_2of2.zip 
[[email protected]~]# xhost +  #使所有用户都能访问图形桌面 
[[email protected]~]# su –oracle 
[[email protected]~]#./media/database/runInstaller

#输入接受一些安全问题的邮件地址

CentOS 6.5 安装Oracle 11g R2CentOS 6.5 安装Oracle 11g R2CentOS 6.5 安装Oracle 11g R2

CentOS 6.5 安装Oracle 11g R2

CentOS 6.5 安装Oracle 11g R2

CentOS 6.5 安装Oracle 11g R2CentOS 6.5 安装Oracle 11g R2CentOS 6.5 安装Oracle 11g R2CentOS 6.5 安装Oracle 11g R2CentOS 6.5 安装Oracle 11g R2CentOS 6.5 安装Oracle 11g R2CentOS 6.5 安装Oracle 11g R2CentOS 6.5 安装Oracle 11g R2CentOS 6.5 安装Oracle 11g R2CentOS 6.5 安装Oracle 11g R2CentOS 6.5 安装Oracle 11g R2CentOS 6.5 安装Oracle 11g R2CentOS 6.5 安装Oracle 11g R2CentOS 6.5 安装Oracle 11g R2CentOS 6.5 安装Oracle 11g R2CentOS 6.5 安装Oracle 11g R2



#安装完成后,会出来一个对话框,提示使用root用户执行这两个脚本

[[email protected] ~]$ /opt/oracle/oraInventory/orainstRoot.sh 
[[email protected] ~]$ /opt/oracle/app/product/11.2.0/dbhome_1/root.sh

备注:Sql plus命令报command not found的解决

分析和解决
这种情况应该是路径的问题,应该Oracle刚刚安装成功的,而且安装过程中没有出现异常。
我echo $oracle_home为空,echo $path也为空,问题就出在这里了。
然后我
export ORACLE_HOME=<your Oracle Home>
export PATH=$ORACLE_HOME/bin:$PATH
再次运行Sqlplus命令,ok,可以了。


Oracle常用命令
[[email protected] ~]# su –oracle
[[email protected] ~]# sqlplus / as sysdba
SQL> startup #启动数据库实例
SQL> shutdown immediate #关闭数据库实例
SQL> select * from tab; #查看所有表
SQL> select name from v$datafile #查看数据库存放目录
SQL> show parameter service #查看服务名
SQL> select * from v$instance; #查看实例名
SQL> select name from v$database; #查看数据库名
SQL> select * fromdba_users; #查看所有用户信息
SQL> select username,password from dba_users; #只查询用户和密码
SQL> select * fromv$pwfile_users; #查看具有sysdba权限的用户
SQL> select * fromdba_ustats; #查看当前用户信息
SQL> select * fromuser_sys_privs #查看当前用户系统权限
SQL> select * fromuser_role_privs #查看当前用户角色
SQL> select * fromdba_sys_privs #查看指定用户所具有的系统权限
SQL> select * fromv$version #查看oracle版本
SQL> select * fromuser_views #查看视图信息
[[email protected] ~]# lsnrctl start #开启远程监听端口
###远程连接信息

CentOS 6.5 安装Oracle 11g R2

10、oracle用户
#sys和system用户区别
1>.存储数据重要性不同
sys存放数据字典的基表和视图,由数据库自己维护,任何用户都不能手动更改,sys用户拥有dba、sysdba、sysoper等角色或权限,是oracle权限最高用户。
而system用户只存放一些一级的内部数据,如oracle的一些特性或工具的管理信息。用于数据库管理,System用户拥有普通dba角色权限。
2>.权限不同
sys用户具有sysdba或sysoper系统权限,登录em也只能用这两个身份,不能用normal。
system用户只能用normal身份登录em,除非你对它授予了sysdba的系统权限或syspoer系统权限。
#sysdba和sysoper两个系统权限区别
normal是普通用户
sysdba拥有最高的系统权限,登录后是sys
sysoper主要用来启动、关闭数据库,sysoper登录后用户是public
#dba和sysdba的区别
先了解下oracle服务的创建过程:创建实例 --> 启动实例 --> 创建数据库
启动过程:实例启动 --> 装载数据库 --> 打开数据库
sysdba是管理oracle实例的,它的存在不依赖于整个数据库完全启动,只要实例启动了,它就已经存在,以sysdba身份登录,装载数据库,打开数据库。只有数据库打开了,或者整个数据库完全启动后,dba角色才有存在的基础。

经过这次的安装,刚接触Oracle的朋友们,已经不再对Oracle陌生了吧!