当前位置:首页 » 参考文献 » oracle切换数据库

oracle切换数据库

发布时间: 2021-03-18 16:01:53

① 我的Oracle中创建了多个数据库,我应该如何在数据库之间进行切换呢

1、在不退出sqlplus的情况下,直接在命令行输入conn username/password;即可完成切换。
2、在退出sqlplus的情况下,windows下:set ORACLE_SID=db_name; linux下:export ORACLE_SID = db_name再登录相应的用户即可完成切换。
3、创建用户命令:create user usernamer identified by passwd;
4、给用户赋权限:grant connect,resource,dba to username;

② oracle数据库切换问题

你这个属于主、备机切换

1.察看主库状态
selectswitchover_statusfromv$database;

收集主库上的临时表空间的情况,原因是备库激活后临时文件可能丢失,需要手工建上去:
colfile_nameformata40
selectfile_name,tablespace_name,bytes/1024/1024fromdba_temp_files;

FILE_NAMETABLESPACE_NAMEBYTES/1024/1024
---------------------------------------------------------------------------
/data/oradata/alihr/temp01.dbfTEMP2048

2.切换主库到standby
;
或:
;
shutdownimmediate;
startupnomount;
;

3.验证要被切换的standby是否接收到switchto通知
SELECTSWITCHOVER_STATUSFROMV$DATABASE;
以前的状态就是SESSIONSACTIVE,现在就变为TOPRIMARY

4.切换物理standby到主用模式,检查redolog是否创建好
;
shutdownimmediate;
startup;

5.standby数据库切换成主库后,检查是否需要、对临时表空间增加临时文件:
先检查临时文件是否丢失:
colfile_nameformata60
selectfile_name,tablespace_namefromdba_temp_files;
把结果前面原主库上的临时文件进行对比,如有丢失则使用如下命令增加:
'/data/oradata/alihr/temp02.dbf'size2048Mreuse;
正常情况下,如果db_file_name_convert参数设置正确的话,11g会自动建立tempfile

6.在新的standby机器上
altersystemsetlog_archive_dest_state_2='defer';
;

7.检查主备库中fal参数
fal_server服务名是在standby机器的tnsnames中,指向主库,fal_client是在主库上的tnsnames中,指向standby。
fal参数只在standby机器上生效,所以在standby机器上fal_server指向主库,fal_client机器指向备库.
而主库上的fal参数虽然不生效,但为了避免主库切换成standby时,我们还要修改fal参数,所以现在就设置好,
让fal_server指向现在的standby数据库,fal_client指向自己。

8.在新的主库
altersystemsetlog_archive_dest_state_2='enable';
altersystemarchivelogcurrent;
然后到备库上检查备库机器上日志是否正常的传过来了。

9.检查和调整主备库两台机器中的crontab中的数据库备份脚本和删除归档脚本。

=================oracle11g的最大保护和最大可用模式下的切换==================
如果主库是意外宕机的,则直接把备库切换成主库:

;
;
shutdownimmediate;
connect/assysdba;
startupmount;
;
shutdownimmediate;
connect/assysdba;
startupmount;
;
alterdatabaseopen;

注意:上面操作中是手工的把数据库重新置成MAXIMIZEAVAILABILITY,否则数据库起来后是最大性能模式。

检查数据库的角色:
selectdatabase_rolefromv$database;
原有主库启动后,如果不是硬盘坏,主库上的数据还存在,则把主库转换成standby就可以了:
主库上:
startupmount;
recoverautomaticdatabase;
;
shutdownimmediate;
注意千万不要把主库打开了,否则会导致主库的SCN发生变化,无法转换成standby数据库了。


在把原先的主库转化为standby时,有时可能报如下错误:
SQL>;

*
ERRORatline1:
ORA-00283:
ORA-19909:
ORA-01110:datafile1:'/opt/oracle/oradata/oratest/system01.dbf'
这里把到rman中:
listincarnationofdatabase;
resetdatabasetoincarnation1;
recoverdatabase;
resetdatabasetoincarnation2;
=========================================================
failover在物理standby的切换

1.检查standby看是否使用了standbylog
2.有standbylog,执行下面的命令
;
;
2.1没有standbylog则不执行上面的
SKIPSTANDBYLOGFILE;
3.切换
;

3.1如果上面3步骤失败,则
;
4.重启db
shutdownimmediate
startup


switchover的方法:

主库和物理standby的切换
1.察看主库状态
SELECTSWITCHOVER_STATUSFROMV$DATABASE;
2.切换
;
3.原主库
shutdownimmediate;
startupnomount
;

