ホームページ データベース 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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

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ワークベンチやPHPMyAdminなどの人気のあるMySQL GUIツールについて説明し、初心者と上級ユーザーの機能と適合性を比較します。[159文字]

ドロップテーブルステートメントを使用してMySQLにテーブルをドロップするにはどうすればよいですか? ドロップテーブルステートメントを使用してMySQLにテーブルをドロップするにはどうすればよいですか? Mar 19, 2025 pm 03:52 PM

この記事では、ドロップテーブルステートメントを使用して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