Linux到Windows迁移oracle(转)


升级10.2.0.3(linux WA)到10.2.0.4(windows 2008 WB).txt

0.机器表示
linux机器wa: oracle版本 10.2.0.3
windows 2008机器wb: oracle 10.2.0.4

1.拷贝文件,把dg设置为read only,这样数据文件保持一直.
mount.cifs  //192.168.101.229/c$ /mnt/229 -o user=administrator,ip=192.168.101.229,iocharset=cp936
mkdir -p /mnt/229/oracle/product/10.2.0/oradata/orcl
nohup cp -f /data/orcl/*.dbf /mnt/229/oracle/product/10.2.0/oradata/orcl &

2.在linux服务器上建立控制文件脚本:
        alter session set tracefile_identifier=crcontrol ;
        alter database backup controlfile to trace;

STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS FORCE LOGGING ARCHIVELOG
    MAXLOGFILES 192
    MAXLOGMEMBERS 3
    MAXDATAFILES 1024
    MAXINSTANCES 32
    MAXLOGHISTORY 6464
LOGFILE
  GROUP 1 'c:\oracle\product\10.2.0\oradata\orcl\redo01.log'  SIZE 50M,
  GROUP 2 'c:\oracle\product\10.2.0\oradata\orcl\redo02.log'  SIZE 50M,
  GROUP 3 'c:\oracle\product\10.2.0\oradata\orcl\redo03.log'  SIZE 50M,
  GROUP 4 'c:\oracle\product\10.2.0\oradata\orcl\redo04.log'  SIZE 50M,
  GROUP 5 'c:\oracle\product\10.2.0\oradata\orcl\redo05.log'  SIZE 50M,
  GROUP 6 'c:\oracle\product\10.2.0\oradata\orcl\redo06.log'  SIZE 50M,
  GROUP 7 'c:\oracle\product\10.2.0\oradata\orcl\redo07.log'  SIZE 50M,
  GROUP 8 'c:\oracle\product\10.2.0\oradata\orcl\redo08.log'  SIZE 50M
-- STANDBY LOGFILE
DATAFILE
  'c:\oracle\product\10.2.0\oradata\orcl\system01.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\undotbs01.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\sysaux01.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\undotbs02.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\users01.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tools.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_acct.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_back.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_bldbank.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_comm.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_econstat.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_equipment.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_exam.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_gr.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_icare.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_inpadm.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_inpbill.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_insurance.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_lab.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_medadm.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_medhis.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_medrec.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_ordadm.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_outpadm.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_outpbill.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_pe.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_pharmacy.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_salary.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_sfxt.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_surgery.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\tsp_temp.dbf',
  'c:\oracle\product\10.2.0\oradata\orcl\apcomplexstat.dbf'
CHARACTER SET US7ASCII;

修改文件路径符合windows的需求.
CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS FORCE LOGGING ARCHIVELOG
注意要使用RESETLOGS参数,不然redo文件也要拷贝.

3.建立oracle参数文件,可以从linux服务器取出,并且修改一些路径符合windows的需要.

*.__db_cache_size=452984832
*.__java_pool_size=16777216
*.__large_pool_size=16777216
*.__shared_pool_size=704643072
*.__streams_pool_size=0
*.audit_file_dest='c:\oracle\product\10.2.0\admin\orcl\adump'
*.background_dump_dest='c:\oracle\product\10.2.0\admin\orcl\bdump'
*.compatible='10.2.0.3.0'
*.control_file_record_keep_time=7
*.control_files='c:\oracle\product\10.2.0\oradata\orcl\control01.ctl','c:\oracle\product\10.2.0\oradata\orcl\control02.ctl','c:\oracle\product\10.2.0\oradata\orcl\control03.ctl',
*.core_dump_dest='c:\oracle\product\10.2.0\admin\orcl\cdump'
*.cursor_sharing='EXACT'
*.db_block_size=16384
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orcl'
*.db_recovery_file_dest='c:\oracle\product\10.2.0\flash_recovery_area'
*.db_recovery_file_dest_size=21474836480
*.DB_UNIQUE_NAME='orcl'
*.job_queue_processes=10
*.log_archive_format='%T_%S_%r.dbf'
*.open_cursors=300
*.pga_aggregate_target=402653184
*.processes=600
#*.remote_listener='LISTENERS_ORCL'
*.remote_login_passwordfile='exclusive'
*.SERVICE_NAMES='orcl'
*.session_max_open_files=100
*.sessions=665
*.sga_target=1207959552
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='c:\oracle\product\10.2.0\admin\orcl\udump'
*.thread=1


4.建立相关文件的路径:
grep c: initorcl.ora |cut -f2 -d"="
'c:\oracle\product\10.2.0\admin\orcl\adump'
'c:\oracle\product\10.2.0\admin\orcl\bdump'
'c:\oracle\product\10.2.0\oradata\orcl\control01.ctl','c:\oracle\product\10.2.0\oradata\orcl\control02.ctl','c:\oracle\product\10.2.0\oradata\orcl\control03.ctl',
'c:\oracle\product\10.2.0\admin\orcl\cdump'
'c:\oracle\product\10.2.0\flash_recovery_area'
'c:\oracle\product\10.2.0\admin\orcl\udump'

mkdir c:\oracle\product\10.2.0\admin\orcl\adump
mkdir c:\oracle\product\10.2.0\admin\orcl\bdump
mkdir c:\oracle\product\10.2.0\admin\orcl\cdump
mkdir c:\oracle\product\10.2.0\flash_recovery_area
mkdir c:\oracle\product\10.2.0\admin\orcl\udump

5.建立口令文件
orapwd file=<fname> password=<password> entries=<users> force=<y/n> ignorecase=<y/n> nosysdba=<y/n>
oradim -NEW -SID orcl

6.建立控制文件,启动数据库到升级模式,不然会出现ora-00704错误.
sqlplus sys as sysdba
>@cr_control.sql
>shutdown immediate

7.建立临时表空间:
sqlplus sys as sysdba
startup upgrade
>@cr_temp

ALTER TABLESPACE TEMP ADD TEMPFILE  'c:\oracle\product\10.2.0\oradata\orcl\temp01.dbf'
     SIZE 3630M REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 4096M;
ALTER TABLESPACE TEMP2 ADD TEMPFILE 'c:\oracle\product\10.2.0\oradata\orcl\temp2.dbf'
    SIZE 12288M REUSE AUTOEXTEND ON NEXT 16777216  MAXSIZE 12288M;

8.注意要建立新的DIRECTORY目录,脚本如下cr_dir.sql:
>startup upgrade

CREATE OR REPLACE DIRECTORY
ADMIN_DIR AS
'c:\oracle\product\10.2.0\db_1\md\admin';

CREATE OR REPLACE DIRECTORY
DATA_PUMP_DIR AS
'c:\oracle\product\10.2.0\admin\orcl\dpdump\';

GRANT READ, WRITE ON DIRECTORY SYS.DATA_PUMP_DIR TO EXP_FULL_DATABASE;

GRANT READ, WRITE ON DIRECTORY SYS.DATA_PUMP_DIR TO IMP_FULL_DATABASE;

CREATE OR REPLACE DIRECTORY
WORK_DIR AS
'c:\oracle\product\10.2.0\db_1/work';

DROP DIRECTORY HISDATA;

DROP DIRECTORY HISDPDATA;

9.后面的步骤与升级数据库版本的一样:
@c:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlu102i.sql
@c:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catupgrd.sql

10.打开数据库
@c:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlrp.sql

 

http://www.itpub.net/thread-1931926-1-1.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM