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 文件打开,将文件中源表空间名全部替换为目标表空间名。
再者,如果源数据库和目标数据库 oracle 的版本不一致的话,dmp 文件也是无法导入的,这时候需要修改 dmp 的头部版本号,同样使用文本编辑器打开 dmp,将 V12.02.00 改为你目标数据库的版本号。
备注:文本编辑器推荐使用 nodepad++,如果 dmp 超过 1G 推荐使用 EmEditor。
imp liuc/liuc123@ORCL file= C:\liu.dmp full=y
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于