大家好。今天我们来学习一下如何将 Oracle 11g 升级到 Oracle 12c。开始吧。
在此,我使用的是 CentOS 7 64 位 Linux 发行版。我假设你已经在你的系统上安装了 Oracle 11g。
这里我会展示一下安装 Oracle 11g 时我的操作步骤。
我在 Oracle 11g 上选择 “Create and configure a database”,如下图所示。
然后我选择安装 Oracle 11g “Decktop Class”。如果是生产环境,你必须选择 “Server Class”。
然后你输入安装 Oracle 11g 的各种路径以及密码。下面是我自己的 Oracle 11g 安装配置。确保你正确输入了 Oracle 的密码。
下一步,我按照如下设置 Inventory Directory。
到这里,我已经向你展示了我安装 Oracle 11g 所做的工作,因为我们开始想升级到 12c。
让我们将 Oracle 11g 升级到 Oracle 12c 吧。
你需要从该链接上下载两个 zip 文件。下载并解压两个文件到相同目录。文件名为linuxamd6412cdatabase_1of2.zip & linuxamd6412cdatabase_2of2.zip。提取或解压完后,它会创建一个名为 database 的文件夹。
注意:升级到 12c 之前,请确保在你的 CentOS 上已经安装了所有必须的软件包,并且所有的路径变量也已经正确配置,还有其它前提条件也已经满足。
下面是必须使用正确版本安装的一些软件包
- binutils
- compat-libstdc++
- gcc
- glibc
- libaio
- libgcc
- libstdc++
- make
- sysstat
- unixodbc
在因特网上搜索正确的 rpm 版本。
你也可以用一个查询处理多个软件包,然后在输出中查找正确版本。例如,在终端中输入下面的命令:
rpm -q binutils compat-libstdc++ gcc glibc libaio libgcc libstdc++ make sysstat unixodbc
你的系统中必须安装了以下软件包(版本可能或新或旧)
- binutils-2.23.52.0.1-12.el7.x86_64
- compat-libcap1-1.10-3.el7.x86_64
- gcc-4.8.2-3.el7.x86_64
- gcc-c++-4.8.2-3.el7.x86_64
- glibc-2.17-36.el7.i686
- glibc-2.17-36.el7.x86_64
- glibc-devel-2.17-36.el7.i686
- glibc-devel-2.17-36.el7.x86_64
- ksh
- libaio-0.3.109-9.el7.i686
- libaio-0.3.109-9.el7.x86_64
- libaio-devel-0.3.109-9.el7.i686
- libaio-devel-0.3.109-9.el7.x86_64
- libgcc-4.8.2-3.el7.i686
- libgcc-4.8.2-3.el7.x86_64
- libstdc++-4.8.2-3.el7.i686
- libstdc++-4.8.2-3.el7.x86_64
- libstdc++-devel-4.8.2-3.el7.i686
- libstdc++-devel-4.8.2-3.el7.x86_64
- libXi-1.7.2-1.el7.i686
- libXi-1.7.2-1.el7.x86_64
- libXtst-1.2.2-1.el7.i686
- libXtst-1.2.2-1.el7.x86_64
- make-3.82-19.el7.x86_64
- sysstat-10.1.5-1.el7.x86_64
你也需要 unixODBC-2.3.1 或更新版本的驱动。
我希望你安装 Oracle 11g 的时候已经在你的 CentOS 7 上创建了名为 oracle 的用户。让我们以用户 oracle 登录 CentOS。以用户 oracle 登录到 CentOS 之后,在你的 CentOS上打开一个终端。
使用终端更改工作目录并导航到你解压两个 zip 文件的目录。在终端中输入以下命令开始安装 12c。
./runInstaller
如果一切顺利,你会看到类似下面的截图,已经开始安装 12c。
然后你可以选择跳过更新或者下载最近更新。如果是生产服务器,建议你必须更新。我这里选择跳过。
现在,选择升级现有数据库。
对于语言,这里已经有 English。点击下一步继续,或者你可以根据你的需要添加语言。
现在,选择企业版。你可以根据你的需求选择。
然后选择软件位置路径,这些都是不言自明的。
对于第七步,像下面这样使用默认的选择继续下一步。
在第九步中,你会看到一个类似下面这样的总结报告。
如果一切正常,你可以点击第九步中的 install 开始安装,进入第十步。
其中你可能会遇到一些错误,你需要通过谷歌找到这些错误的解决方法。你可能遇到的问题会有很多,因此我没有在这里详细介绍。
要有耐心,一步一步走下来最后它会告诉你成功了。否则,在谷歌上搜索做必要的操作解决问题。再一次说明,由于你可能会遇到的错误有很多,我无法在这里提供所有详细介绍。
现在,只需要按照下面屏幕指令配置监听器。
数据库升级助手
配置完监听器之后,它会启动数据库升级助手Database Upgrade Assistant。选择 Upgrade Oracle Database。
在第二步,你会发现它显示了 11g 的位置路径以及 12c 的位置路径。同时你也会发现它指示说从原来的 Oracle Home Release 11 安装 Oracle Home Release 12.点击下一步进入步骤三。
按照屏幕上的说明完成安装。
在最后一步,你会看到一个成功窗口,其中你会看到成功升级了 oracle 数据库。
一个忠告:对于你的生产服务器,在升级到 12c 之前,请确保你已经在其它平台上测试过,以便你能修复升级过程中遇到的所有错误。永远不要尝试一无所知的时候就升级生产服务器。