晓夏

YoungCheung

Zhang Sir's technical way

Centos6.7 安装oracle11g

浏览量:1100

一、oracle介绍

1.1  介绍

        Oracle Database,又名Oracle RDBMS,或简称Oracle 是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。

1.2 完整的数据管理功能

1)数据的大量性 
2
)数据的保存的持久性 
3
)数据的共享性 
4
)数据的可靠性

1.3、完备关系的产品

1)信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;

2)保证访问的准则

3)视图更新准则---只要形成视图的表中的数据变化了,相应的视图中的数据同时变化

4)数据物理性和逻辑性独立准则

1.4、优点

a、可用性强

b、可扩展性强

c、数据安全性稳定

d、稳定性强

1.5、逻辑结构

它由至少一个表空间和数据库模式对象组成。这里,模式是对象的集合,而模式对象是直接引用数据库数据的逻辑结构。模式对象包括这样一些结构:表、视图、序列、存储过程、同义词、索引、簇和数据库链等。逻辑存储结构包括表空间、段和范围,用于描述怎样使用数据库的物理空间。 

总之,逻辑结构由逻辑存储结构(表空间,,范围,)和逻辑数据结构(表、视图、序列、存储过程、同义词、索引、簇和数据库链等)组成,而其中的模式对象(逻辑数据结构)和关系形成了数据库的关系设计。

1.6 版本历史

        Oracle数据库自发布至今,也经历了一个从不稳定到稳定,从功能简单至强大的过程。从第二版开始,Oracle的每一次版本变迁,都具有里程碑意义。

            1979年的夏季,RSIOracle公司的前身,Relational SoftwareInc)发布了Oracle第二版。

            19833月,RSI发布了Oracle第三版。从现在起Oracle产品有了一个关键的特性--可移植性。

            198410月,OracleRSI更名为Oracle)发布了第4版产品。这一版增加了读一致性这个重要特性。

            1985年,Oracle发布了5.0版。这个版本是Oracle数据库较为稳定的版本。并实现了C/S模式工作。

            1986年,Oracle发布了5.1版。该版本开始支持分布式查询。

            1988年,Oracle发布了第6版。该版本中引入了行级锁特性,同时还引入了联机热备份功能。

            19926月,Oracle发布了第7版。该版本增加了包括分布式事务处理功能、用于应用程序开发的新工具及安全性方法等功能。

            19976月,Oracle8版发布。Oracle8支持面向对象的开发及新的多媒体应用。

            19989月,Oracle公司正式发布Oracle 8i。正是因为该版本对Internet的支持,所以,在版本号之后,添加了标识i

            20016月,Oracle发布了Oracle 9i

            20039月,Oracle发布了Oracle 10g。这一版的最大特性就是加入了网格计算的功能,因此版本号之后的标识使用了字母g,代表Grid--网格。

            2007711日,Oracle发布了Oracle 11gOracle 11g实现了信息生命周期管(Information Lifecycle Management)等多项创新。

            20136月,新一代数据库 Oracle Database 12c 现已推出,可在各种平台上使用。Oracle Database 12c 企业版包含500多个新特性,其中包括一种新的架构,可简化数据库整合到云的过程,使客户无需更改应用即可将多个数据库作为一个来管理。

        Oracle的最新版本为Oracle 12c,但是,目前应用最广泛的版本为Oracle 11gOracle 10g。本文选取使用的版本为Oracle 11g

        Oracle具有强大的功能,因此,对于硬件要求也较高。Oracle 10g安装的硬件要求如下:

        1024MB以上的物理内存。1.53.5 GB磁盘空间,具体大小由安装类型决定。

        Oracle数据库11g有多个版本可供选择:

    标准版1、标准版和企业版。

        所有这些版本都使用相同的通用代码库构建,这意味着企业的数据库管理软件可以轻松地从规模较小的单一处理器服务器扩展到多处理器服务器集群,而无需更改一行代码。Oracle数据库11g企业版还有许多其他增强了性能、可伸缩性、可用性、安全性和可管理性的功能选项。

二、安装

2.1、racle软件下载

http://pan.baidu.com/s/1miRuJNi

2.2、环境准备

#硬盘 8G+

[root@oracle ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        98G  3.7G   89G   4% /
tmpfs           932M  232K  932M   1% /dev/shm
/dev/sda1       190M   41M  140M  23% /boot
/dev/sr0        3.7G  3.7G     0 100% /media/CentOS_6.7_Final

#内存1.5G+

[root@oracle ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1863        636       1226          3         24        353
-/+ buffers/cache:        258       1604 
Swap:          767          0        767

#系统

[root@oracle ~]# cat /etc/redhat-release 
CentOS release 6.7 (Final)

#主机名

[root@oracle ~]# hostname 
oracle

#selinux状态 && 关闭防护墙

[root@oracle ~]# getenforce 
Disabled
[root@oracle ~]# /etc/init.d/iptables stop

#调整字符集

[root@oracle ~]# echo $LANG
en_US.UTF-8

2.3 安装oracle

#创建用户和组

[root@oracle ~]# groupadd oinstall
[root@oracle ~]# groupadd dba
[root@oracle ~]# useradd  -g oinstall -G dba oracle
[root@oracle ~]# echo 123456 |passwd --stdin oracle
Changing password for user oracle.
passwd: all authentication tokens updated successfully.

#创建oracle目录文件夹

[root@oracle ~]# mkdir -p /u01/app
[root@oracle ~]# chown -R oracle:oinstall /u01
[root@oracle ~]# chmod -R 755 /u01

#修改hosts配置文件

# vim /etc/hosts
192.168.56.20 oracle

#其他参数设置

cat >> /etc/profile << EOF
if [ \$USER = "oracle" ];then
    if [ \$SHELL = "/bin/ksh" ];then
        ulimit -p 16384
        ulimit -n 65536
else
        ulimit -u 16384 -n 65536
    fi
fi
EOF

#设置.bash_profile

cat >> /home/oracle/.bash_profile <<EOF
HISTTIMEFORMAT='[%F %T]'
ORACLE_BASE=/u01/app
ORACLE_SID=orcl
ORACLE_HOME=\$ORACLE_BASE/oracle/product/11.2.0.3/db_1
NLS_LANG=AMERICAN_CHINA.ZHS16GBK
LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
PATH=\$ORACLE_HOME/bin:\$PATH
export ORACLE_BASE ORACLE_HOME  ORACLE_SID NLS_LANG PATH
EOF

#补充 本人生产用的:

ORACLE_BASE=/home/oracle
ORACLE_HOME=${ORACLE_BASE}/product/11.2.0.3/db_1
ORACLE_SID=orcl
LD_LIBRARY_PATH=${ORACLE_HOME}/lib
PATH=$PATH:${ORACLE_HOME}/bin:$HOME/bin;
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH

注意:需要创建相应的目录以及权限,否则安装不成功!!!!!!!!

#设置systcl

cat >> /etc/sysctl.conf << EOF
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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
EOF

查看生效情况

[root@oracle ~]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296

#设置/etc/security/limits.conf

cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF

#设置/etc/pam.d/login

cat >> /etc/pam.d/login <<EOF
session    required     /lib64/security/pam_limits.so
EOF

注意:上面步骤如果不设置,后面会出现error

上传软件包并且创建目录

[root@oracle ~]# mkdir /tmp/oracle && cd /tmp/oracle
[root@oracle oracle]# ll
total 2442052
-rw-r--r-- 1 root root 1358454646 Apr 28 00:16 p10404530_112030_Linux-x86-64_1of7.zip
-rw-r--r-- 1 root root 1142195302 Apr 28 00:14 p10404530_112030_Linux-x86-64_2of7.zip

#我们需要使用unzip进行解压,解压之后会在当前目录下生成database文件夹

接下来我们需要安装2个包组,因为包组比较大,建议使用本地Yum进行安装

blob.png


配置本地Yum

[root@oracle yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  
CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Vault.repo
[root@oracle yum.repos.d]# mkdir test && mv * test
mv: cannot move `test' to a subdirectory of itself, `test/test'
[root@oracle yum.repos.d]# cat   CentOS-Base.repo
[local]
name=local
baseurl=file:///mnt
enable=1
gpgcheck=0
[root@oracle yum.repos.d]# mount /dev/cdrom /mnt/ 
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@oracle yum.repos.d]# yum clean all
[root@oracle yum.repos.d]# yum makecache

#安装包组

[root@oracle yum.repos.d]# yum groupinstall desktop  -y
[root@oracle yum.repos.d]# yum install xorg-x11-utils -y
[root@oracle yum.repos.d]# yum groupinstall  "Compatibility libraries" "Base" "Development tools" "debugging Tools" -y

提示如果安装不上可以直接下载包进行安装:

链接:

#安装xmanage Enterprise 5

下载地址链接:http://pan.baidu.com/s/1hrM3b3u

blob.png

blob.png

这里需要填写产品密钥,打开我提供的压缩包,运行激活码文件。将时间修改为12/05/2014即可


blob.png

安装成功之后会在桌面生成下图文件

blob.png

 打开,运行下图软件

blob.png

  blob.png                                          

注意:我们只需要打开一个就好,出现这个图标就可以

因为我们要使用图形化进行安装,需要进行IP的绑定

首先,打开网络适配器,我们的网络是NAT模式,所以是VMware 8 网卡。 如果是其他网卡,就查看对应的IP即可

blob.png


知道IP之后我们设置环境变量

[root@oracle yum.repos.d]# export DISPLAY=192.168.56.1:0.0
#因为这个变量是临时的,所有的会话必须在一个窗口

我们还需要开启转发功能,如果不勾选会无法显示图形化

blob.png

blob.png

设置完成后我们切换Oracle用户,执行安装脚本

[root@oracle yum.repos.d]# export DISPLAY=192.168.56.1:0.0
[root@oracle yum.repos.d]# xhost +
access control disabled, clients can connect from any host
[root@oracle yum.repos.d]# su - oracle
[oracle@oracle ~]$ cd /tmp/oracle/database/
[oracle@oracle database]$ ./runInstaller

注意:如果执行xhost +结果如下

[oracle@oracle ~]$ xhost +
xhost:  unable to open display "localhost:10.0"

那么需要添加环境变量到/etc/profile

[root@oracle ~]#echo "export DISPLAY=192.168.56.1:0.0" >>/etc/profile
[root@oracle ~]#source /etc/profile

图形化安装oracle

blob.png

blob.png

blob.png

我们选择创建并配置数据库 

blob.png

我们选择Server版本,Desktop是桌面版本,Server是服务器版本

blob.png

我们选择安装单实例数据库

blob.png

我们选择试用版本进行安装

blob.png

设置账户密码 

blob.png

blob.png

点击继续即可

blob.png

检查安装环境 

blob.png

此处提示我们swap分区需要达到2.7273G,并且还缺少2个软件包

blob.png

生成swap分区

[root@oracle ~]# cd /tmp &&  dd if=/dev/zero of=swap bs=1M count=2048
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 18.1425 s, 118 MB/s
[root@oracle tmp]# mkswap /tmp/swap -f
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=f8c9dc94-c80a-40e3-bfe2-88e6c8c6a873
[root@oracle tmp]# swapon /tmp/swap
[root@oracle tmp]# free -m
             total       used       free     shared    buffers     cached
Mem:          2871       2794         76          0         28       2429
-/+ buffers/cache:        336       2534
Swap:         3071          0       3071

因为还缺少软件包,我们还需要在安装软件包

[root@oracle tmp]# cd
[root@oracle ~]# yum install -y libaio-devel

还缺少一个pdksh软件包,我们提供软件包下载。地址如下

链接:http://pan.baidu.com/s/1jISeLEY

上传后安装软件包

[root@oracle ~]# rz
 
[root@oracle ~]# ls
anaconda-ks.cfg  install.log.syslog
install.log      pdksh-5.2.14-37.el5_8.1.x86_64.rpm
[root@oracle ~]# rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm 
warning: pdksh-5.2.14-37.el5_8.1.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID e8562897: NOKEY
Preparing...                ########################################### [100%]
   1:pdksh                  ########################################### [100%]

我们进行重新检查

blob.png

[root@oracle ~]# yum install -y elfutils-libelf-devel

blob.png

最后环境都通过之后会有下图,我们可以将它保存一份 

blob.png

等待安装完成

blob.png

会跳转到其他窗口,继续等待即可

blob.png

然后下一步

blob.png

这里提示我们需要执行脚本

blob.png

注意:我们不能着急点确定,先执行脚本。然后在点击确定

使用Root用户执行2个脚本

[root@oracle ~]# sh /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /u01/oraInventory to oinstall.
The execution of the script is complete.
[root@oracle ~]# sh /u01/app/oracle/product/11.2.0.3/db_1/root.sh 
Performing root user operation for Oracle 11g 

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/11.2.0.3/db_1

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Finished product-specific root actions.

提示:这个路径要根据提示进行操作!

下图提示:企业版Oracle已经安装完成,管理界面是ip:1158/em

blob.png

我们点击关闭

我们可以查看是否有oracle进程

[root@oracle ~]# netstat -lntup|grep 1158
tcp        0      0 :::1158                     :::*                        LISTEN      61615/java          
[root@oracle ~]#

其中1521就是oracle进程,1158就是Web端的端口

我们如果还想登陆的话就需要进行授权,需要给em设置用户名密码

[root@oracle ~]# su - oracle
[oracle@oracle ~]$ sqlplus / as sysdba#需要进入到oracle用户下,否则会没有sqlplus命令
SQL> alter user sys identified by 123456;

授权完之后使用浏览器进行访问,URL如下https://192.168.56.20:1158/em

用户名:sys 密码:123456

blob.png

blob.png

到此,oracle安装完毕!


神回复

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。