如何把Oracle 11g导出的数据库导入到12c里面

如何把Oracle 11g导出的数据库导入到12c里面,第1张

从oracle 12c 备份(expdp)出来的包,还原到11g里,想想都知道会有兼容性问题。

果不其然,报错了:

ORA-39142: 版本号 4.1 (在转储文件 “叉叉叉.expdp” 中) 不 兼容

之类

后来才知道,在12C中备份出来时,应指定版本信息,例如我要导进11g的库(具体版本为11.1.0.6.0,打开sqlplus就能看到),则version=11.1.0.6.0

语句:

在12C备份

?

1

<code class="hljs livecodeserver">expdp system/password@SID12c directory=dbbak dumpfile=20160321.expdp logfile=20160321.log schemas=leftfist version=11.1.0.6.0</code>

在11g中还原

?

1

<code class="hljs livecodeserver"><code class="hljs livecodeserver">impdp s

让我们将 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.1

用户和授权要用DBA

最简单得建用户:

create user 用户名 identified by 密码

用户解锁 alter user 用户名 account unlock(不解锁无法登陆)

授权用 grant

建完用户首先要授权登陆权限

grant create session to 用户名

授权可以授权给角色和用户

也可以把角色授权给角色和用户

其他得类似 创建表得权限类似如下格式:

grant create table to 用户


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10019123.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存