데이터 베이스 MySQL 튜토리얼 在Red Hat Enterprise Linux 7.0 x86_64下安装Oracle 12c R1数据库

在Red Hat Enterprise Linux 7.0 x86_64下安装Oracle 12c R1数据库

Jun 07, 2016 pm 04:40 PM

Oracle12c数据库去年发布,RHEL7今年也出来了,作为技术人员,总是需要了解的,以下是安装过程,记录下来以备后续使用。

Oracle12c数据库去年发布,RHEL7今年也出来了,作为技术人员,总是需要了解的,以下是安装过程,记录下来以备后续使用。   
    要想顺利的安装Oracle,最好当然是参考Oracle公司的用户指南,用户指南可以在Oracle公司的官方网站下载:
   
    也可以阅读在线文档:
   
    目前Oracle12c数据库官方是不支持RHEL7的,所以只能参考下RHEL6的了.
    Oracle12c数据库下载地址:
   


    安装Oracle有以下步骤:
    1>.安装Linux作业系统.
    2>.配置Linux系统下Oracle的安装环境.
    3>.安装Oracle软件与数据库.
    4>.测试运行安装的Oracle系统.


    一.安装Linux.
    1.系统环境需求
    内存:最小1GB,推荐2GB或以上
    交换空间: 内存大小是1-2GB时,交换空间是内存的1.5倍,内存大小2-16GB时,交换空间等于内存大小,内存大小16G以上时,交换空间为16GB.
    需要选择以下组件:GNOME桌面、编辑器、开发工具、开发库等。
    2.安装Linux
    使用安装光盘安装RedHat Enterprise Linux 7.0 x86_64,为方便测试,可以使用VMware Workstation虚拟一台机器,,在虚拟机上安装。
    3.设置主机域名解析
    安装Linux后需使用静态IP地址,并在/etc/hosts文件中设置主机域名解析(ip地址 主机名称)
    # vi /etc/hosts
    192.168.1.66 hostname


    二.配置Linux系统下Oracle的安装环境.
    1.检查和更新所需软件包.
    安装好Linux系统后需要配置一下系统。因Oracle在Linux下与Windows下有些不同,在Linux下安装时有部分程序需要与Linux的程序包重新编译和链接,所以需要有编译器等软件包。需要用到的软件包在Oracle的用户指南中有说明.以root身份登录Linux后执行以下命令检查软件包是否都已安装:
    # rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel
    # rpm -q libaio libaio-devel libXext libXtst libX11 libXau libxcb libXi make sysstat
    如果系统有软件包没有安装,可以在Redhat Enterprise Linux 7.0的光盘Packages目录中找到,安装这些包。
    例如安装软件包:
    # rpm -ivh compat-libstdc++-33-3.2.3-69.el6.i686.rpm


    Oracle官方文档中确定要安装的包如下:
    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)
    libXext-1.1 (x86_64)
    libXext-1.1 (i686)
    libXtst-1.0.99.2 (x86_64)
    libXtst-1.0.99.2 (i686)
    libX11-1.3 (x86_64)
    libX11-1.3 (i686)
    libXau-1.0.5 (x86_64)
    libXau-1.0.5 (i686)
    libxcb-1.5 (x86_64)
    libxcb-1.5 (i686)
    libXi-1.3 (x86_64)
    libXi-1.3 (i686)
    make-3.81-19.el6
    sysstat-9.0.4-11.el6 (x86_64)
    注:(1)安装glibc-2.17-55.el7.i686.rpm时,因为依赖包相互依赖,需要与依赖包同时安装:
    rpm -ivh glibc-2.17-55.el7.i686.rpm nss-softokn-freebl-3.15.4-2.el7.i686.rpm
    (2)RHEL7中缺少包compat-libstdc++-33,可以在RHEL6中找到.
    (3)在Oracle数据库软件安装时,ksh实际是用的pdksh,但ksh也是可以使用的,只是安装时会有警告,pdksh是一个早期的软件包,可以在以下网站找到.
   
    (4)建议安装zlib-devel,不然后续可能会出错。推荐安装unixODBC


    2.验证系统要求
    查看内存大小
    # grep MemTotal /proc/meminfo
    查看交换空间
    # grep SwapTotal /proc/meminfo
    查看磁盘空间,Oracle 12c R1 x64企业版的磁盘空间要求6.4GB以上。
    # df -h


    3.创建Oracle组和用户帐户
    需要创建以下组和用户:
    The Oracle Inventory group (typically, oinstall)
    The OSDBA group (typically, dba)
    The Oracle software owner (typically, oracle)
    The OSOPER group (optional. Typically, oper)


    # groupadd oinstall
    # groupadd dba
    # groupadd oper
    # useradd -g oinstall -G dba,oper oracle
    # passwd oracle


    4.配置内核参数
    以root身份登录系统,根据用户指南配置以下参数:
    修改文件/usr/lib/sysctl.conf,添加以下内容:
    # vi /usr/lib/sysctl.conf
    # for oracle
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    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 = 1048586

    执行以下命令时参数生效:
    # /sbin/sysctl -p


    注: 内核参数设置可以在安装Oracle时产生的脚本修复。


    登录oracle帐号检查资源限制.
    $ ulimit -Sn
    $ ulimit -Hn
    $ ulimit -Su
    $ ulimit -Hu
    $ ulimit -Ss
    $ ulimit -Hs


    修改文件/etc/security/limits.conf,更改资源限制,添加以下内容:
    # vi /etc/security/limits.conf
    # for oracle
    oracle              soft    nproc   2047
    oracle              hard    nproc   16384
    oracle              soft    nofile  1024
    oracle              hard    nofile  65536
    oracle              soft    stack   10240
    oracle              hard    stack   32768


    5.创建Oracle Base目录:
    # mkdir -p /u01/app/
    # chown -R oracle:oinstall /u01/app/
    # chmod -R 775 /u01/app/


    6.编辑Oracle用户环境,编辑.bash_profile文件
    # su - oracle
    $ vi .bash_profile
    编辑.bash_profile文件,添加以下内容
    # For Oracle
    export DISPLAY=:0.0
    export TMP=/tmp;
    export TMPDIR=$TMP;
    export ORACLE_BASE=/u01/app/oracle;
    export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1;
    export ORACLE_SID=sales;
    export ORACLE_TERM=xterm;
    export PATH=/usr/sbin:$PATH;
    export PATH=$ORACLE_HOME/bin:$PATH;
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
    export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
   
    配置生效
    $ source .bash_profile


    三.安装Oracle软件与数据库
    1.安装Oracle软件(12.1.0.1版本)
    将Oracle的安装文件linuxamd64_12c_database_1of2.zip与linuxamd64_12c_database_2of2.zip解压缩.
    # unzip linuxamd64_12c_database_1of2.zip
    # unzip linuxamd64_12c_database_2of2.zip


    以oracle用户身份登录系统安装Oracle,为避免出现中文乱码,安装前可以执行export LANG="",显示英文,
    $ export LANG=""
    $ cd database
    $ ./runInstaller
    在安装时选择只安装Oracle软件。


    在安装时,会出现以下错误:
    [INS-13001]Environment does not meet minimum requirements.
    日志文件显示
    SEVERE: CVU do not support target environment..
    Refer associated stacktrace #oracle.install.ivw.common.validator.SupportedOSValidator:451
    INFO: Completed verification of target environment.
    WARNING: Verification of target environment returned with errors.
    WARNING: [WARNING] [INS-13001] Environment does not meet minimum requirements.
       CAUSE: Minimum requirements were not met for this environment
       ACTION: Either check the logs for more information or check the supported configurations for this product..
    Refer associated stacktrace #oracle.install.commons.util.exception.DefaultErrorAdvisor:454


    应该集群环境验证不通过,可能需要补丁,目前Oracle12c刚出,应该还没有补丁,当然直接跳过也可以继续执行安装.
    这里直接继续执行安装.


    安装时出现的错误:
    错误(1):
    Error in invoking target 'links proc gen_pcscfg procob' of makefile '/u01/app/oracle/product/12.1.0/db_1/precomp/lib/ins_precomp.mk'.
    由于Oracle12c官方还不支持RHEL7系统,在新版系统下会表现出此错误.
    解决方案参考网上的方法:
   
    保留安装进程,另外开启一个终端窗口,修改文件env_rdbms.mk内容.
    # rm -rf /u01/app/oracle/product/12.1.0/db_1/lib/stubs/*
    # cp /u01/app/oracle/product/12.1.0/db_1/rdbms/lib/env_rdbms.mk /u01/app/oracle/product/12.1.0/db_1/rdbms/lib/env_rdbms.mk.orig
    # vi /u01/app/oracle/product/12.1.0/db_1/rdbms/lib/env_rdbms.mk
    # Line 176
    # FROM:
    LINKTTLIBS=$(LLIBCLNTSH) $(ORACLETTLIBS) $(LINKLDLIBS)
    # TO  :
    LINKTTLIBS=$(LLIBCLNTSH) $(ORACLETTLIBS) $(LINKLDLIBS) -lons
    # Line 279-280
    # FROM:
    LINK=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS) $(COMPSOBJS)
    LINK32=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS32) $(COMPSOBJS)
    # TO  :
    LINK=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS) $(COMPSOBJS) -Wl,--no-as-needed
    LINK32=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS32) $(COMPSOBJS) -Wl,--no-as-needed
    # Line 3041-3042
    # FROM:
    TG4PWD_LINKLINE= $(LINK) $(OPT) $(TG4PWDMAI) \
            $(LLIBTHREAD) $(LLIBCLNTSH) $(LINKLDLIBS)
    # TO  :
    TG4PWD_LINKLINE= $(LINK) $(OPT) $(TG4PWDMAI) \
            $(LLIBTHREAD) $(LLIBCLNTSH) $(LINKLDLIBS) -lnnz12
    然后在安装进程中点击Retry即可。


    错误(2):
    Error in invoking target 'install' of makefile '/u01/app/oracle/product/12.1.0/db_1/ctx/lib/ins_ctx.mk'.
    解决方案参考:
   
    保留安装进程,另外开启一个终端窗口,修改文件env_ctx.mk内容.
    # rm -rf /u01/app/oracle/product/12.1.0/db_1/lib/stubs/*
    # cp /u01/app/oracle/product/12.1.0/db_1/ctx/lib/env_ctx.mk /u01/app/oracle/product/12.1.0/db_1/ctx/lib/env_ctx.mk.orig
    # vi /u01/app/oracle/product/12.1.0/db_1/ctx/lib/env_ctx.mk
    # Line 154
    # FROM:
    LINK=$(LDCCOM)
    # TO  :
    LINK=$(LDCCOM) -Wl,--no-as-needed
    然后在安装进程中点击Retry即可。
    但似乎还是不行,查看日志文件的错误信息:
    INFO: /usr/bin/ld: cannot find -lz
    collect2: error: ld returned 1 exit status
    INFO: make: *** [ctxhx] ECCVror 1
    似乎是zlib的问题,保留安装进程,另外开启一个终端窗口,查看已安装zlib,未安装zlib-devel,安装zlib-devel试试。
    # rpm -ivh zlib-devel-1.2.7-13.el7.x86_64.rpm
    然后在安装进程中点击Retry通过。


    安装最后步骤按提示在root用户下执行脚本.
    # /u01/app/oraInventory/orainstRoot.sh
    # /u01/app/oracle/product/12.1.0/db_1/root.sh


    2.安装数据库
    Oracle软件安装完后,需要执行命令netca配置监听器.
    $ netca
    在图形界面中按提示配置监听器.
    然后执行命令dbca安装数据库.
    $ dbca
    在图形界面中按提示安装数据库就可以了。


    四.测试运行安装的Oracle系统
    数据库安装完后监听器与数据库实例就已启动。执行以下测试监听器与实例.
    $ lsnrctl stop
    $ lsnrctl start
    $ sqlplus /nolog
    SQL> connect / as sysdba;
    SQL> shutdown
    SQL> startup
    执行其它SQL语句测试数据库.

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

