oracle学习记录

前端之家收集整理的这篇文章主要介绍了oracle学习记录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Oracle数据库备份与还原命令

数据导出:

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;

猜你在找的Oracle相关文章