CentOS 6.5_x64安装Oracle 11g R2  安装环境:  操作系统:CentOS6.5_x64 Desktop 主机名:Oracledb  内存:1G(官方最低要求1G  硬盘:40G(企业版安装所需4.29G1.7G数据文件)安装前系统准备:   #设置操作系统  系统支持Red Hat Enterprise Linux 6CentOS 6其实就是RHEL6,但Oracle不认,所以要改一下  vim /etc/redhat-release  #CentOS release 6.3 (Final) 这行注释掉,加上下面的 Red Hat Enterprise Linux 6

 

#包需求

 

这是最烦人的。无数人死在这上面或精力耗在这上面

不过11g

很人性化了,增加了检查的机制,

还有就是不象10g

那样在

64位下要安装很多的

32位包,只需要安装一个

gcc-32bit-4.3

OK

了。

下列表必须要安装:

 

binutils-2.20.51.0.2-5.11.el6 (x86_64)

compat-libcap1-1.10-1 (x86_64)

compat-libstdc++-33-3.2.3-69.el6 (x86_64)

compat-libstdc++-33-3.2.3-69.el6.i686

gcc-4.4.4-13.el6 (x86_64)

gcc-c++-4.4.4-13.el6 (x86_64)

glibc-2.12-1.7.el6 (i686)

glibc-2.12-1.7.el6 (x86_64)  glibc-devel-2.12-1.7.el6 (x86_64) glibc-devel-2.12-1.7.el6.i686 ksh  libgcc-4.4.4-13.el6 (i686) libgcc-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6.i686  libstdc++-devel-4.4.4-13.el6 (x86_64) libstdc++-devel-4.4.4-13.el6.i686 libaio-0.3.107-10.el6 (x86_64) libaio-0.3.107-10.el6.i686  libaio-devel-0.3.107-10.el6 (x86_64) libaio-devel-0.3.107-10.el6.i686 make-3.81-19.el6  sysstat-9.0.4-11.el6 (x86_64)

技巧(包名不要加版本号,即第一个

-数字”后面的不要,如gcc

 rpm -q

包名  yum list installed | grep '^包名

' 没装的配好网络或配置好

dvd2 yum install

包名

yum install

包名

* yum search 包名

 

yum whatprovides

文件名

 yum install 文件名

 

yum 不到的

google找到

rpm wgetxxxx.rpm

rpm -ivhxxx.rpm

  好,安装,安装前用先更新一下系统到最新版本

yum list updates

yum upgrade

reboot  我已经将上面包写成安装一个命令了,除非人品不好,不然应该一次成功

 

yum -y install \

binutils \

compat-libcap1  \

compat-libstdc++-33 \

compat-libstdc++-33*.i686 \

elfutils-libelf-devel \

gcc \

gcc-c++ \

glibc*.i686 \

glibc \

glibc-devel \

glibc-devel*.i686 \

ksh \

libgcc*.i686 \

libgcc \

libstdc++ \

libstdc++*.i686 \

libstdc++-devel \

libstdc++-devel*.i686 \

libaio \

libaio*.i686 \

libaio-devel \

libaio-devel*.i686 \

make \

sysstat \

unixODBC \

unixODBC*.i686 \

unixODBC-devel \

unixODBC-devel*.i686 \

libXp

            

#修改主机名

[root@oracledb ~]# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network 

[root@oracledb ~]# hostname

oracledb

#添加主机名与IP对应记录

[root@oracledb ~]# vi /etc/hosts 

192.168.1.160    oracledb

#关闭Selinux 

[root@oracledb ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config [root@oracledb ~]# setenforce 0

1、  安装依赖包 

yum install elfutils-libelf-devel* 

 

[root@oracledb ~]# yum -y install  gcc gcc-c++ make binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel  libaio libaio-devel libgcc libstdc++ libstdc++-devel unixODBC unixODBC-devel

 

 

2、  创建用户和组  [root@oracledb ~]# sysctl -p  

[root@oracledb ~]# groupadd -g 200 oinstall

[root@oracledb ~]# groupadd -g 201 dba 

[root@oracledb ~]# useradd -u 440 -g oinstall -G dba oracle 

[root@oracledb ~]# passwd oracle  

3、  修改内核参数 

[root@oracledb ~]# 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 

 

或者:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1200000000
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

 

4、  修改系统资源限制 

[root@oracledb ~]# vi /etc/security/limits.conf

#末尾添加如下

oracle  soft    nproc  2047 

oracle  hard   nproc  16384 

oracle  soft    nofile  1024 

oracle  hard   nofile  65536  

[root@oracledb ~]# vi /etc/pam.d/login  

session    required    pam_namespace.so 

#下面添加一条pam_limits.so

session    required    pam_limits.so

[root@oracledb ~]# 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  

 

导致以下问题,解决方法:

-bash: ulimit: open files: cannot modify limit: Operation not permitted

今天来的早特意查看了一下这个问题,经过google搜索发现是配置问题解决如下:

[root@inner ~]# vi /etc/security/limits.conf

* soft  nofile  65536

* hard  nofile  65536

 

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

[root@oracledb ~]# mkdir /opt/oracle/app/ 

[root@oracledb ~]# mkdir /opt/oracle/oradata/ 

[root@oracledb ~]# chmod 755/opt/oracle/ 

[root@oracledb ~]# chmod 775/opt/oracle/app/  

[root@oracledb ~]# chown -R oracle:oinstall /opt/oracle/

6、  设置oracle环境变量  

[oracle@oracledb ~]$ 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 

或:

 

ORACLE_BASE=/opt/oracle/app

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

ORACLE_SID=orcl

export ORACLE_BASE ORACLE_HOME ORACLE_SID

 

PATH=$PATH:$ORACLE_HOME/bin

exprot PATH

[oracle@oracledb ~]$ source .bash_profile  #立即生效  

7、  安装oracle  

下载并解压:

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html [root@oracledb~]# unzip /media/linux.x64_11gR2_database_1of2.zip 

[root@oracledb~]# unzip /media/linux.x64_11gR2_database_2of2.zip 

[root@oracledb~]# xhost +  #使所有用户都能访问图形桌面

[root@oracledb~]# su oracle  

[oracle@oracle~]#./media/database/runInstaller

 

进入安装界面

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

#选择安装数据库软件并创建数据,选第一项。也可以选择第二项仅安装数据库软件

#选择服务器版本

#单实例数据库

#高级模式安装

#添加支持的语言

#选择要安装的版本

#安装数据库目录  /opt/oracle/app  /opt/oracle/app/product/11.2.0/dbhome_1

#数据库用途

#数据库名及服务名

#开启自动内存管理 $$ #设置默认编码为UTF8

#启用Oracle企业管理控制台OEM

#选择数据库文件目录 /opt/oracle/app/oradata

#自动备份设置 Do not

#设置数据库用户名和密码

#授权的组

#检查Oracle一些安装要求,包都已经安装,直接忽略

#开始安装

#安装完成

 

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

[root@oracledb ~]$ /opt/oracle/oraInventory/orainstRoot.sh  

[root@oracledb ~]$ /opt/oracle/app/product/11.2.0/dbhome_1/root.sh

 

 

8、  Oracle常用命令 

[root@oracledb ~]# su oracle 

[oracle@oracledb ~]# 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 #查看视图信息 

[root@oracledb ~]# lsnrctl start #开启远程监听端口

 

###远程连接信息 /opt/oracle/app/product/11.2.0/dbhome_1/network/admin/tnsnames.ora

 

9、  oracle用户 

#syssystem用户区别

1>.存储数据重要性不同  sys存放数据字典的基表和视图,由数据库自己维护,任何用户都不能手动更改,sys用户拥有dbasysdbasysoper等角色或权限,是oracle权限最高用户。  system用户只存放一些一级的内部数据,如oracle的一些特性或工具的管理信息。用于数据库管理,System用户拥有普通dba角色权限。

2>.权限不同  sys用户具有sysdbasysoper系统权限,登录em也只能用这两个身份,不能用normal system用户只能用normal身份登录em,除非你对它授予了sysdba的系统权限或syspoer系统权限。 

#sysdbasysoper两个系统权限区别

normal是普通用户 

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

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

 

#dbasysdba的区别 

先了解下oracle服务的创建过程:创建实例 -->启动实例 -->创建数据库

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

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

Logo

更多推荐