Oracle性能优化 之 共享池

本文永久更新链接地址:

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까? Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까? Mar 19, 2025 pm 03:51 PM

이 기사는 MySQL의 Alter Table 문을 사용하여 열 추가/드롭 테이블/열 변경 및 열 데이터 유형 변경을 포함하여 테이블을 수정하는 것에 대해 설명합니다.

MySQL 연결에 대한 SSL/TLS 암호화를 어떻게 구성합니까? MySQL 연결에 대한 SSL/TLS 암호화를 어떻게 구성합니까? Mar 18, 2025 pm 12:01 PM

기사는 인증서 생성 및 확인을 포함하여 MySQL에 대한 SSL/TLS 암호화 구성에 대해 설명합니다. 주요 문제는 자체 서명 인증서의 보안 영향을 사용하는 것입니다. [문자 수 : 159]

MySQL에서 큰 데이터 세트를 어떻게 처리합니까? MySQL에서 큰 데이터 세트를 어떻게 처리합니까? Mar 21, 2025 pm 12:15 PM

기사는 MySQL에서 파티셔닝, 샤딩, 인덱싱 및 쿼리 최적화를 포함하여 대규모 데이터 세트를 처리하기위한 전략에 대해 설명합니다.

인기있는 MySQL GUI 도구는 무엇입니까 (예 : MySQL Workbench, Phpmyadmin)? 인기있는 MySQL GUI 도구는 무엇입니까 (예 : MySQL Workbench, Phpmyadmin)? Mar 21, 2025 pm 06:28 PM

