oracle 单机转rac
(2015-03-24 22:31:06)
标签:
db2it杭州美创科技有限公司 |
分类: oracle基础知识 |
将生产库数据库软件打包
tar -cf oracle10g.tar /oracle
将数据库软件拷到一节点,并解压
tar -xvf oracle10g.tar
热备数据文件
alter database begin backup
创建standby控制文件
ALTER DATABASE CREATE STANDBY CONTROLFILE AS
'/tmp/control01.ctl';
将数据文件、standby控制文件拷到节点一
scp * 172.16.10.16:/oradata/bsrun/
生产库end backup
alter database end backup;
节点一启动数据库到mount状态
alter database mount;
将数据文件拷贝到asm里,重命名数据文件
rman target /
copy datafile '/oradata/bsrun/sysaux01.dbf' to
'+DATA/BSRUN/sysaux01.dbf';
copy datafile '/oradata/bsrun/system01.dbf' to
'+DATA/BSRUN/system01.dbf';
copy datafile '/oradata/bsrun/temp01.dbf' to
'+DATA/BSRUN/temp01.dbf';
copy datafile '/oradata/bsrun/undotbs01.dbf' to
'+DATA/BSRUN/undotbs01.dbf';
copy datafile
'/oradata/bsrun/users01.dbf'
sqlplus / as sysdba
alter database rename file '/oradata/bsrun/sysaux01.dbf' to
'+DATA/BSRUN/sysaux01.dbf';
alter database rename file '/oradata/bsrun/system01.dbf' to
'+DATA/BSRUN/system01.dbf';
alter database rename file '/oradata/bsrun/temp01.dbf' to
'+DATA/BSRUN/temp01.dbf';
alter database rename file '/oradata/bsrun/undotbs01.dbf' to
'+DATA/BSRUN/undotbs01.dbf';
alter database rename file
'/oradata/bsrun/users01.dbf'
节点一删除本地数据文件
rm -rf *.dbf
分时段将生产库归档拷贝过来,应用归档
scp * 172.16.10.16:/home/oracle/archbsrun/
recover standby database;
ORA-00279: change 407509 generated at 09/03/2014 13:24:45 needed
for thread 1
ORA-00289: suggestion :
/home/oracle/archbsrun/1_39_857294213.dbf
ORA-00280: change 407509 for thread 1 is in sequence #39
Specify log: {=suggested | filename | AUTO | CANCEL}
auto
停止生产库,将归档、控制文件、在线日志拷贝到节点一
scp *.ctl 172.16.10.16:/oradata/bsrun/
scp *.log 172.16.10.16:/oradata/bsrun/
scp * 172.16.10.16:/home/oracle/archbsrun/
在节点一打开数据库到mount状态,重命名数据文件、recover database
sqlplus / as sysdba
alter database rename file '/oradata/bsrun/sysaux01.dbf' to
'+DATA/BSRUN/sysaux01.dbf';
alter database rename file '/oradata/bsrun/system01.dbf' to
'+DATA/BSRUN/system01.dbf';
alter database rename file '/oradata/bsrun/temp01.dbf' to
'+DATA/BSRUN/temp01.dbf';
alter database rename file '/oradata/bsrun/undotbs01.dbf' to
'+DATA/BSRUN/undotbs01.dbf';
alter database rename file
'/oradata/bsrun/users01.dbf'
SQL> recover database;
ORA-00279: change 407674 generated at 09/03/2014 13:31:56 needed
for thread 1
ORA-00289: suggestion :
/home/oracle/archbsrun/1_44_857294213.dbf
ORA-00280: change 407674 for thread 1 is in sequence #44
Specify log: {=suggested | filename | AUTO | CANCEL}
auto
打开数据库
alter database open
升级数据库到11204
select comp_name,version,status from dba_registry;
select object_name,status from dba_objects where owner='SYS' and status<>'VALID';
select count(*),status from dba_objects group by status;
select count(*),status from invalid_20140819 group by status;
select object_name,object_type from dba_objects where
(object_name,object_type) in (select object_name,object_type from
dba_objects where owner='SYS') and owner='SYSTEM';
cp $ORACLE_HOME/rdbms/admin/utlu112i.sql /tmp/upgrade
@utlu112i.sql
*.archive_lag_target=300
*.compatible='11.2.0.4.0'
*.control_files='/oradata/control01.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='bsrun'
*.dispatchers='(protocol=TCP)'
*.fal_client='BSRUN'
*.fal_server='RZBSRUN'
*.job_queue_processes=10
*.log_archive_dest_1='location=/oradata/arch'
*.log_archive_dest_2='service=rzbsrun lgwr sync reopen=15
max_failure=10 net_timeout=30 optional noaffirm'
*.log_archive_dest_state_2='DEFER'
*.open_cursors=300
*.pga_aggregate_target=10737418240
*.processes=2000
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=3000
*.sga_max_size=64424509440
*.sga_target=64424509440
*.shared_pool_size=5368709120
*.shared_servers=20
*.java_pool_size=314572800
*.standby_archive_dest='/oradata/arch'
*.standby_file_management='MANUAL'
*.undo_management='AUTO'
*.undo_retention=10800
*.undo_tablespace='UNDOTBS1'
*.diagnostic_dest='/oracle/app'
startup upgrade
cp dbs/
@?/rdbms/admin/catupgrd.sql
shutdown immediate
startup
@?/rdbms/admin/catbundle.sql
@?/rdbms/admin/utlrp.sql
shutdown immediate
startup
exec dbms_stats.gather_dictionary_stats
迁移一节点日志文件到ASM中
在asm中创建对应的日志文件
alter database drop logfile group 1
alter database add logfile group 1
'+data/bsrun/onlineredo/redo1_01' size 1024m;
alter database drop logfile group 2
alter database add logfile group 2
'+data/bsrun/onlineredo/redo1_02' size 1024m;
alter database drop logfile group 3
alter database add logfile group 3
'+data/bsrun/onlineredo/redo1_03' size 1024m;
alter database drop logfile group 4
alter database add logfile group 4
'+data/bsrun/onlineredo/redo1_04' size 1024m;
alter database drop logfile group 5
alter database add logfile group 5
'+data/bsrun/onlineredo/redo1_05' size 1024m;
迁移控制文件到ASM,修改参数文件中控制文件位置:
alter system set
control_files='+DATA/bsrun/controlfile/control01.ctl'
scope=spfile;
启动数据库到nomount状态,恢复控制文件
restore controlfile from '/oradata/bsrun/control01.ctl';
打开数据库
alter database open;
单机转rac
bsrun1.__oracle_base='/oracle/app'#ORACLE_BASE set from
environment
bsrun2.__oracle_base='/oracle/app'#ORACLE_BASE set from
environment
*.audit_file_dest='/oracle/app/admin/bsrun/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='+DATA/bsrun/controlfile/control01.ctl'#Restore
Controlfile
*.db_block_size=8192
*.db_create_file_dest='+DATA'
*.db_domain=''
*.db_name='bsrun'
*.db_recovery_file_dest='+DATA'
*.db_recovery_file_dest_size=4259315712
*.deferred_segment_creation=FALSE
*.diagnostic_dest='/oracle/app'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
orcl1.local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST =
172.16.1.247)(PORT = 1521))'
orcl2.local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST =
172.16.1.248)(PORT = 1521))'
*.log_archive_dest_1='location=/oradata/arch'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_max_target=42949672960
*.memory_target=42949672960
*.open_cursors=10000
*.processes=3000
*.remote_listener='bsrun-scan:1521'
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=5505
*.sga_max_size=34359738368
*.sga_target=34359738368
*.cluster_database=TRUE
bsrun1.instance_number=1
bsrun2.instance_number=2
bsrun2.thread=2
bsrun1.thread=1
bsrun2.undo_tablespace='UNDOTBS2'
bsrun1.undo_tablespace='UNDOTBS1'
create SPFILE='+DATA/bsrun/spfilebsrun.ora' from pfile;
修改参数文件路径
修改双节点$ORACLE_HOME/dbs 目录下参数文件
一节点:
创建initbsrun1.ora
SPFILE='+DATA/bsrun/spfilebsrun.ora'
二节点:
创建initbsrun2.ora
SPFILE='+DATA/bsrun/spfilebsrun.ora'
创建二节点undo
create undo tablespace undotbs2 datafile
'+DATA/bsrun/datafile/undotbs02.dbf' size 1G autoextend on;
创建二节点日志文件
alter database add logfile threads 2 group 6
'+data/onlineredo/redo2_01' size 1024m;
alter database add logfile threads 2 group 7
'+data/onlineredo/redo2_02' size 1024m;
alter database add logfile threads 2 group 8
'+data/onlineredo/redo2_03' size 1024m;
alter database add logfile threads 2 group 9
'+data/onlineredo/redo2_04' size 1024m;
alter database add logfile threads 2 group 10
'+data/onlineredo/redo2_05' size 1024m;
激活2节点redo
alter database enable thread 2;
刷新rac组件
SQL>spool off
SQL>spool catclust.txt
SQL>@?/rdbms/admin/catclust.sql
SQL>spool off
数据库及实例加入集群管理
su - oracle
srvctl add database -d bsrun -o
/u01/app/oracle/product/11.2.0/db_1
srvctl add instance -d bsrun -i bsrun1 -n s1-11g
srvctl add instance -d bsrun -i bsrun2 -n s2-11g

加载中…