4.验证要被切换的standby是否接收到switchto通知
SELECTSWITCHOVER_STATUSFROMV$DATABASE;
增加onlineredo日志
5.切换物理standby到主
;
shutdownimmediate;
startup;
6.在新的standby机器(也就是老的主库)
;

7.在新的主库
altersystemarchivelogcurrent;========activestandbydatabase===========
当:
;
原来的主库只能通过闪回转化成standbydatabase,但要求数据库的flashback打开。

在新主库上:
selectto_char(standby_became_primary_scn)fromv$database;

在旧主库上:
SHUTDOWNIMMEDIATE;
STARTUPMOUNT;
FLASHBACKDATABASETOSCNstandby_became_primary_scn;
;


selectmax(sequence#)fromv$log_historywhereRESETLOGS_TIME=(selectmax(RESETLOGS_TIME)fromv$log_history);实例恢复:
;

=================lgwr设置====================================
altersystemsetlog_archive_dest_3='location=/disk3/arch/bopschareopen=2MAX_FAILURE=3';
altersystemsetlog_archive_dest_state_3=alternate;

altersystemsetlog_archive_dest_1='location=/disk2/arch/bopschaalternate=log_archive_dest_3reopen=60MAX_FAILURE=5';
*.log_archive_dest_2='SERVICE=DTMRTLGWRASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=DTMRT';
('/oracle/u02/ORA10GDG/STANDBYRD01.LOG')size200M;
selectgroup#,thread#,sequence#,archived,statusfromv$standby_log;


{availability|performance|protection};

selectprotection_modefromv$database;


ORA-19527:
LOG_FILE_NAME_CONVERT='/u02/oracle/oradata/oract/','/u02/oracle/oradata/oract/'

altersystemsetlog_archive_dest_2='SERVICE=bopsteststblgwrsyncaffirm';


selectfrequency,rationfromv$redo_dest_resp_histogramwheredest_id=2andfrequency>1;SQL>;
SQL>ALTERDATABASEOPEN;
SQL>T;;
;


T;

;

finishapply;


;


旧主库转换成standby的步骤:
在新主库上:
selectto_char(standby_became_primary_scn)fromv$database;

在旧主库上:
SHUTDOWNIMMEDIATE;
STARTUPMOUNT;
FLASHBACKDATABASETOSCNstandby_became_primary_scn;
;


WITHSESSIONSHUTDOWN;

FORCE;

③ oracle怎样切换数据库实例

如果使用pl/sql登陆的话,直接退出重新登陆,选择需要的数据库实例就行。

④ oracle数据库如何切换模式

你新建一个连接,用户名输入的时候就写bar2008,填入相应的密码就行了。

⑤ oracle 切换数据库

直接登录相应的用户就可以了。
步骤:直接在命令行输入sql>conn username/password;即可完成切换.
解释:每个用户都只能默认一个数据库,不可能出现多个数据库。所以直接切换到需要的用户下即可完成操作。

⑥ oracle数据库两个实例怎么切换

操作系统环境变量里有个ORACLE_HOME和ORACLE_SID参数(如果没有把它们加上),把SID的值改成你要启动的实例,再STARTUP就可以了

⑦ oracle10g的 oem 如何切换数据库登陆,我想把orcl 换成新建的数据库test

不同数据库登陆OEM的地址是不同的,你可以到
$ORACLE_HOME/install/portlist.ini看一看你test数据库的EM地址是多少
然后再登陆
如果没有,证明你未创建

⑧ 怎么用 sqlplus 切换oracle数据库实例(11g的没有sqlplsusw)。

打开cmd命令,输入set ORACLE_ID="实例名" 回车,再输入 sqlplus 根据提示输入用户名和密码就可以登录到你要登陆的数据库了。

⑨ oracle sqlplus 登陆时怎么切换数据库

再connenct一次数据库阿。另外一个数据库

⑩ oracle中如何在命令行中切换数据库

SET ORACLE_SID = SID

热点内容
涂鸦论文 发布:2021-03-31 13:04:48 浏览:698
手机数据库应用 发布:2021-03-31 13:04:28 浏览:353
版面217 发布:2021-03-31 13:04:18 浏览:587
知网不查的资源 发布:2021-03-31 13:03:43 浏览:713
基金赎回参考 发布:2021-03-31 13:02:08 浏览:489
悬疑故事范文 发布:2021-03-31 13:02:07 浏览:87
做简单的自我介绍范文 发布:2021-03-31 13:01:48 浏览:537
战略地图参考 发布:2021-03-31 13:01:09 浏览:463
收支模板 发布:2021-03-31 13:00:43 浏览:17
电气学术会议 发布:2021-03-31 13:00:32 浏览:731