代码改变世界

Oracle Sql语句总结

2012-11-28 09:55  jewelry  阅读(167)  评论(0编辑  收藏  举报

1、创建用户

  • 前提:创建用户须以Sys或System(这两者身份最大)的身份登录后才可创建
  • 格式:create user 用户名 identified by 密码(如:create user uname identified by upwd)
  • 分配权限:grant connect,resource,dba to uname;这样可以用test/test登录数据库或sqlplus了。由于每个用户默认都有insert,delete,update,select的基本权限,所以不必分配了。

2、删除用户及用户所有的对象

  • 前提:删除用户须以Sys或System(这两者身份最大)的身份登录后才可删除
  • 格式:drop user uname cascade; (cascade参数是级联删除该用户所有对象,防止用户有此对象而未加此参数删除不了的问题)
  • 错误:提示“无法删除当前已连接的用户”!!?  解决:http://blog.csdn.net/mezheng/article/details/7197482

3、数据导出

  • 将数据库test完全导出,用户名uname,密码upwd,导出到e:daochu.dmp  {exp uname/upwd@test file=e:daochu.dmp full=y}
  • 将数据库中system用户和sys用户的表导出  {exp uname/upwd@test file=e:daochu.dmp owner=(system,sys)}
  • 将数据库中表info_test1,info_test2导出  {exp uname/upwd@test file=e:daochu.dmp tables=(info_test1,info_test2)}
  • 将数据库中的表info_test1的字段filed1以"00"打头的数据导出  {exp uname/upwd@test file=e:daochu.dmp tables=(info_test1) query=" where filed1 like '00%'"}
  • 导出需要压缩,可以用winzip把dmp压缩,也在以上命令上加入compress=y来实现

4、数据导入

  • 将d:daochu.dmp中数据添加到test2数据库中  {imp uname/upwd@test2 file=d:daochu.dmp full=y}
  • 将d:daochu.dmp中表info_test1数据添加到test2数据库中 {imp uname/upwd@test2 file=d:daochu.dmp tables=(info_test1)}

5、正确删除归档日志

  • 开始--cmd--rman进入恢复管理器
  • connect target /连接数据库
  • list archivelog all 查看归档日志状态
  • delete archivelog all completed before 'sysdate-7';删除当前系统时间7天前的归档日志。