如何将 Oracle 11g 升级到 Orcale 12c
大家好。今天我们来学习一下如何将 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 的密码。  下一步，我按照如下
Oracle
116.226.177.89
大哥，你这个文档是怎么写出来的，命令行高亮，而且还能以数字1&nbsp; &nbsp;2&nbsp; &nbsp; 3排序，请指教，谢谢。
qq413123954 [Chrome 31.0|Windows 8.1]
2015-10-29T15:19:55.000
182.242.224.5
很好的教程，谢谢
来自云南昆明的 Firefox 41.0|Windows 7 用户
2015-10-30T10:39:15.000
101.95.109.26
感觉就是安逸了12c？
来自上海的 UC Browser 10.7|iOS 9.1 用户
2015-11-04T14:21:11.000
221.226.1.254
发帖。高级模式，代码高亮。
丶Nature [Chrome 45.0|Windows 7]
2015-11-23T17:28:25.000
60.10.0.131
路径不言自明？明显错了
来自河北廊坊的 Mobile Safari 9.0|iOS 9.2 用户
2015-12-26T18:25:46.000
大家好。今天我们来学习一下如何将 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 的密码。  下一步，我按照如下
![](/data/attachment/album/201510/29/135146vmafav6226gz77zm.jpg)


大家好。今天我们来学习一下如何将 Oracle 11g 升级到 Oracle 12c。开始吧。


在此，我使用的是 CentOS 7 64 位 Linux 发行版。我假设你已经在你的系统上安装了 Oracle 11g。


### 这里我会展示一下安装 Oracle 11g 时我的操作步骤。


我在 Oracle 11g 上选择 “Create and configure a database”，如下图所示。


![](/data/attachment/album/201510/29/135149vtfto8rnozizt7oi.png)


然后我选择安装 Oracle 11g “Decktop Class”。如果是生产环境，你必须选择 “Server Class”。


![](/data/attachment/album/201510/29/135150yd3cuhii9uzn7hdz.png)


然后你输入安装 Oracle 11g 的各种路径以及密码。下面是我自己的 Oracle 11g 安装配置。确保你正确输入了 Oracle 的密码。


![](/data/attachment/album/201510/29/135152wgv5vb1v4ry548cs.png)


下一步，我按照如下设置 Inventory Directory。


![](/data/attachment/album/201510/29/135155q7rfz4h6so9kucks.png)


到这里，我已经向你展示了我安装 Oracle 11g 所做的工作，因为我们开始想升级到 12c。


### 让我们将 Oracle 11g 升级到 Oracle 12c 吧。


你需要从该[链接](http://www.oracle.com/technetwork/database/enterprise-edition/downloads/database12c-linux-download-1959253.html)上下载两个 zip 文件。下载并解压两个文件到相同目录。文件名为 **linuxamd64*12c*database\_1of2.zip** & **linuxamd64*12c*database\_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

```

![](/data/attachment/album/201510/29/135156da0rzp0qb0p00906.png)


如果一切顺利，你会看到类似下面的截图，已经开始安装 12c。


![](/data/attachment/album/201510/29/135204y6q7vv4jdmyqv361.png)


然后你可以选择跳过更新或者下载最近更新。如果是生产服务器，建议你必须更新。我这里选择跳过。


![](/data/attachment/album/201510/29/135207vwf8ffozlfpnojfx.png)


现在，选择升级现有数据库。


![](/data/attachment/album/201510/29/135209f39lc7c7c47zq177.png)


对于语言，这里已经有 English。点击下一步继续，或者你可以根据你的需要添加语言。


![](/data/attachment/album/201510/29/135212njjn2jpqww2y0zsc.png)


现在，选择企业版。你可以根据你的需求选择。


![](/data/attachment/album/201510/29/135214k6cn65iqcfwchdl7.png)


然后选择软件位置路径，这些都是不言自明的。


![](/data/attachment/album/201510/29/135217l8nk23yfxx82cik3.png)


对于第七步，像下面这样使用默认的选择继续下一步。


![](/data/attachment/album/201510/29/135220lecnb9lebr0buzze.png)


在第九步中，你会看到一个类似下面这样的总结报告。


![](/data/attachment/album/201510/29/135222hbu00ob52p22d0bg.png)


如果一切正常，你可以点击第九步中的 install 开始安装，进入第十步。


![](/data/attachment/album/201510/29/135224rrkrzkik91n5z39w.png)


其中你可能会遇到一些错误，你需要通过谷歌找到这些错误的解决方法。你可能遇到的问题会有很多，因此我没有在这里详细介绍。


要有耐心，一步一步走下来最后它会告诉你成功了。否则，在谷歌上搜索做必要的操作解决问题。再一次说明，由于你可能会遇到的错误有很多，我无法在这里提供所有详细介绍。


现在，只需要按照下面屏幕指令配置监听器。


### 数据库升级助手


配置完监听器之后，它会启动<ruby> 数据库升级助手 <rp>  （ </rp> <rt>  Database Upgrade Assistant </rt> <rp>  ） </rp></ruby>。选择 Upgrade Oracle Database。


![](/data/attachment/album/201510/29/135227rqbqhh5zbfos8ra6.png)


在第二步，你会发现它显示了 11g 的位置路径以及 12c 的位置路径。同时你也会发现它指示说从原来的 Oracle Home Release 11 安装 Oracle Home Release 12.点击下一步进入步骤三。


![](/data/attachment/album/201510/29/135230knppskpp78aiw7rp.png)


按照屏幕上的说明完成安装。


在最后一步，你会看到一个成功窗口，其中你会看到成功升级了 oracle 数据库。


**一个忠告**：对于你的生产服务器，在升级到 12c 之前，请确保你已经在其它平台上测试过，以便你能修复升级过程中遇到的所有错误。永远不要尝试一无所知的时候就升级生产服务器。




---


via: <http://www.unixmen.com/upgrade-from-oracle-11g-to-oracle-12c/>


作者：[Mohammad Forhad Iftekher](http://www.unixmen.com/author/forhad/) 译者：[ictlyh](http://www.mutouxiaogui.cn/blog/) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出

