oracle创建表空间、用户、导库

创建表空间


在开发中,我们可以使用oracle自带的默认表空间,也可以根据项目创建自己的表空间,windows和linux表空间文件存放的目录是不一样的,我们可以通过oracle自带的视图查询得知。

select name from v$datafile;

创建表空间:

create tablespace sz_tbs 
logging 
datafile '/oracledata/app/oracle/oradata/zxdb/szorcl/sz_tbs.dbf' 
size 1500m 
autoextend on 
next 100m maxsize 10000m;

备注:datafile是表空间存放的默认目录,size是表空间初始大小,next是表空间超过初始值后每次自增的大小,maxsize是表空间最大占用空间。

创建用户


oracle的用户是和表空间关联的,每个用户都需要指定默认的表空间。

create user liuc identified by liuc123 default tablespace sz_tbs;

grant resource,connect,authenticateduser to liuc;

grant dba to liuc;    --授予dba权限,慎用

revoke dba from liuc; --删除权限

导库


  • 数据库导出
#将数据库实例ORCL完全导出,liuc需有dba权限
exp liuc/liuc123@ORCL file=C:\liuc.dmp full=y
#导出用户liuc的表
exp liuc/liuc123@ORCL file=C:\liuc.dmp owner=liuc
#只导出表结构
exp liuc/liuc123@ORCL file=C:\liuc.dmp owner=liuc rows=n;
#选择table1、table2导出
exp liuc/liuc123@ORCL file=C:\liuc.dmp owner=liuc tables=(table1,table2) 
#将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp liuc/liuc123@ORCL file=C:\liuc.dmp owner=liuc tables=(table1) query=\" where filed1 like '00%'\"
......
  • 数据库导入

首先dmp数据库文件导入到目标数据库,使用imp命令,需要表空间的名字一致,我们可以使用文本编辑器将dmp文件打开,将文件中源表空间名全部替换为目标表空间名。

1559273461709

再者,如果源数据库和目标数据库oracle的版本不一致的话,dmp文件也是无法导入的,这时候需要修改dmp的头部版本号,同样使用文本编辑器打开dmp,将V12.02.00改为你目标数据库的版本号。

1559273596582

备注:文本编辑器推荐使用nodepad++,如果dmp超过1G推荐使用EmEditor。

imp liuc/liuc123@ORCL file= C:\liu.dmp full=y

标题:oracle创建表空间、用户、导库
作者:upaths
地址:http://noyil.com/oracle-base