把正式库的最新数据全部迁移到测试库上


1、先备份测试库的数据,可以用exp导出
可以用UNIX中的vi写过简单的脚步backup20090807.sh
内容:
$ cat backup20090807.sh
exp scott/scott  file=20090807.dump log=20090807.log
授权:
$chmod 777 .sh
运行上面的脚步即可

2、删除测试库的用户及其管理的数据
SQL> drop user scott cascade;
drop user scott cascade
*
ERROR at line 1:
ORA-01940: cannot drop a user that is currently connected

3、如果有当前的数据库用户连接则不能删除,踢掉当前的连接用户
先查出当前在线的用户信息
SQL> select sid,serial# from v$session where username='scott';

       SID    SERIAL#
---------- ----------
       522          1
       527          3
       530          3

踢掉该数据库用户的连接:
alter system kill session  '522,1';

如果很多用户连接的话,可以用下面查询出来,形成脚步,一次踢掉所有连接的用户session。
(其中' 可以用'''表示查询出来,当第二个单引号充当转义角色,第三个单引号被转义,自然就缺少与第一个单引号匹配的单引号了,出现了孤立的单引号

select 'alter system kill session '''  || sid||','||serial# ||''';' from v$session where username='scott';

4、如果很多用户在连接数据库,数据库运行关闭的话,可以先关闭数据库,在删除用户。就不要踢掉那些在线用户了。
关闭数据库
SQL> shutdown abort   (为了节省时间,可以用shutdown abort,或者shutdown immediate)
ORACLE instance shut down.

SQL> startup restrict   (进入限制模式,普通用户不能连接)
ORACLE instance started.

Total System Global Area 3221225472 bytes
Fixed Size                  2024304 bytes
Variable Size            1157631120 bytes
Database Buffers         2046820352 bytes
Redo Buffers               14749696 bytes
Database mounted.
Database opened.
SQL> drop user scott cascade;   (级联删除用户)

删除用户后,可以关闭数据库,在启动到正常模式
SQL>shutdown abort;

SQL>startup;


5、在测试库建立刚才删除的用户
create user scott
identified by scott
tablespace default PUB_NORM_SPACE;

6、授权
grant dba to scott;

7、把最新的正式库数据导入到测试中(如果是windows可以写个.bat文件,在unix或Linux写个.sh文件,把下面的脚步写入文件中)
imp  scott/scott@TESTOMS full=y rows=y ignore=yes grants=no file=E:\lhomsoraclebak\lhoms25.dump  log=F:\lhomsoraclebak\Imp40Database\20090807Imp.log

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12778571/viewspace-611639/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12778571/viewspace-611639/

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值