mysql中sid,在复制不同sid数据库或同sid数据库

在复制不同sid数据库或同sid数据库

一、建相关文件夹,密码文件,参数文件

ln -s /hotbak/fox /u01/oradata/pretty

cp initfox.ora initpretty.ora

vi initpretty.ora

%s/fox/pretty 全部替换掉,再修改控制文件参数

mkdir -p $ORACLE_BASE/admin/pretty/adump

mkdir -p $ORACLE_BASE/admin/pretty/bdump

mkdir -p $ORACLE_BASE/admin/pretty/cdump

mkdir -p $ORACLE_BASE/admin/pretty/udump

mkdir archive(注意在参数指定归档的地方)

orapwd -h  显示帮助

orapwd file=$ORACLE_HOME/dbs/orapwpretty password=qkhhfqp entries=10

export ORACLE_SID=pretty

sqlplus / as sysdba

startup mount;

二、把OS热备的数据文件拷贝到复制数据库相应的目录,或者用软连接也可以。

vi hotbak.sql (OS热备脚本)

set feedback off pagesize 0 heading off verify off linesize 32767 trimspool on termout off serveroutput on

remark 备份目录要先建好,并赋予ORACLE用户所有,确保有足够的空间。

define dir='/hotbak/fox'

define fil='&dir/open_backup_commands.sql'

define spo='&dir/open_backup_output.log'

spool &fil

prompt connectas sysdba;;

prompt alter system switch logfile;;

declare

cursor cur_tablespace is

select tablespace_name from dba_tablespaces

where status <>'READ ONLY' and contents <>'TEMPORARY';

cursor cur_datafile(tn varchar) is

select file_name from dba_data_files

where tablespace_name=tn;

begin

for ct in cur_tablespace loop

dbms_output.put_line('alter tablespace '||ct.tablespace_name||' begin backup;');

for cd in cur_datafile (ct.tablespace_name) loop

dbms_output.put_line('!cp ' ||cd.file_name||' &dir;');

end loop;

dbms_output.put_line('alter tablespace '|| ct.tablespace_name|| ' end backup;');

end loop;

end;

/

prompt alter system switch logfile;;

prompt alter database backup controlfile to '&dir/backup.ctl' reuse;;

prompt alter database backup controlfile to trace;;

spool off;;

remark 写好脚本先别加@&执行,看看输出是否正常,确认正常在加@&fil执行,控制文件的REUSE表示如果目标文件存在则覆盖

spool &spo

@&fil

spool off

remark 备完之后记得备归档日志,怎么知道要备哪些归档日志?查看V$backup找出数据文件在备份的时候的SCN,再对比V$archived_log的first_change#,例如 select max(sequence#) from v$archived_log where first_change#三、在被复制数据库中备份控制文件,脚本生成控制文件,重建控制文件

/%s/fox/pretty (reuse set)

startup nomount;

执行生成控制文件脚本

alter database mount;

recover database using backup controlfile until cancel;(注意输入正确的归档位置和日志文件)

alter database open resetlogs;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值