说明

在Vmware虚拟机上搭建的环境,安装过程中,也遇到了几个问题,此处不详细说明,下一篇专门总结遇到的问题及解决方法。


系统及环境

操作系统: Centos7.0

数据库版本:Oracle11G R2

系统内存:3G

硬盘:40G




安装准备


修改主机名

# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=Oracletest/" /etc/sysconfig/network

# hostname Oracletest


添加主机名与IP对应记录

# vi /etc/hosts

10.1.23.186     Oracletest


#关闭Selinux

# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config  

# setenforce 0


安装步骤


1、安装依赖包

1
2
# 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


2、创建用户和组

1
2
3
4
5
# groupaddoinstall
# groupadd dba
# useradd oracle-g oinstall -d /home/oracle
# usermod -G dbaoracle
# passwd oracle


3、修改内核参数

1
2
3
4
5
6
7
8
9
10
11
12
# 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


4、修改系统资源限制

1
2
3
4
5
# vi/etc/security/limits.conf #末尾添加如下
oracle   soft  nproc   2047
oracle   hard  nproc   16384
oracle   soft  nofile   1024
oracle   hard  nofile   65536
1
2
3
# vi/etc/pam.d/login
session    required    pam_namespace.so  #下面添加一条pam_limits.so
session    required    pam_limits.so
1
2
3
4
5
6
7
8
9
# vi/etc/profile    #这个感觉没多大用
if [ $USER ="oracle" ]; then
if [ $SHELL = "/bin/ksh" ];then
ulimit -16384
ulimit -65536
else
ulimit -16384 -65536
fi
fi


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

1
2
3
4
5
# mkdir /opt/oracle/app/
# mkdir /opt/oracle/oradata/
# chmod 755/opt/oracle/
# chmod 775/opt/oracle/app/
# chown oracle.oinstall -R /opt/oracle/


6、设置oracle环境变量(以oracle用户登录设置)

1
2
3
4
5
6
7
8
9
10
11
$ vi ~/.bash_profile
ORACLE_BASE=/opt/oracle/app
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
PATH=$PATH:$ORACLE_HOME/bin
ROACLE_SID=orcl
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin 
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib 
LANG="zh_CN.UTF-8"                
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH LANG
 
$ source .bash_profile  #立即生效


7、安装oracle 

下载并解压:(下载去oracle官网下载即可,下载步骤略)

1
2
3
4
5
6
7
#cd /opt/soft
# unzip linux.x64_11gR2_database_1of2.zip
# unzip media/linux.x64_11gR2_database_2of2.zip
# xhost +   #使所有用户都能访问图形桌面
# su - oracle
# cd /opt/soft/databases
# ./runInstaller








 配置安全更新页面,点击下一步  (注意:此处安装界面出来的时候,有的可能是乱码【出现各种方格子】,主要和语言环境,字体等有关系,可以安装中易宋体18030,可以解决乱码问题;或者直接设置LANG为英文环境,在英文下安装也可)

Linux下安装Oracle11G R2详解

 

确认不提供电子邮件地址,点击是进行下一步

Linux下安装Oracle11G R2详解









 

选择创建和配置数据库,点击下一步

Linux下安装Oracle11G R2详解

 

选择服务器类,点击下一步

 

Linux下安装Oracle11G R2详解

 

选择单实例数据库安装,点击下一步

Linux下安装Oracle11G R2详解

 

选择高级安装,点击下一步

Linux下安装Oracle11G R2详解

 

默认产品语言‘简体中文’‘英文’

Linux下安装Oracle11G R2详解

企业版

Linux下安装Oracle11G R2详解

 

指定安装位置

Linux下安装Oracle11G R2详解

 

Linux下安装Oracle11G R2详解


 


Linux下安装Oracle11G R2详解





 

输入全局数据库名和 SID

Linux下安装Oracle11G R2详解

 

字符集选择‘ZHS16GBK

Linux下安装Oracle11G R2详解

 

Linux下安装Oracle11G R2详解

 

Linux下安装Oracle11G R2详解

 



Linux下安装Oracle11G R2详解


Linux下安装Oracle11G R2详解



Linux下安装Oracle11G R2详解







 


 


 

执行先决条件检查页面,点击修补并再次检查

失败内容仅包含操作系统内核参数,点击‘修补并再次检查’


(注意:此处如果你有缺少包未通知,你只需要安装相应的包32位和64位都要安装,安装完成后,再次检查还是不能通过,那么你可以直接全部忽略,直接下一步)

Linux下安装Oracle11G R2详解

 

执行修复脚本,点击确定进行下一步

 root 用户执行以下命令:

1cd /tmp/CVU_11.2.0.1.0_oracle/

2./runfixup.sh

 

Linux下安装Oracle11G R2详解

 

安装概要页面,点击完成开始安装


Linux下安装Oracle11G R2详解

Linux下安装Oracle11G R2详解





 

安装产品

Linux下安装Oracle11G R2详解

 

数据库创建完成,点击确定进行下一步

Linux下安装Oracle11G R2详解

 

执行配置脚本,点击确定进行下一步

 root 用户执行以下命令:

1
2
3
4
1)cd /opt/app/oraInventory/
2)./orainstRoot.sh
3)cd /opt/app/oracle/product/11.2.0/db_1/
4)./root.sh(当出现 Enter the full pathname of the local bin directory:[/usr/local/bin]: 时点击回车键)

 

Linux下安装Oracle11G R2详解

 

Linux下安装Oracle11G R2详解



oracle常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
    # su – oracle
  
    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          #查看视图信息
  
    lsnrctl start                               #开启远程监听端口






10、oracle用户和system用户区别

1>.存储数据重要性不同

存放数据字典的基表和视图,由数据库自己维护,任何用户都不能手动更改,sys用户拥有dba、sysdba、sysoper等角色或权限,是oracle权限最高用户。

而system用户只存放一些一级的内部数据,如oracle的一些特性或工具的管理信息。用于数据库管理,System用户拥有普通dba角色权限。

2>.

用户具有sysdba或sysoper系统权限,登录em也只能用这两个身份,不能用normal。

system用户只能用normal身份登录em,除非你对它授予了sysdba的系统权限或syspoer系统权限。

#sysdba和sysoper两个系统权限区别

normal是普通用户

sysdba拥有最高的系统权限,登录后是sys

sysoper主要用来启动、关闭数据库,sysoper登录后用户是public

和sysdba的区别

先了解下oracle服务的创建过程:–> –> 创建数据库

启动过程:实例启动 –> 装载数据库 –> 打开数据库

sysdba是管理oracle实例的,它的存在不依赖于整个数据库完全启动,只要实例启动了,它就已经存在,以sysdba身份登录,装载数据库,打开数据库。只有数据库打开了,或者整个数据库完全启动后,dba角色才有存在的基础。



本文转自pizibaidu 51CTO博客,原文链接:http://blog.51cto.com/pizibaidu/1613521,如需转载请自行联系原作者


相关文章: