169it科技资讯
169it -->


当前位置:  数据库>oracle

VMware中linux环境下oracle安装图文教程(一)

    来源: 互联网  发布时间:2014-10-04

安装流程:前期准备工作--->安装ORACLE软件--->安装升级补丁--->安装odbc创建数据库--->安装监听器--->安装EM

《前期准备工作》

安装配置系统环境

安装linux ,

所有服务都不选择,只是选择安装开发工具,不要安装防火墙(当然也可以在后面关闭)打开终端,执行如下命令,检查安装包,没有的都要安装

make, glibc, libaio
compat-libstdc++, compat-gcc-34, compat-gcc-34-c++, gcc, libXp
openmotif, compat-db
查询glib有没有安装
# rpm -qa | grep glib

如果没有则进行安装,安装需要挂载RHEL5这种光盘

# mount /dev/cdrom /media
# cd /media/Server

然后使用rpm包安装方式进行安装

# rpm -ivh compat-gcc-34-* --nodeps
# rpm -ivh openmotif-* --nodeps
# rpm -ivh libXp-* --nodeps
# rpm -ivh compat-db-* --nodeps

修改内核参数

增加下面的内容到文件 /etc/sysctl.conf 中:
kernel.shmall = 2097152--系统可以使用的内存页的最大数量
kernel.shmmax = 2147483648--单个共享内存段的最大大小,单位是字节
kernel.shmmni = 4096--内存页的大小
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144net.core.wmem_max=262144

运行下面的命令使得内核参数生效:

/sbin/sysctl -p

vi /etc/security/limits.conf 行末添加以下内容

#use for oracle
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536

vi /etc/pam.d/login 行末添加以下内容

session required pam_limits.so

关闭防火墙,vi /etc/selinux/config 确保以下内容

SELINUX=disabled关闭SELIINUX

配置工作做好了,我们现在开始真正图形化界面安装新增组和用户:

groupadd oinstall
groupadd dba
groupadd operuseradd -g oinstall -G dba 
oraclepasswd oracle
oinstall:属于此组的用户才能安装
oracledba:属于此组的用户才能进行sys这个用户的的操作系统验证
oper:属于此组的用户才能进行public这个用户的的操作系统验证

创建Oracle的安装目录,并把权限付给oracle用户:

mkdir -p /u01/app/oracle
chown -R 
oracle:oinstall /u01
chmod -R 775 /u01

因为oracle 的官方只支持到RHEL4为止,所以要修改版本说明,编辑文件 /etc/redhat-release 把Red Hat Enterprise Linux Server release 5 (Tikanga) 改成版本4:redhat-4oracle 用户的环境变量

以 oracle 身份登录,并通过在 .bash_profile 中添加以下行

增加下列内容:

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/10.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin

切换账号

​# su - oracle
这里解释一下:su 加不加-的区别,加-了当前的用户环境由后面的用户决定。不加的话则有root这个用户的环境决定。

我们将10201_database_linux32.zip,p8202632_10205_LINUX.zip,p8350262_10205_Generic.zip拷贝到/u01路径下。这里介绍一下三个文件的作用:

10201_database_linux32.zip   : oracle_database_10.2.0.1.0版本。
p8202632_10205_LINUX.zip    : 将oracle_database_10.2.01版本升级到10.2.0.5.0版本的补丁文件
p8350262_10205_Generic.zip  : 这是em的补丁文件

拷贝完成后进行解压操作

# : unzip 10201_database_linux32.zip

解压完成后,文件夹多了个database文件夹。

# : cd database

进入后里面有这么多个文件

【doc、 install、 response、 runInstaller、 stage、 welcome.html】

执行操作:

# : ./runInstaller

这里会发生一个异常:

Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
        at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
        at sun.awt.X11GraphicsEnvironment.<clinit>(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(Unknown Source)
        at java.awt.Window.init(Unknown Source)
        at java.awt.Window.<init>(Unknown Source)
        at java.awt.Frame.<init>(Unknown Source)
        at oracle.ewt.popup.PopupFrame.<init>(Unknown Source)
        at oracle.ewt.lwAWT.BufferedFrame.<init>(Unknown Source)
        at oracle.sysman.oio.oioc.OiocOneClickInstaller.<init>(OiocOneClickInstaller.java:378)
        at oracle.sysman.oio.oioc.OiocOneClickInstaller.main(OiocOneClickInstaller.java:2091)
解释一下:发生异常的原因是因为oracle用户没有执行图形化界面的权限

我们新开一个窗口:切换到管理员权限

# xhost +access control disabled, clients can connect from any host
这里解释一下:xhost + 这个命令允许别的用户的启动程序将图形显示在当前的屏幕上。

回到上个窗户再次执行:

$ : .runInstall

立刻出现画面,接下来就是进行图形化界面的安装了。安装内容请看图片的红颜色的笔记。

这里报了一个网络错误,这个时候我们就需要处理了。

$ vi /etc/hosts  
修改hosts的配置文件删除最后一行的内容,在最后一行加上主机的IP地址和主机名,并将第三行IP地址上面你的主机名给删除,不能让两个IP地址都对应同一个主机名,也就是不能有两个oracle出现。配置好了如下。

OK,完成后出现这个界面,这个时候我们需要将这两个脚本运行一下下。

# /u01/app/oracle/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oracle/oraInventory to 770.
Changing groupname of /u01/app/oracle/oraInventory to oinstall.
The execution of the script is complete

执行第二个脚本,这个时候出现一些询问,不管他,直接按Enter键就好了

# /u01/app/oracle/10.2.0/db_1/root.sh
Running Oracle10 root.sh script...
The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/10.2.0/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]: 
The file "dbhome" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]:
The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]:
The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]:
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.sh script.
Now product-specific root actions will be performed.

至此,我们的Linux中安装oracle-10.2.0.1.0安装完成了。
你可以在oracle用户目录下输入以下操作:

$ sqlplus / as sysdba
le dSQL*Plus: Release 10.2.0.1.0 - Production on Tue Aug 12 21:40:20 2014ase]Copyright (c) 1982, 2005, Oracle.  All rightsreserved.
Connected to an idle instance.
SQL>

显示如此证明Release 10.2.0.1.0安装成功。


    
相关技术文章:
    ▪VMware中linux环境下oracle安装图文教程(二)ORACLE 10.2.05版本的

     首先我们解压 $ unzip p8202632_10205_LINUX.zip 解压后我们会发现多出了个文件夹,他是:Disk1,进入Disk1。然后执行安装: $ ./runInstaller 执行脚本 # /u01/app/oracle/10.2.0/db_1/root.shRunning Oracle 10g root.sh script...The following environment variables are set as:    ORACLE_OWNER= oracle    ORACLE_HOME=  /u01/app/oracle/10.2.0/db_1Enter the full pathname of the local bin directory: [/usr/local/bin]: The file "dbhome" already exists in /usr/local/bin.  Overwrite it? (y/n) [n]: The file "oraenv" already exists in /usr/local/bin.  Overwrite it? ......


    ▪教你如何静默安装ORACLE

     由于本次的实验我是将上次的虚拟机直接拷贝过来,然后将里面图形化界面安装好了的oracle给删除,再次重新安装,所以这里要修改一些配置。 首先修改的是我们的IP地址 # system-config-network 完成后我们修改一下hosts文件,将里面的ip地址给修改一下 # vi /etc/hosts 接着我们删除上次安装过的ORACLE文件 # cd $ORACLE_BASE # ls # rm -rf * 进入root:rm -rf /etc/ora* 还是在安装前进行配置。 接......


    ▪Oracle 表三种连接方式使用介绍(sql优化)

     1. NESTED LOOP 对于被连接的数据子集较小的情况,nested loop连接是个较好的选择。nested loop就是扫描一个表,每读到一条记录,就根据索引去另一个表里面查找,没有索引一般就不会是 nested loops。一般在nested loop中, 驱动表满足条件结果集不大,被驱动表的连接字段要有索引,这样就走nstedloop。如果驱动表返回记录太多,就不适合nested loops了。如果连接字段没有索引,则适合走hash join,因为不需要索引。 可用ordered提示来改变CBO默认的驱动表,可用USE_NL(table_name1 table_name2)提示来强制使用nested loop。 要点如下: 1)对于被连接的数据......


 
最新技术文章:
    ▪Oracle 系统变量函数介绍

     Oracle函数多种多样,系统变量函数就是其中之一,下面就为您介绍三种最常见的系统变量函数,希望对您学习Oracle能有所帮助。 Oracle系统变量函数: (1)SYSDATE 该函数返回当前的日期和时间。返回的是Oracle服务器的当前日期和时间。 select sysdate from dual; insert into purchase values (‘Small Widget','SH',sysdate, 10); insert into purchase values (‘Meduem Wodget','SH',sysdate-15, 15); 查看最近30天的所有销售记录,使用如下命令: select * from purchase where purchase_date between (sysdate-30) and sysdate; (2)USER ......


    ▪oracle trunc()函数的使用方法

     oracle trunc()函数是最常用的函数之一,下面就为您介绍oracle trunc()函数的用法,供您参考,希望可以让您对oracle trunc()函数有更深的认识。 1.TRUNC(for dates) TRUNC函数为指定元素而截去的日期值。 其具体的语法格式如下: TRUNC(date[,fmt]) 其中: date一个日期值 fmt        日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去 下面是该函数的使用情况: TRUNC(TO_DATE('24-Nov-1999 08:00 pm','dd-mon-yyyy hh:mi am'))         ='24-Nov-1999 12:00:00 am' TRUNC(TO_DATE('24-Nov-1999 08:37 pm','dd-mon-yyyy hh:mi am'......


    ▪ORACLE学习笔记-新建用户及建表篇

     一、用户相关SQL语句 /*新建用户*/ create user SA identified by 2013; 说明:SA用户名,2013密码 /*授权connect,resource给用户sa*/ grant connect,resource to sa; 说明:CONNECT角色: --是授予最终用户的典型权利,最基本的 。         ESOURCE 角色: --是授予开发人员的 /*查询所有的用户*/ select * from all_users; /*将表STU查询权限授予SA*/ GRANT SELECT ON STU TO SA /*将表STU添加......


 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

浙ICP备11055608号