zoukankan      html  css  js  c++  java
  • Linux系统(X64)安装Oracle11g完整安装图文教程另附基本操作(Redhat6.5 CentOS6.5通用)

    因项目需求,需要在64位linux系统中安装Oracle 11g,在网上查了很多内容,结合自己的实际经验,终于安装成功,记录下来,分享给有需要的同志们。本人服务器实际测试。

    一、检查Linux安装Oracle所需要的安装包并安装(本地yum,网络yum源):

    rpm -qa|grep binutils
    rpm -ivh sysstat-7.0.2.rpm
    
    rpm -ivh binutils-2.17.50.0.6-14.el5.*.rpm
    rpm -ivh compat-libstdc++-33-3.2.3-61.*.rpm
    rpm -ivh elfutils-libelf-0.137-3.el5.*.rpm
    rpm -ivh elfutils-libelf-devel-0.137-3.el5.i386.rpm elfutils-libelf-devel-static-0.137-3.el5.i386.rpm
    rpm -ivh elfutils-libelf-devel-0.137-3.el5.x86_64.rpm elfutils-libelf-devel-static-0.137-3.el5.x86_64.rpm
    rpm -ivh gcc-4.1.2-48.el5.*.rpm
    rpm -ivh gcc-c++-4.1.2-48.el5.*.rpm
    rpm -ivh glibc-2.5-49.*.rpm
    rpm -ivh glibc-common-2.5-49.*.rpm
    rpm -ivh glibc-devel-2.5-49.*.rpm
    rpm -ivh libaio-0.3.106-5.*.rpm
    rpm -ivh libaio-devel-0.3.106-5.*.rpm
    rpm -ivh libgcc-4.1.2-48.el5.*.rpm
    rpm -ivh libstdc++-4.1.2-48.el5.*.rpm
    rpm -ivh libstdc++-devel-4.1.2-48.el5.*.rpm
    rpm -ivh make-3.81-3.el5.*.rpm
    rpm -ivh sysstat-7.0.2-3.el5.*.rpm
    rpm -ivh unixODBC-2.2.11-7.1.*.rpm
    rpm -ivh unixODBC-devel-2.2.11-7.1.*.rpm
    rpm -ivh libXp-1.0.0-8.1.el5.*.rpm
    rpm -ivh libXau-devel-1.0.1-3.1.*.rpm
    rpm -ivh libXp-devel-1.0.0-8.1.el5.*.rpm

    二、修改操作系统核心参数

    在Root用户下执行以下步骤:

    1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件

    输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件

    oracle soft nproc 2047

    oracle hard nproc 16384

    oracle soft nofile 1024

    oracle hard nofile 65536

    编辑完成后按Esc键,输入“:wq”存盘退出

    2)修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。

    session required /lib/security/pam_limits.so

    
    

    session required pam_limits.so

    
    

    编辑完成后按Esc键,输入“:wq”存盘退出

    3)修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi /etc/sysctl.conf ,按i键进入编辑模式,将下列内容加入该文件

    
    

    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 = 4194304

    net.core.rmem_max = 4194304

    net.core.wmem_default = 262144

    net.core.wmem_max = 1048576

    编辑完成后按Esc键,输入“:wq”存盘退出

    4)要使 /etc/sysctl.conf 更改立即生效,执行以下命令。 输入:sysctl -p 显示如下:

    linux:~ # sysctl -p
    
    net.ipv4.icmp_echo_ignore_broadcasts = 1
    
    net.ipv4.conf.all.rp_filter = 1
    
    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 = 4194304
    
    net.core.rmem_max = 4194304
    
    net.core.wmem_default = 262144
    
    net.core.wmem_max = 1048576
    

     

    5)编辑 /etc/profile ,输入命令:vi /etc/profile,按i键进入编辑模式,将下列内容加入该文件。

    if [ $USER = "oracle" ]; then
    
    if [ $SHELL = "/bin/ksh" ]; then
    
    ulimit -p 16384
    
    ulimit -n 65536
    
    else
    
    ulimit -u 16384 -n 65536
    
    fi
    
    fi
    
    

    编辑完成后按Esc键,输入“:wq”存盘退出

    6)创建相关用户和组,作为软件安装和支持组的拥有者。

    创建Oracle用户和密码,输入命令:

       

      #groupadd oinstall 

      #groupadd dba

      #useradd -g oinstall -g dba -m oracle

      #passwd oracle

    
    

    然后会让你输入密码,密码任意输入2次,但必须保持一致,回车确认。

    7)创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到oracle用户下,例如:

    输入命令:

    mkdir -p /home/oracle/app
    
    mkdir -p /home/oracle/app/oracle
    
    mkdir -p /home/oracle/app/oradata
    
    mkdir -p /home/oracle/app/oracle/product
    
    

    8)更改目录属主为Oracle用户所有,输入命令:

    chown -R oracle:oinstall /home/oracle/app

    9)创建oracle安装临时文件目录(注意安装目录的读写权限和所有者权限)

      #mkdir /tmp/oracle

      #chmod a+wr /tmp/oracle

    10)配置oracle用户的环境变量,首先,切换到新创建的oracle用户下,

    输入:su – oracle ,然后直接在输入 : vi .bash_profile

    按i编辑 .bash_profile,进入编辑模式,增加以下内容:

    export ORACLE_BASE=/home/oracle/app
    
    export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
    
    export ORACLE_SID=orcl
    
    export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
    
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
    
    

    编辑完成后按Esc键,输入“:wq”存盘退出

    三、安装过程

    1)当上述系统要求操作全部完成后,注销系统,在图形界面以Oracle用户登陆。首先将下载的Oracle安装包复制到linux临时oracle临时文件夹中,用SSH其他ftp工具拷贝。

    打开一个终端,运行unzip命令解压oracle安装文件,如:

    输入命令:

    unzip linux.x64_11gR2_database_1of2.zip
    
    unzip linux.x64_11gR2_database_2of2.zip
    
    

    解压完成后 cd 进入其解压后的目录database

    输入命令:

    cd database

    1)使用ls命令可以查看解压后database所包含的文件,如下图:

    2)执行安装,输入命令:./runInstaller,在实际安装过程中如果有乱码运行xhost x,LANG=en两条命令。

    装到这一步,可以看到,可以查看到有很多的rpm包没有,我们可以从yum安装所缺的包(也可以时本地yum源),使用ftp上传到linux中,然后使用rpm –ivh xxx.rpm --nodeps –force 来进行安装(其中加上--nodeps -- force 代表强制安装,是在直接使用rpm –ivh xxx.rpm安装不成功的情况下用的)等到把包全部都安装好的情况下,再次在oracle图形界面中,执行安装过程2,下来在环境检查过程中,就通过了。

    
    

     安装完成后,系统会提示你需要用root权限执行2个shell脚本。按照其提示的路径,找到其所在的位置,如:我的就在/home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh

    和 /home/oracle/oraInventory/orainstRoot.sh 新开启一个终端,输入命令:

    su – root
    
    cd /home/oracle/app/oracle/product/11.2.0/dbhome_1
    
    sh root.sh
    
    cd /home/oracle/oraInventory
    
    sh orainstRoot.sh

    三、数据库建库

    1) 还是在oracle用户的图形界面oracle用户中,新开启一个终端,直接输入命令dbca会弹出如下界面。我们这里采用定制数据库。

    经过漫长的等待,当看到此界面,说明oracle建库完成。注意最后提示与sys与system 口令设置

    四、配置监听及本地网络服务

    1)在oracle用户的图形界面oracle用户中,新开启一个终端,输入命令netca 会弹出如下界面。

    2)创建监听服务(充当oracle服务器,让别的oracle客户端连接本oracle服务器)

    3) 配置本地网络服务名(充当oracle客户端,连接别的oracle服务器)

    ca

    输入连接的oracle服务器的数据库的实例名

    输入oracle服务器的ip地址

    选中YES测试

    点击change Login 输入所连接oracle服务器的其中某一个用户名和密码(用户名oracle和设置的密码),点击OK

    看到此界面说明测试成功(如果不成功,请查看网络是否畅通,所连接的oracle服务器是否启动,监听是否启动等原因)

    为你所设置的本地网络服务名起个名字

    这样oracle服务器安装配置基本就完成了

    最后在instantclient_11与PLSQL建立连接配置就可以连接到Oracle数据库服务器。打开plsql-tools-preferences 

    绿色为要修改的地方,是instantclient_11存放的目录。

    在目录instantclient_11下建立NETWORK/ADMIN文件夹,复制Oracle服务器端tnsnames.ora文件,并修改HOST=Oracle

    服务器IP地址。保存退出。

    注意:

    1、Linux oracle数据库listener.ora存放路径

    cd /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

    2、Linux oracle数据库tnsnames.ora存放路径

    cd /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora

    3、ORACLE启动监听器
    (1)切换至oracle安装用户(一般为oracle)
    su - oracle 
    (2)启动监听器
    lsnrctl start 
    (3)停止监听器
    lsnrctl stop

    4、启动测试oracle:
    [oracle@oracle ~]$ sqlplus /nolog
    SQL*Plus: Release 11.2.0.1.0 Production on Fri Jul 27 02:12:12 2012
    Copyright (c) 1982, 2009, Oracle. All rights reserved.
    SQL> quit
    测试的另一种方法:找一台windows平台电脑,telnet oracle主机IP地址:1521,通的话,会出现一个黑屏,光标一闪一闪。

    5、Linux开放1521端口允许网络连接Oracle Listener

    症状:
    (1)TCP/IP连接是通的。可以用ping 命令测试。
    (2)服务器上Oracle Listener已经启动。
    lsnrctl status 查看listener状态
    lsnrctl start 启动Oracle listener 
    (3)客户端得到的错误信息通常是:ORA-12170: TNS:连接超时 
    这时,我们基本可以肯定是服务器没有开放1521端口(假设你用默认设置)

    解决方法: 
    (1)假如你是在一个局域网环境,配置了防火墙。那么可以关闭Linux的防火墙。
    sudo service iptables stop
    (2)编辑iptables, 开放1521端口:
    sudo vi /etc/sysconfig/iptables
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT 
    :wq

    重启防火墙
    sudo service iptables restart
    保存配置,以便linux重启后依然有效
    sudo service iptables save 
    查看防火墙规则:
    sudo iptables -L –n

    6、linux下创建oracle用户表空间

    就是在已有的数据库实例上创建一个新的帐号,访问一些新的表
    操作步骤如下:
    (1)登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户)
    (2)以sysdba方式来打开sqlplus,命令如下: sqlplus "/as sysdba"
    (3)查看我们常规将用户表空间放置位置:执行如下sql:
    select name from v$datafile
    (4)创建用户表空间:
    CREATE TABLESPACE NOTIFYDB DATAFILE '/home/oracle/app/oradata/orcl/scsdb.dbf' SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; 
    (5)创建用户,指定密码和上边创建的用户表空间
    CREATE USER scs IDENTIFIED BY scs DEFAULT TABLESPACE NOTIFYDB;
    (6)赋予权限
    grant connect,resource to scs;
    grant unlimited tablespace to scs;
    grant create database link to scs;
    grant select any sequence,create materialized view to scs; 
    --经过以上操作,我们就可以使用scs/scs登录指定的实例,创建我们自己的表了

     

     

     

     

     

     

     

     

     

     



     

  • 相关阅读:
    将单向链表按某值划分为左边小、中间相等、右边大的形式
    数组中的数字按某值划分为左边小、中间相等、右边大的形式
    Kendo UI for jQuery管理数据有妙招!轻松将数据存储为JSON
    DevExpress Xamarin.Forms v21.1
    界面控件Telerik UI for WinForm初级教程
    WPF应用程序的主题颜色如何修改?DevExpress调色板工具很好用
    DevExpress WinForm模板库可快速创建Windows样式的应用程序界面
    Kendo UI for jQuery数据管理使用教程:Spreadsheet
    开发框架DevExtreme入门级教程
    跨平台.NET应用程序界面开发新亮点
  • 原文地址:https://www.cnblogs.com/zb9222/p/6030280.html
Copyright © 2011-2022 走看看