修改Oracle SID

来源:互联网 发布:html css js注释 编辑:程序博客网 时间:2024/06/05 11:56

大笑先吐槽一下,作为信息系统项目的甲方,因为乙方的项目经理实在是能力有限,完全没有办法理解甲方的需求。完全失去了公信力。项目又不能停下来,作为甲方的技术负责人,呕心沥血研究乙方软件的各种设置方法。今天研究的是如何进行数据恢复。

 对方的架构应该很简单,一个tomcat,一个server文件夹,一个doc文件夹以及Oracle数据库。

所以我就想到了先复制tomcat和server,然后通过备份文件还原Oracle数据库即可。在还原Oracle数据库的时候,遇到了SID不同的问题。在tomcat的配置文件里找了好久没找到更改SID的地方,只能退而求其次,更改数据库的SID。

一下内容大部分为转载,在实践过程中,根据问题重新梳理。

1、首先备份控制文件

alter database backup controlfile to trace  as 'D:\aa.ctl';

在aa.ctl文件中找到CREATE CONTROLFILE SET DATABASE "WH" RESETLOGS NOARCHIVELOG(   Set #2. RESETLOGS case)

将语句中原SID WH更改为要修改的SID OA ,并另存为a.sql


2、创建pfile

create pfile from spfile;


3.重新创建windows下的实例服务
C:\>oradim -NEW -SID oa -startmode manual

4、修改相关目录,在修改的过程中,遇到文件夹被占用的情况,需要在服务中停止后继续。

主要修改数据文件,控制文件,日志文件存放目录(根据自己的实际情况修改):

D:\oradata\bdup --->wtest
C:\app\Administrator\admin\bdup\adump  --->wtest
C:\app\Administrator\diag\rdbms\bdup\bdup   --->wtest
C:\app\Administrator\product\11.2.0\dbhome_1\database
C:\app\Administrator\product\11.2.0\dbhome_1\database>dir
C:\app\Administrator\product\11.2.0\dbhome_1\database 的目录
2014/03/06  11:28             2,048 hc_bdup.dat   ---->hc_wtest.dat
2014/01/15  22:03             2,048 hc_orcl.dat
2014/03/06  08:50             1,203 initbdup.ora ----->initwtest.ora
2014/03/18  15:34             1,149 INITorcl.ORA
2005/12/22  04:07            31,744 oradba.exe
2014/04/10  09:14             7,405 oradim.log
2014/03/05  10:52             2,560 PWDbdup.ora  ------>PWDwtest.ora
2014/03/18  17:27             2,560 PWDhjj.ora
2014/03/29  21:47             1,536 PWDorcl.ora
2014/03/04  15:24       104,858,112 REDO04.LOG
2014/03/04  15:24       104,858,112 REDO05.LOG
2014/03/18  10:58         9,748,480 SNCFORCL.ORA
2014/04/10  08:56            13,824 SPFILEBDUP.ORA ------>SPFILEWTEST.ORA
2014/04/05  13:59             3,584 SPFILEORCL.ORA
3.修改参数文件
C:\app\Administrator\product\11.2.0\dbhome_1\database目录下修改initwtest.ora
wtest.__db_cache_size=285212672
wtest.__java_pool_size=16777216
wtest.__large_pool_size=16777216
wtest.__oracle_base='C:\app\Administrator'#ORACLE_BASE set from environment
wtest.__pga_aggregate_target=419430400
wtest.__sga_target=822083584
wtest.__shared_io_pool_size=0
wtest.__shared_pool_size=469762048
wtest.__streams_pool_size=16777216
*.audit_file_dest='C:\app\Administrator\admin\wtest\adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_file_record_keep_time=7
*.control_files='D:\oradata\wtest\control01.ctl','D:\oradata\wtest\control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='wtest'
*.db_recovery_file_dest='C:\app\Administrator\flash_recovery_area\wtest'
*.db_recovery_file_dest_size=4102029312
*.diagnostic_dest='C:\app\Administrator'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=wtestXDB)'
*.fast_start_mttr_target=90
*.job_queue_processes=1000
*.memory_target=1232076800
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=587202560
*.undo_tablespace='UNDOTBS1'

5、

启动数据库
C:\>set oracle_sid=wtest
C:\>sqlplus /nolog
startup nomount pfile='实际pfile目录'
@D:\a.sql

6、修改lsnrctl

7、创建临时表空间

ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\oradata\wtest\TEMP01.DBF' SIZE 30408704  REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;

8、还原即可

原创粉丝点击