CONVERT DATABASE命令(二)
RMAN新增了CONVERT命令,在前面的文章中已經介紹瞭如何利用CONVERT命令在不同平臺間轉換表空間。對於相同位元組序的資料庫,Oracle還提供了CONVERT DATABASE的命令。
Oracle10g新增CONVERT語法:http://yangtingkun.itpub.net/post/468/483871
利用CONVERT實現跨平臺表空間遷移:http://yangtingkun.itpub.net/post/468/483949
這一篇介紹在目標資料庫上開啟資料庫的過程。
CONVERT DATABASE命令(一):http://yangtingkun.itpub.net/post/468/487880
前兩天幫junsansi解決了CONVERT DATABASE資料庫過程中出現的問題,正好這幾天打算測試CONVERT DATABASE的內容,於是就仿照他的例子,做了一個完整的測試。
上一篇已經執行了CONVERT DATABASE的操作,且將資料檔案和初始化引數檔案都傳送到指定的目標資料庫上。
下面在目標伺服器上開啟資料庫:
[oracle@yans1 ytktran]$ cd /data/oradata/ytktran/
[oracle@yans1 ytktran]$ ls -l
total 2904968
-rw-r--r-- 1 oracle oinstall 104865792 Jun 29 15:40 EXAMPLE01.DBF
-rw-r--r-- 1 oracle oinstall 1696 Jun 29 15:54 INIT_00KIQ9S4_1_0.ORA
-rw-r--r-- 1 oracle oinstall 880812032 Jun 29 15:42 MGMT.DBF
-rw-r--r-- 1 oracle oinstall 104865792 Jun 29 15:42 MGMT_ECM_DEPOT1.DBF
-rw-r--r-- 1 oracle oinstall 367009792 Jun 29 15:43 SYSAUX01.DBF
-rw-r--r-- 1 oracle oinstall 597696512 Jun 29 15:45 SYSTEM01.DBF
-rw-r--r-- 1 oracle oinstall 1056768 Jun 29 15:45 TEST01.DBF
-rw-r--r-- 1 oracle oinstall 676339712 Jun 29 15:46 UNDOTBS01.DBF
-rw-r--r-- 1 oracle oinstall 134225920 Jun 29 15:49 YANGTK01.DBF
-rw-r--r-- 1 oracle oinstall 104865792 Jun 29 15:53 YANGTK02.DBF
[oracle@yans1 ytktran]$ more INIT_00KIQ9S4_1_0.ORA
# Please change the values of the following parameters:
control_files = "E:\ORACLE\ORACLE1020\DATABASE\CF_D-YTKTRAN_ID-3695768905_00KIQ9S4"
db_recovery_file_dest = "E:\ORACLE\ORACLE1020\DATABASE\flash_recovery_area"
db_recovery_file_dest_size= 2147483648
audit_file_dest = "E:\ORACLE\ORACLE1020\DATABASE\ADUMP"
background_dump_dest = "E:\ORACLE\ORACLE1020\DATABASE\BDUMP"
user_dump_dest = "E:\ORACLE\ORACLE1020\DATABASE\UDUMP"
core_dump_dest = "E:\ORACLE\ORACLE1020\DATABASE\CDUMP"
db_name = "YTKTRAN"
# Please review the values of the following parameters:
__shared_pool_size = 209715200
__large_pool_size = 4194304
__java_pool_size = 4194304
__streams_pool_size = 4194304
__db_cache_size = 373293056
remote_login_passwordfile= "EXCLUSIVE"
db_domain = "ytk_thinkpad"
dispatchers = "(PROTOCOL=TCP) (SERVICE=ytk102XDB)"
# The values of the following parameters are from source database:
processes = 150
sga_target = 603979776
db_block_size = 8192
db_2k_cache_size = 0
compatible = "10.2.0.1.0"
# log_archive_dest_1 = "LOCATION=E:\ORACLE\ORADATA\YTK102\ARCHIVE"
db_file_multiblock_read_count= 16
undo_management = "AUTO"
undo_tablespace = "UNDOTBS1"
session_cached_cursors = 200
job_queue_processes = 10
audit_trail = "NONE"
open_cursors = 300
pga_aggregate_target = 200278016
aq_tm_processes = 1
[oracle@yans1 ytktran]$ export ORACLE_SID=YTKTRAN
根據具體的需要修改上面的初始化引數,並利用這個初始化引數啟動資料庫,修改後的初始化引數如下:
[oracle@yans1 ytktran]$ more initytktran.ora
control_files = "/data/oradata/ytktran/control01.ctl"
db_recovery_file_dest = "/data/oradata/ytktran"
db_recovery_file_dest_size= 2147483648
audit_file_dest = "/opt/ora10g/admin/ytktran/adump"
background_dump_dest = "/opt/ora10g/admin/ytktran/bdump"
user_dump_dest = "/opt/ora10g/admin/ytktran/udump"
core_dump_dest = "/opt/ora10g/admin/ytktran/cdump"
db_name = "YTKTRAN"
remote_login_passwordfile= "EXCLUSIVE"
sga_target = 603979776
db_block_size = 8192
compatible = "10.2.0.1.0"
log_archive_dest_1 = "LOCATION=/data/oradata/ytktran/archivelog"
undo_management = "AUTO"
undo_tablespace = "UNDOTBS1"
job_queue_processes = 10
audit_trail = "NONE"
open_cursors = 300
pga_aggregate_target = 200278016
建立資料庫dump檔案所需的目錄:
[oracle@yans1 ~]$ cd $ORACLE_BASE
[oracle@yans1 ora10g]$ cd admin
[oracle@yans1 admin]$ pwd
/opt/ora10g/admin
[oracle@yans1 admin]$ mkdir ytktran
[oracle@yans1 admin]$ cd ytktran
[oracle@yans1 ytktran]$ mkdir bdump cdump adump udump
下面啟動資料庫:
[oracle@yans1 ytktran]$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.3.0 - Production on 星期一 6月 29 16:37:13 2009
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Connected to an idle instance.
SQL> STARTUP NOMOUNT PFILE=/data/oradata/ytktran/initytktran.ora
ORACLE instance started.
Total System Global Area 603979776 bytes
Fixed Size 2074600 bytes
Variable Size 167774232 bytes
Database Buffers 427819008 bytes
Redo Buffers 6311936 bytes
SQL> CREATE SPFILE FROM PFILE = '/data/oradata/ytktran/initytktran.ora';
File created.
SQL> STARTUP FORCE NOMOUNT
ORACLE instance started.
Total System Global Area 603979776 bytes
Fixed Size 2074600 bytes
Variable Size 167774232 bytes
Database Buffers 427819008 bytes
Redo Buffers 6311936 bytes
SQL> CREATE CONTROLFILE REUSE SET DATABASE "YTKTRAN" RESETLOGS FORCE LOGGING ARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 '/data/oradata/ytktran/redo01.log' SIZE 50M,
9 GROUP 2 '/data/oradata/ytktran/redo02.log' SIZE 50M,
10 GROUP 3 '/data/oradata/ytktran/redo03.log' SIZE 50M
11 DATAFILE
12 '/data/oradata/ytktran/SYSTEM01.DBF',
13 '/data/oradata/ytktran/UNDOTBS01.DBF',
14 '/data/oradata/ytktran/SYSAUX01.DBF',
15 '/data/oradata/ytktran/EXAMPLE01.DBF',
16 '/data/oradata/ytktran/YANGTK01.DBF',
17 '/data/oradata/ytktran/MGMT.DBF',
18 '/data/oradata/ytktran/YANGTK02.DBF',
19 '/data/oradata/ytktran/TEST01.DBF',
20 '/data/oradata/ytktran/MGMT_ECM_DEPOT1.DBF'
21 CHARACTER SET ZHS16GBK
22 ;
Control file created.
SQL> alter database open resetlogs upgrade;
Database altered.
SQL> ALTER TABLESPACE TEMP ADD TEMPFILE '/data/oradata/ytktran/temp01.dbf'
2 SIZE 1024M AUTOEXTEND OFF;
Tablespace altered.
由於資料庫的從32位變為64位,且版本都發生了變化,需要執行下面的指令碼:
SQL> @?/rdbms/admin/utlip.sql
5139 rows updated.
Commit complete.
.
.
.
System altered.
SQL> @?/rdbms/admin/utlirp.sql
SQL>
SQL> WHENEVER SQLERROR EXIT;
SQL>
SQL> DOC
DOC>#######################################################################
DOC>#######################################################################
DOC> The following statement will cause an "ORA-01722: invalid number"
DOC> error if there the database was not opened in UPGRADE mode
DOC>
DOC> If you encounter this error, execute "SHUTDOWN", "STARTUP UPGRADE" and
DOC> re-execute utlirp.sql
DOC>#######################################################################
DOC>#######################################################################
DOC>#
.
.
.
SQL> Rem ===========================================================================
SQL> Rem END utlip.sql
SQL> Rem ===========================================================================
SQL>
SQL> DOC
DOC>#######################################################################
DOC>#######################################################################
DOC> utlirp.sql completed successfully. All PL/SQL objects in the
DOC> database have been invalidated.
DOC>
DOC> Shut down and restart the database in normal mode and run utlrp.sql to
DOC> recompile invalid objects.
DOC>#######################################################################
DOC>#######################################################################
DOC>#
SQL> @?/rdbms/admin/catupgrd.sql
DOC>######################################################################
DOC>######################################################################
DOC> The following statement will cause an "ORA-01722: invalid number"
DOC> error if the user running this script. is not SYS. Disconnect
DOC> and reconnect with AS SYSDBA.
DOC>######################################################################
DOC>######################################################################
DOC>#
no rows selected
.
.
.
DOC>#######################################################################
DOC>#
SQL>
SQL> Rem *********************************************************************
SQL> Rem END catupgrd.sql
SQL> Rem *********************************************************************
SQL> @?/rdbms/admin/utlrp.sql
SQL> Rem
SQL> Rem $Header: utlrp.sql 24-jul-2003.10:06:51 gviswana Exp $
SQL> Rem
SQL> Rem utlrp.sql
SQL> Rem
SQL> Rem Copyright (c) 1998, 2003, Oracle Corporation. All rights reserved.
SQL> Rem
SQL> Rem NAME
SQL> Rem utlrp.sql - Recompile invalid objects
SQL> Rem
SQL> Rem DESCRIPTION
SQL> Rem This script. recompiles invalid objects in the database.
SQL> Rem
SQL> Rem When run as one of the last steps during upgrade or downgrade,
SQL> Rem this script. will validate all remaining invalid objects. It will
SQL> Rem also run a component validation procedure for each component in
SQL> Rem the database. See the README notes for your current release and
SQL> Rem the Oracle Database Upgrade book for more information about
SQL> Rem using utlrp.sql
SQL> Rem
SQL> Rem Although invalid objects are automatically re-validated when used,
SQL> Rem it is useful to run this script. after an upgrade or downgrade and
SQL> Rem after applying a patch. This minimizes latencies caused by
SQL> Rem on-demand recompilation. Oracle strongly recommends running this
SQL> Rem script. after upgrades, downgrades and patches.
SQL> Rem
SQL> Rem NOTES
SQL> Rem * This script. must be run using SQL*PLUS.
SQL> Rem * You must be connected AS SYSDBA to run this script.
SQL> Rem * There should be no other DDL on the database while running the
SQL> Rem script. Not following this recommendation may lead to deadlocks.
SQL> Rem
SQL> Rem MODIFIED (MM/DD/YY)
SQL> Rem gviswana 06/26/03 - Switch default to parallel if appropriate
SQL> Rem gviswana 06/12/03 - Switch default back to serial
SQL> Rem gviswana 05/20/03 - 2814808: Automatic parallelism tuning
SQL> Rem rburns 04/28/03 - timestamps and serveroutput for diagnostics
SQL> Rem gviswana 04/13/03 - utlrcmp.sql load -> catproc
SQL> Rem gviswana 06/25/02 - Add documentation
SQL> Rem gviswana 11/12/01 - Use utl_recomp.recomp_serial
SQL> Rem rdecker 11/09/01 - ADD ALTER library support FOR bug 1952368
SQL> Rem rburns 11/12/01 - validate all components after compiles
SQL> Rem rburns 11/06/01 - fix invalid CATPROC call
SQL> Rem rburns 09/29/01 - use 9.2.0
SQL> Rem rburns 09/20/01 - add check for CATPROC valid
SQL> Rem rburns 07/06/01 - get version from instance view
SQL> Rem rburns 05/09/01 - fix for use with 8.1.x
SQL> Rem arithikr 04/17/01 - 1703753: recompile object type# 29,32,33
SQL> Rem skabraha 09/25/00 - validate is now a keyword
SQL> Rem kosinski 06/14/00 - Persistent parameters
SQL> Rem skabraha 06/05/00 - validate tables also
SQL> Rem jdavison 04/11/00 - Modify usage notes for 8.2 changes.
SQL> Rem rshaikh 09/22/99 - quote name for recompile
SQL> Rem ncramesh 08/04/98 - change for sqlplus
SQL> Rem usundara 06/03/98 - merge from 8.0.5
SQL> Rem usundara 04/29/98 - creation (split from utlirp.sql).
SQL> Rem Mark Ramacher (mramache) was the original
SQL> Rem author of this script.
SQL> Rem
SQL>
SQL> Rem ===========================================================================
SQL> Rem BEGIN utlrp.sql
SQL> Rem ===========================================================================
.
.
.
SQL> Rem ===========================================================================
SQL> Rem END utlrp.sql
SQL> Rem ===========================================================================
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 603979776 bytes
Fixed Size 2074600 bytes
Variable Size 243271704 bytes
Database Buffers 352321536 bytes
Redo Buffers 6311936 bytes
Database mounted.
Database opened.
SQL> alter database datafile 'MISSING00004' offline drop;
Database altered.
至此,目標伺服器上的資料庫順利開啟。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-609946/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- CONVERT DATABASE命令(三)Database
- CONVERT DATABASE命令(一)Database
- Convert a Physical Standby Database into a Snapshot Standby DatabaseDatabase
- RMAN CONVERT DATABASE 的限制Database
- Can Tapes Be Used For RMAN Convert Database (Doc ID 563816.1)Database
- To use Rman to duplicate database be careful of db_file_name_convertDatabase
- oracle rconfig convert single instance to rac databaseOracleDatabase
- oracle 9i single instance convert to rac databaseOracleDatabase
- 利用RMAN Convert database特性進行跨平臺遷移資料Database
- oracle10g_rman_cross os_同位元組序_convert databaseOracleROSDatabase
- Linux圖片處理 -- ddjvu和convert命令Linux
- db2 create database 命令DB2Database
- DATA GUARD 中alter database 命令Database
- 淺析webpack原始碼之convert-argv模組(二)Web原始碼
- Oracle DBA命令參考——alter databaseOracleDatabase
- duplicate命令中有pfile、logfile、*_file_name_convert、nofilenamecheck的案例
- 理解RMAN backup database plus archivelog命令DatabaseHive
- 手動create database 的可用命令Database
- Oracle 10g新增DROP DATABASE命令Oracle 10gDatabase
- bbed二(命令)
- 整理:RMAN命令(二)
- Convert object/bean to mapObjectBean
- sql server convert用法SQLServer
- db_file_name_convert和log_file_name_convert詳解
- 【OCM】Oracle Database 10g: Performance Tuning(二)OracleDatabaseORM
- 理解RMAN backup database plus archivelog delete all input命令DatabaseHivedelete
- docker命令總結(二)Docker
- Convert.ToInt32( null or "")Null
- json convert to stringJSON
- How to Convert Subversion Repo to GitGit
- Convert Array of Objects to Data TableObject
- SQL Server CONVERT() 函式SQLServer函式
- Abp框架之執行Update-Database 命令系列錯誤框架Database
- 【OCM】Oracle Database 10g: RAC for Administrators(二)OracleDatabase
- MySQL常用命令(二)MySql
- PHP 每日一函式 — 字串函式 convert_uuencode () & convert_uudecode ()PHP函式字串
- 使用Duplicate target database命令恢復線上oracle datagard備庫DatabaseOracle
- koa-convert原始碼分析原始碼