Chinaunix首页 | 论坛 | 博客
  • 博客访问: 137440
  • 博文数量: 25
  • 博客积分: 460
  • 博客等级: 下士
  • 技术积分: 252
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-11 10:48
个人简介

努力学习,谦虚请教,不断提升!

文章分类

全部博文(25)

文章存档

2015年(3)

2014年(4)

2013年(3)

2012年(9)

2011年(6)

我的朋友

分类: Oracle

2013-06-14 14:36:54


点击(此处)折叠或打开

  1. oracle导出表结构测试

  2. 1、查看数据库中存在哪些表空间可以使用
  3. SQL> col 表空间名 format a20;
  4. SQL> select
  5.   2 b.file_id 文件ID号,
  6.   3 b.tablespace_name 表空间名,
  7.   4 b.bytes 字节数,
  8.   5 (b.bytes-sum(nvl(a.bytes,0))) 已使用,
  9.   6 sum(nvl(a.bytes,0)) 剩余空间,
  10.   7 sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比
  11.   8 from dba_free_space a,dba_data_files b
  12.   9 where a.file_id=b.file_id
  13.  10 group by b.tablespace_name,b.file_id,b.bytes
  14.  11 order by b.file_id;

  15.   文件ID号 表空间名 字节数 已使用 剩余空间 剩余百分比
  16. ---------- -------------------- ---------- ---------- ---------- ----------
  17.          1 SYSTEM 734003200 641990656 92012544 12.5357143
  18.          2 SYSAUX 629145600 525008896 104136704 16.5520833
  19.          3 UNDOTBS1 440401920 18743296 421658624 95.7440476
  20.          4 USERS 5242880 1048576 4194304 80
  21.          5 ITMS 2147483648 21757952 2125725696 98.9868164
  22.          6 ITMS 2147483648 17432576 2130051072 99.1882324
  23.          7 ITMS 2147483648 26935296 2120548352 98.7457275
  24. 使用ITMS表空间作为本次的测试表空间

  25. 2、在ITMS表空间上创建testyu用户
  26.          
  27. create user testyu identified by testyu
  28. default tablespace ITMS
  29. --temporary tablespace temp; 由于只是测试,不用指定用户使用的临时表空间

  30. grant connect ,resource,dba to testyu;

  31. 3、使用用户sqlplus testyu/testyu@ora11g登录数据库创建测试表

  32. 创建2张表
  33. create table yuyue
  34. (
  35. id int,
  36. name varchar(60),
  37. address varchar(128)
  38. );

  39. create table yuyue1
  40. (
  41. id int,
  42. name varchar(60),
  43. address varchar(128)
  44. );
  45. 插入数据
  46. insert into yuyue (id,name,address) values (1,'yuyue','yuyue_qty@163.com');
  47. insert into yuyue (id,name,address) values (2,'fuxinle','xinle.fu@zznode.com');

  48. 4、开始备份表结构

  49. 使用exp导出表结构(导出的数据为二进制格式)
  50. exp user/pasword@dbServerName owner=user tables=(tb1,tb2,tb3) rows=n file=yuyue.dmp

  51. 我所希望得到的表结构是可以直接使用文本打开进行编辑的(ascii格式)

  52. [oracle@itms ~]$ sqlplus testyu/testyu@ora11g

  53. SQL*Plus: Release 11.2.0.1.0 Production on 星期四 4月 18 11:32:25 2013

  54. Copyright (c) 1982, 2009, Oracle. All rights reserved.


  55. 连接到:
  56. Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
  57. With the Partitioning, OLAP, Data Mining and Real Application Testing options

  58. SQL> set pagesize 0;
  59. SQL> set long 90000;
  60. SQL> set feedback off;
  61. SQL> set echo off;
  62. SQL> spool get_allddl.sql;
  63. SQL> SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name) FROM USER_TABLES u; --导出表结构

  64.   CREATE TABLE "TESTYU"."YUYUE"
  65.    ( "ID" NUMBER(*,0),
  66.         "NAME" VARCHAR2(60),
  67.         "ADDRESS" VARCHAR2(128)
  68.    ) SEGMENT CREATION IMMEDIATE
  69.   PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  70.   STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  71.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DE
  72. FAULT CELL_FLASH_CACHE DEFAULT)
  73.   TABLESPACE "ITMS"



  74.   CREATE TABLE "TESTYU"."YUYUE1"
  75.    ( "ID" NUMBER(*,0),
  76.         "NAME" VARCHAR2(60),
  77.         "ADDRESS" VARCHAR2(128)
  78.    ) SEGMENT CREATION IMMEDIATE
  79.   PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  80.   STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  81.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DE
  82. FAULT CELL_FLASH_CACHE DEFAULT)
  83.   TABLESPACE "ITMS"


  84. SQL> SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name) FROM USER_INDEXES u; --导出索引
  85. SQL> spool off

阅读(1395) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~