Oracle 12c使用expdp导出数据到10g加了参数version=10.2.0.1.0后就会少很多表。怎么办?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 12c使用expdp导出数据到10g加了参数version=10.2.0.1.0后就会少很多表。怎么办?相关的知识,希望对你有一定的参考价值。

Oracle 依依g数据导入到依0g 一、在依依g服务器上,使用expdp命令备份数据 依依g 导出语句:EXPDP USERID='facial/facial@orcl as sysdba' schemas=facialdirectory=DATA_PUMP_DIR dumpfile=test.dmp logfile=test.log version=依0.贰.0.依.0 二、在依0g服务器上,使用impdp命令恢复数据 准备工作:依.建库贰.建表空间三.建用户并授权四.将test.dmp拷贝到依0g的dpdump目录下 --创建表空间 create tablespace TS_Facial datafile 'E:\ORACLE\PRODUCT\依0.贰.0\ORADATA\ORCL\Facial.DBF' size 500M autoextend on next 50M; --创建用户 create user Facial identified by Facial default tablespace TS_Facial; --授权给用户 grant connect,resource,dba to Facial; test.dmp 和 test.log 放在E:\oracle\product\依0.贰.0\admin\orcl\dpdump目录下 依0g 导入语句:IMPDP USERID='facial/facial@orcl as sysdba' schemas=facialdirectory=DATA_PUMP_DIR dumpfile=test.dmp logfile=test.log version=依0.贰.0.依.追问

谢谢,您这方法我试过,但依然存在 不加version=10.2.0.1.0导出数据是完整的,加了就不完整了的现象。

参考技术A 楼主解决了么,我也遇到一模一样的问题。追问

没有,当时就直接抛弃10g了。

oracle

oracle

1. python连接oracle

使用cx_Oracle 模块连接

# -*- coding: utf-8 -*-
import cx_Oracle      #引用模块cx_Oracle
conn= cx_Oracle.connect(‘root‘, ‘root‘, ‘localhost:1521/oracle‘)#连接数据库
c=conn.cursor()     #获取cursor
sql=‘select * from  student‘
x=c.execute(sql)                   #使用cursor进行各种操作
y=x.fetchall()
print y
c.close()                     #关闭cursor
conn.commit()         #提交
conn.close()

2.数据类型

2.1 字符类

  • char 长度固定,最多容纳2000个字符
  • varchar2(20) 长度可变,最多容纳4000个字符。

varchar和varchar2 必须指定长度,不然会报错

2.2 数字型

  • number可以表示整数,也可以表示小数]
  • number(5,2)表示一位小数有5位有效数,2位小数
  • number(5)表示一个5位整数

2.3 日期类型

  • date 包含年月日和时分秒 oracle默认格式1-1月-1999
  • timestamp 这是oracle9i对date数据类型的扩展。可以精确到毫秒。

    2.4 图片

  • blob 二进制数据

3. 创建表

create table employee(
sex VARCHAR(20),
name VARCHAR(30),
  id number(20),
  age NUMBER(40)
);

3.1 插入数据

3.1.1 所有字段都插入

insert into "employee" VALUES(‘male‘,‘Angle‘,34,65);

3.1.2 -插入部分字段

insert into "TEST" (sex,name,age) VALUES(‘female‘,‘Adfds‘,42);

3.1.3 查询表里某个值为null的记录

select * from test where id is null

3.1.4 查xun 1982以后入职的员工信息

to_data(value,pattern),value是时间参数,pattern是时间的格式 函数

select ename,hiredate from emp where hiredate>to_date(‘1982/1/1‘,‘yyyy/mm/dd‘)

3.1.4 插入空值

insert into "TEST"(SEX, name, id, age) values (‘a004‘, ‘ewf‘, null, null);

3.1.5 修改一个字段

UPDATE "TEST" set name=‘fgfd‘ where id=34

3.1.6 修改多个字段

UPDATE "TEST" set name=‘342‘,sex=‘fdgsergytrsh‘ where id=34

3.2 -修改表

3.2.1添加一个字段

alter table test add (classid number(2));

3.2.2 修改一个字段的长度

alter table test modify (classid varchar2(12));

3.3 删除表的结构和数据;

drop table student;

3.4 删除所有记录,表结构还在,写日志,可以恢复的,速度慢

delete from test

3.5 LIKE%

  • 如何使用like操作符
  • %:表示0到多个字符
  • _:表示任意单个字符

    问题:如何显示首字符为S的员工姓名和工资?

select ename,sal from emp where ename like ‘S%‘;

如何显示第三个字符为O的所有员工的姓名和工资?

select ename,sal from emp where ename like ‘__O%‘;

3.6 where条件中使用in 问题

select * from emp where empno in (7844, 7839, 123, 456);

3.7 sql语句有引号的处理

sql语句如果有引号, 则sql字符串用双引号,内部的引号用单的就可以

sql="select * from emp where (sal > 500 or job = ‘MANAGER‘) and ename like ‘J%‘"

3.8 数据分组

  • 1 分组函数只能出现在选择列表、having、order by子句中(不能出现在where中)
  • 2 如果在select语句中同时包含有group by, having, order by 那么它们的顺序是group by, having, order by
  • 3 在选择列中如果有列、表达式和分组函数,那么这些列和表达式必须有一个出现在group by子句中,否则就会出错。

3.9 多表查询

select  e.ename,e.sal,d.dname from emp e,dept d where e.DEPTNO=d.DEPTNO

求和

select  sum(sal) from EMP 

或者

select  sum(r.sal) from EMP r

以上是关于Oracle 12c使用expdp导出数据到10g加了参数version=10.2.0.1.0后就会少很多表。怎么办?的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE10G expdp 导出数据报错,大神看下

Oracle 12c pdb使用expdp/impdp导入导出

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

通过expdp和impdp将Oracle11g数据导入到oracle10g中

通过expdp和impdp将Oracle11g数据导入到Oracle10g中

expdp在oracle 9.0里能用吗