기사는 MySQL Workbench 및 Phpmyadmin과 같은 인기있는 MySQL GUI 도구에 대해 논의하여 초보자 및 고급 사용자를위한 기능과 적합성을 비교합니다. [159 자].

드롭 테이블 문을 사용하여 MySQL에서 테이블을 어떻게 드롭합니까? 드롭 테이블 문을 사용하여 MySQL에서 테이블을 어떻게 드롭합니까? Mar 19, 2025 pm 03:52 PM

이 기사에서는 Drop Table 문을 사용하여 MySQL에서 테이블을 떨어 뜨리는 것에 대해 설명하여 예방 조치와 위험을 강조합니다. 백업 없이는 행동이 돌이킬 수 없으며 복구 방법 및 잠재적 생산 환경 위험을 상세하게합니다.

외국 키를 사용하여 관계를 어떻게 표현합니까? 외국 키를 사용하여 관계를 어떻게 표현합니까? Mar 19, 2025 pm 03:48 PM

기사는 외국 열쇠를 사용하여 데이터베이스의 관계를 나타내고 모범 사례, 데이터 무결성 및 피할 수있는 일반적인 함정에 중점을 둡니다.

JSON 열에서 인덱스를 어떻게 생성합니까? JSON 열에서 인덱스를 어떻게 생성합니까? Mar 21, 2025 pm 12:13 PM

이 기사에서는 PostgreSQL, MySQL 및 MongoDB와 같은 다양한 데이터베이스에서 JSON 열에서 인덱스를 작성하여 쿼리 성능을 향상시킵니다. 특정 JSON 경로를 인덱싱하는 구문 및 이점을 설명하고 지원되는 데이터베이스 시스템을 나열합니다.

일반적인 취약점 (SQL 주입, 무차별 적 공격)에 대해 MySQL을 어떻게 보호합니까? 일반적인 취약점 (SQL 주입, 무차별 적 공격)에 대해 MySQL을 어떻게 보호합니까? Mar 18, 2025 pm 12:00 PM

기사는 준비된 명령문, 입력 검증 및 강력한 암호 정책을 사용하여 SQL 주입 및 무차별 적 공격에 대한 MySQL 보안에 대해 논의합니다 (159 자)

See all articles