ORACLE备份与恢复


1)ORACLE:使用sysdba登录,执行以下命令备份数据库到数据库安装用户的目录下,通常数据库安装用户是dbserv30这样的用户:
-------------- 登录后查询到所有的数据库用户 --------------
%sqlplus / as sysdba
SQL> select username from all_users where username like '%30';
SQL> exit;
%exp sysdbname/passwd owner=sysdbname rows=y compress=n buffer=65536 feedback=100000 volsize=0 file=exp_sysdb.dmp

2)注意事项:SCP数据库被命名为OPS$SCP30这样的名称,密码不确定是什么,因此可以在备份SCP数据库时按如下步骤操作:
%sqlplus / as sysdba
SQL> alter user OPS$SCP30 identified by scp30;
SQL> exit;
%exp

3)还原操作:需要先删除数据库用户,然后再创建数据库用户,并赋权限后再执行导入即可;
SQL> drop user sysdb30 cascade;

SQL> create user sysdb30 identified by sysdb30 default tablespace CBS_DEFAULT_DAT temporary tablespace "TEMP";
grant dba,connect,resource to sysdb30;
grant select any dictionary to sysdb30;
grant create any sequence to sysdb30;
grant create any table to sysdb30;
grant create any procedure to sysdb30;
grant create any trigger to sysdb30;
grant create session to sysdb30;
grant create sequence to sysdb30;
grant create table to sysdb30;
grant create procedure to sysdb30;
grant create trigger to sysdb30;

%imp sysdb30/sysdb30@oracle fromuser=sysdb30 touser=sysdb30 rows=y commit=y buffer=65536 feedback=100000 ignore=y volsize=0 file=sysdb30.dmp;

注意(以下操作都是用dba用户执行,即用sqlplus / as sysdba登录):
A)上面的create user操作中默认表空间名应当在数据库中查找到实际用的表空间名,查询语句如下:
SQL> select username, default_tablespace from dba_users where username like '%30';

B)上面操作中执行drop user时如果不成功,则需要确保没有人使用PL/SQL工具或sqlplus连接到此数据库,如是确认没有连接仍然删除不成功,则可以使用以下方法解决:
SQL> select SID,USERNAME,PROCESS,serial# from v$session where USERNAME like '%30';
SQL> alter system kill session '<SID>,<serial#>' immediate;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值