zoukankan      html  css  js  c++  java
  • Centos6.5下Oracle 11g R2安装过程

    1准备
    CentOS-6.5-x86_64-bin-DVD1
    linux_11gR2_database_1of2
    linux_11gR2_database_2of2
    VMware Workstation 10.0.2
    SSH Secure Shell Client
    instantclient_11_2
    plsqldev1005
    2安装虚拟机及CentOS
    (1)安装VMware Workstation
    (2)安装CentOS,主机命名为:oracledb
    (3)磁盘须要大于30G(经验值)
    (4)内存必须大于1G(官方要求)
    (5)操作系统swap分区大于2G(假设物理内存小于2G,则须要设置,设置值为物理内存的1-2倍,假设物理内存大于2G,则无需设置。)
    (6)虚拟机网络连接方式:桥接模式(B)直接连接物理网络
    (7)安装完毕后设置虚拟机网络(ipv4)为固定IP地址(system-config-network)
    (8)进行网络測试OK,则操作系统环境准备完成
    (9)安装虚拟机时一定要选择:先创建虚拟机后安装操作系统
    (10)为了安装Oracle,故选择安装类型为:桌面版本号。
    (11)安装SSH Secure Shell Client并连接主机
    3Oracle安装前准备
    『特殊说明』:
    (1)下面步骤中的命令太长的可通过:SSH Secure Shell Client 直接复制进行
    (2)vi基本命令:i--编辑状态  退出编辑并保存时先按ESC键,再按符合“:wq”或者":x"就可以
    (3)注意每一个步骤时的当前用户,是root还是oracle

    step-1#改动主机名
    [root@oracledb ~]# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network
    [root@oracledb ~]# hostname oracledb

    step-2#加入主机名与IP相应记录
    [root@oracledb ~]# vi /etc/hosts 
    192.168.1.8    oracledb

    step-3#关闭防火墙Selinux
    [root@oracledb ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config  
    [root@oracledb ~]# setenforce 0

    step-4#安装依赖包
    [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

    『特殊说明』:
    (1)pdksh-5.2.14-37.el5.x86_64.rpm :此安装包yum源中没有,但必须,可通过其它方式下载后手工安装;
    (2)尽管安装了依赖包,在安装oracle过程时依旧会校验出未安装以上某个包,则须要通过:rpm -qa gcc(校验未通过的包名) 一个个都检查核实。

    step-5#改动内核參数

    [root@oracledb ~]# vi/etc/sysctl.conf  #末尾加入例如以下

    net.ipv4.ip_local_port_range= 9000 65500
    
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    
    kernel.shmall = 10523004
    kernel.shmmax = 6465333657
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    
    net.core.rmem_default=262144
    net.core.wmem_default=262144
    net.core.rmem_max=4194304
    net.core.wmem_max=1048576

    [root@oracledb ~]# sysctl -p (备注:用于输出配置后的结果,假设有错误会提示)


    step-6#改动系统资源限制(打开进程数和文件数)
    [root@oracledb ~]# vi/etc/security/limits.conf #末尾加入例如以下

    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    
    grid soft nproc 2047
    grid hard nproc 16384
    grid soft nofile 1024
    grid hard nofile 65536

    [root@oracledb ~]# vi /etc/pam.d/login 
    session    required    pam_namespace.so  #以下加入一条pam_limits.so 
    session    required    /lib64/security/pam_limits.so
    session    required    /lib/security/pam_limits.so
    session    required    pam_limits.so

    step-7#创建用户和组
    [root@oracledb ~]# groupadd oinstall 
    [root@oracledb ~]# groupadd dba 
    [root@oracledb ~]# groupadd oper 
    [root@oracledb ~]# useradd -u600 -g oinstall oracle 
    [root@oracledb ~]# usermod -G dba,oper oracle
    [root@oracledb ~]# id oracle
    [root@oracledb ~]# passwd oracle

    step-8#创建安装文件夹并赋权
    [root@oracledb ~]# mkdir /u01 
    [root@oracledb ~]# mkdir /u02 
    [root@oracledb ~]# chown -R oracle:oinstall /u01
    [root@oracledb ~]# chown -R oracle:oinstall /u02
    [root@oracledb ~]# su oracle
    [root@oracledb ~]# mkdir -p /u01/app/oracle/product/11.2.0/db_1
    [root@oracledb ~]# mkdir -p /u02/oradata
    [root@oracledb ~]# mkdir -p /u02/oradata/oracledb #oracledb为你数据库实例名

    step-9#设置oracle环境变量(使用oracle帐号登录桌面,并开启terminal窗体文件最后最后增加例如以下环境变量的设置行)
    [oracle@oracledb ~]# vi /home/oracle/.bash_profile
    ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
    ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
    LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH
    ORACLE_SID=oracledb; export ORACLE_SID
    ORA_NLS33=$ORACLE_HOME/nls/admin/data; export ORA_NLS33
    NLS_LANG=american_america.zhs16gbk;export NLS_LANG
    PATH=$ORACLE_HOME/bin:$PATH; export PATH
    [oracle@oracledb ~]# source /home/oracle/.bash_profile(使配置马上生效)
    [oracle@oracledb ~]# env(检查设置环境变量是否OK)

    step-10#上传安装文件
    (1)使用oracle账号登录:SSH Secure File Transfer Client
    (2)上传安装包到:/home/oracle/Downloads 文件夹

    step-11#解压oracle安装文件(进入:/home/oracle/Downloads文件夹)
    [oracle@oracledb~]# unzip  -o -d /home/oracle/Downloadslinuxamd64_12c_database_1of2.zip 
    [oracle@oracledb~]# unzip  -o -d /home/oracle/Downloadslinuxamd64_12c_database_2of2.zip 
    4安装Oracle
    [root@oracledb ~]# xhost +
    [root@oracledb ~]# su oracle
    [oracle@oracledb ~] cd /home/oracle/Downloads/database
    [oracle@oracledb ~]#  ./runInstaller

    说明:接下来就会弹出安装界面,然后依据网上的图文并茂文章安装。

    5变更
    開始下载的是:linuxamd64_12c 安装时出现莫名错误,所以变更为:linux.x64_11gR2 为了完整卸载Oracle,使用了官网提供的:Oracle De-install Utility

    6问题及解答
    (1)改动 linux 内核文件 sysctl  -P 报错
    error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
    error: "net.bridge.bridge-nf-call-iptables" is an unknown key
    error: "net.bridge.bridge-nf-call-arptables" is an unknown key
     
    解决方法例如以下:
    [root@oracledb ~]# modprobe bridge
    [root@oracledb ~]# lsmod|grep bridge

    (2)安装系统时swap分区创建过小,动态调整。所以在安装操作系统的时候设置好swap分区及分配好大小就可以

    方法:用文件作为Swap分区,操作例如以下
    1.创建要作为swap分区的文件:添加1GB大小的交换分区,则命令写法例如以下,当中的count等于想要的块的数量(bs*count=文件大小)。
    # dd if=/dev/zero of=/root/swapfile bs=1M count=1024

    2.格式化为交换分区文件:
    # mkswap /root/swapfile #建立swap的文件系统

    3.启用交换分区文件:
    # swapon /root/swapfile #启用swap文件

    4.使系统开机时自启用,在文件/etc/fstab中加入一行:
    /root/swapfile swap swap defaults 0 0

    (3)yum安装源中找不到一个包,结果换了yum源也找不到,白费力气
    改动yum源的方法有两种,非常多朋友喜欢改动yum.repos.d这个文件进行更改,deepvps感觉这种方法不是太好,下面这种方法就方便多了。
    在CentOS系统中,能够直接通过yum来安装组件,但系统默认的yum源速度往往不尽人意,都连接海外的,为了在国内达到高速安装的目的,就要须要改动yum源,能够使用
    http://mirrors.163.com/   http://mirrors.sohu.com 这2个国内源。
    运行下面命令就能够了
    cd /etc/yum.repos.d
    mv CentOS-Base.repo CentOS-Base.repo.bak
    wget http://mirrors.163.com/.help/CentOS-Base-163.repo或wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo

    执行yum makecache生成缓存

    4控制台页面部分button上的文字是乱码解决的方法(如登录界面的:登录button)

    解决的方法:

    em的乱码是由java引起的,em的button是由java生成的图,oracle 11g使用的是jdk1.5,jdk1.5以后有了一个简便方法来解决问题。

    在Oracleserver上的操作需以Oracle用户进行操作,过程例如以下:
    1. 从windows中获取字体文件simsun.ttc
    2. 在文件夹$ORACLE_HOME/jdk/jre/lib/fonts中创建文件夹fallback
    command: mkdir fallback
    3. 将字体文件simsun.ttc复制到刚刚创建好的fallback文件夹下,并又一次命名为simsun.ttf(因为windows字体具有版权,所以不能用于商用)
     
    command:
    mv simsun.ttc simsun.ttf
    chmod 755 simsun.ttf
    4. 清理一下em的缓存
    command: rm $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs/*.gif
    5. 停止并重新启动dbconsole
    command:
    emctl stop dbconsole
    emctl start dbconsole
    再去浏览器中又一次刷新一下em,发现button已经不再是乱码了

    5:1521 1158两个port未打开导致其它机器訪问不到web控制端和连接不到oracle
    參考:http://blog.csdn.net/jemlee2002/article/details/7042991

    6: kdump启动失败
    在桌面环境下,直接停用kdump

    7经常使用操作方法及命令(给linux新手)

    (1)在图形界面还能够在多个界面中进行切换:在X-window图形操作界面中按“Alt+Ctrl+功能键Fn n=1~6 ”就能够进入Console字符操作界面。
    按“Alt+Ctrl+F7”就可以回到刚才的X-window中
    (2)
    rm -f 删除文件
    rm -rf 删除目录
    (3)
    cp /u01/app/oracle/product/11.2.0/db_1/jdk/jre/lib/fonts/a.txt /home/oracle/  (从什么位置拷贝文件到什么位置)

    8Oracle操作管理


    (1)启动数据库
    [oracle@oracledb~]sqlplus /nolog 
    SQL> connect system/system as sysdba 
    SQL> startup

    (2)启动监听
    [oracle@oracledb~]lsnrctl start

    (3)启动管理平台
    [oracle@oracledb~]emctl start dbconsole

    【特殊说明】
    (1)关闭server时最好手动停止掉oracle
    (2)为了使server资源占用小,oracle启动后server直接切到命令行下。假设执行稳定后,则直接改动操作系统默认启动到命令行

    (1)停止数据库
    [oracle@oracledb~]sqlplus /nolog 
    SQL> connect system/system as sysdba 
    SQL> shutdown

    (2)停止监听
    [oracle@oracledb~]lsnrctl stop

    (3)停止管理平台
    [oracle@oracledb~]emctl stop dbconsole

    9 PLSQL安装配置(參考文章,我是一次搞定)

    1,先到Oracle站点下载Instant Client :http://www.oracle.com/technology/global/cn/software/tech/oci/instantclient/index.html依据你的操作系统
    选择不同的Instant Client版本号下载回是一个压缩文件,解压之后的文件夹叫:D:/instantclient_11_2.放在你喜欢的文件夹就可以.比如:D:/instantclient_11_2
    我的下载路径(http://download.oracle.com/otn/nt/instantclient/112030/instantclient-basic-nt-11.2.0.3.0.zip)

    2.在D:/instantclient_11_2文件夹下新建文件夹network,在network文件夹下再新建admin文件夹,在admin文件夹下新建文件tnsnames.ora,使用文本编辑器打开写入例如以下内容:

    MWDB=
    (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.58)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = MWDB)
        )
    )

    第一个MWDB:表示定义远程server的在本地主机名
    第二个MWDB:远程数据库实例名

    3、加入一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径。比方我的本机为:D:/instantclient_11_2/network/admin

    4、设置ORACLE的语言,加入环境变量NLS_LANG ,值为SIMPLIFIED CHINESE_CHINA.ZHS16GBK

    假设不清楚远程数据库的ORACLE 语言,能够ssh或者telnet到远程机器,在命令界面输入,用命令行连接到数据库。
    select * from nls_instance_parameters;
    查看NLS_LANGUAGE 的值
    NLS_LANGUAGE
    NLS_TERRITORY
    5、下载并安装PL.SQL.Developer配置应用
    配置tools->preferences->connection
    Oracle Home D:/instantclient_11_2
    OCI library D:/instantclient_11_2/oci.dll

    6、关闭PL/SQL Developer,重起Developer.

    主机名就会出如今PL/SQL Developer的列表里,输入usernamepassword,就能够登录远程oracle 11g数据库了

    <完>

  • 相关阅读:
    Yii数据库操作增删改查-[增加查询更新删除 AR模式]
    Yii2 关于时间格式的用法
    常用Linux命令
    数据库设计规范
    PHP代码规范
    git fetch 的简单用法:更新远程代码到本地仓库及冲突处理
    yii2 URL重写 nginx的配置
    Linux下免安装mysql
    在CentOS下搭建自己的Git服务器
    开源技术推荐之个人使用心得
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/3767985.html
Copyright © 2011-2022 走看看