数据导出:
1 将数据库orcl完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
exp system/manager@orcl file=d:\daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@orcl file=d:\daochu.dmp owner=(user)
3 将数据库中的表table1 、table2导出
exp system/manager@orcl file=d:\daochu.dmp tables=(table1,table2)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@orcl file=d:\daochu.dmp tables=(table1)query=\" where filed1 like '00%'\"
上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
不过在上面命令后面 加上 compress=y 就可以了
数据的导入
1 将D:\daochu.dmp 中的数据导入 orcl数据库中(imp 用户名/密码@网络服务名 file=xxx.dmp full=y;)。
imp system/manager@orcl file=d:\daochu.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:\daochu.dmp中的表table1 导入
imp system/manager@orcl file=d:\daochu.dmp tables=(table1)
基本上上面的导入导出够用了。不少情况我是将表彻底删除,然后导入。
注意:
你要有足够的权限,权限不够它会提示你。
数据库时可以连上的。可以用tnsping orcl 来获得数据库orcl能否连上
使用sqlplus文字工具创建数据库用户
create user user identified by 1234;
给生成的用户赋权限
grant dba to user;
ORACLE删除当前用户下所有的表的方法
1、如果有删除用户的权限,则可以:
drop user user cascade;
加了cascade就可以把用户连带的数据全部删掉。
加密解密函数 赋权
sys as sysdba 登陆 (只能是这个用户)
grant execute on dbms_crypto to user
输入 / 后 按回车
跨用户授权 select 'grant select on a.' || tname || ' to user;' from tab; --说明:在a用户下执行该语句,执行后会生成对所有表的赋权限语句,拷贝出来执行就可以了。 --2、a用户下授权查询所有表给user用户 select 'grant select on '||table_name||' to user;' from user_tables; --3、a用户下授权查询所有序列给b用户 select 'grant delete on ' || sequence_name || ' to user;' from dba_sequences where sequence_owner='A'; --4、a用户下授权查询单个表给b用户 grant select on a.tablename to user; --备注:授权更新、删除的 语法和授权查询类似,只是关键字不通而已。 --如: --1、授权a用户下授权更新单个表给b用户 grant update on a.tablename to user; --2、授权a用户下取消给b用户删除单个表的授权 --revoke delete on a.tablename from b; --3、授权a用户下授权删除单个表给b用户 grant delete on a.tablename to user;