ORACLE创建用户,表空间,并且导出数据,导出表

1、创建用户:

create user toptea2 identified by “用户名”

2、给用户授权

grant create session to 用户名;
grant create table to 用户名;
grant create tablespace to 用户名;
grant create view to 用户名;

3、查询表空间大小

select file_name,bytes/1024/1024||‘M’ “size” from dba_data_files;
4、创建表空间

create tablespace 表空间名 datafile ‘/data/oracle/oradata/nmcdesign/表空间名 .dbf’ size 2048M autoextend on next 10m maxsize unlimited;

  1. DATAFILE: 表空间数据文件存放路径
  2. SIZE: 起初设置为200M
  3. UNIFORM: 指定区尺寸为128k,如不指定,区尺寸默认为64k
  4. 空间名称histdb 与 数据文件名称 histdb.dbf 不要求相同,可随意命名.
  5. AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间
  6. alter database datafile ’ D:oracleproduct10.2.0oradataorclhistdb.dbf ’ resize 500m; //手动修改数据文
    tempfile是指临时文件,用于指定临时表空间的存储文件,
    datafile是指数据文件,用于存储数据的文件,

5、给用户指定表空间

alter user 用户名 default tablespace 表空间名

6、导出“用户名”用户的数据

参考:http://blog.csdn.net/xcymorningsun/article/details/72877156

expdp 用户名/密码@数据库名 schemas=toptea dumpfile=toptea.dmp logfile=日志名称.log

导出文件会放在:oracle/admin/nmcdesign/dpdump路径下

7、导入数据

(1)改变用户导入:

impdp 用户名1/密码@数据库名 DUMPFILE=备份文件.dmp REMAP_SCHEMA=用户名1:用户名2

(2)改变表空间导入

创建directory 虚拟路径 但是必须的有这个路径,不然会报错

create directory directory_name as '备份文件的路径

赋读写权限到这个路径

grant read,write on directory directory_name to 用户名;

导入数据

impdp 用户名1/密码@数据库名 DUMPFILE=备份文件.dmp REMAP_SCHEMA=用户名1:用户名2 DIRECTORY=toptea3 REMAP_TABLESPACE=FTOPTEA:users

(3)跨版本导入

跨版本导入必须在发出时指定oraacle版本

expdp 用户名/密码@数据库名 schemas=toptea dumpfile=toptea.dmp logfile=日志名称.log version=10.2.0.5.0 (目标数据库版本)

impdp 用户名1/密码@数据库名 DUMPFILE=备份文件.dmp REMAP_SCHEMA=用户名1:用户名2

8、导出表

用户名/密码@数据库名 tables = 表名 dumpfile=导出文件.dmp logfile=日志文件.log

9、导出用户和表空间的创建语句

select dbms_metadata.get_ddl(‘USER’,‘GONGWEN’) from dual;
select dbms_metadata.get_ddl(‘TABLESPACE’,‘GONGWEN_TEMP’) from dual;

猜你喜欢

转载自blog.csdn.net/qq_45406120/article/details/114086109