oracle数据库切换
‘壹’ oracle中如何在命令行中切换数据库
不需要命令行的:pl/sql自带的 打开session 先login off 在login on 打完收工.
‘贰’ oracle 切换数据库
直接登录相应的用户就可以了。
步骤:直接在命令行输入sql>conn username/password;即可完成切换.
解释:每个用户都只能默认一个数据库,不可能出现多个数据库。所以直接切换到需要的用户下即可完成操作。
‘叁’ oracle数据库如何切换模式
oracle dg 三大模式切换
1、最大性能模式MAXIMUM PERFORMANCE --默认模式,最大性能模式特点。
192.168.1.181
SQL>selectdatabase_role,protection_mode,protection_levelfromv$database;
DATABASE_ROLEPROTECTION_MODEPROTECTION_LEVEL
--------------------------------------------------------
SQL>coldest_namefora25
SQL>selectdest_name,statusfromv$archive_dest_status;
DEST_NAMESTATUS
----------------------------------
LOG_ARCHIVE_DEST_1VALID
LOG_ARCHIVE_DEST_2VALID
SQL>showparameterlog_archive
NAMETYPEVALUE
--------------------------------------------------------------------------
log_archive_configstringdg_config=(orcl,db01)
log_archive_dest_1stringlocation=/home/oracle/arch_orc
lvalid_for=(all_logfiles,all_
roles)db_unique_name=orcl
log_archive_dest_2stringservice=db_db01LGWRASYNCval
id_for=(online_logfiles,primar
y_roles)db_unique_name=db01
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_orcl
Oldestonlinelogsequence31
Nextlogsequencetoarchive33
Currentlogsequence33
192.168.1.183
SQL>selectdatabase_role,protection_mode,protection_levelfromv$database;
DATABASE_ROLEPROTECTION_MODEPROTECTION_LEVEL
--------------------------------------------------------
SQL>coldest_namefora25
SQL>selectdest_name,statusfromv$archive_dest_status;
DEST_NAMESTATUS
----------------------------------
LOG_ARCHIVE_DEST_1VALID
LOG_ARCHIVE_DEST_2VALID
SQL>showparameterlog_archive
NAMETYPEVALUE
--------------------------------------------------------------------------
log_archive_configstringdg_config=(db01,orcl)
log_archive_dest_1stringlocation=/home/oracle/arch_db0
1valid_for=(all_logfiles,all_
roles)db_unique_name=db01
log_archive_dest_2stringservice=db_orclLGWRASYNCval
id_for=(online_logfiles,primar
y_roles)db_unique_name=orcl
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_orcl
Oldestonlinelogsequence31
Nextlogsequencetoarchive33
Currentlogsequence33
192.168.1.181
SQL>altersystemswitchlogfile;
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_orcl
Oldestonlinelogsequence32
Nextlogsequencetoarchive34
Currentlogsequence34
192.168.1.183
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_db01
Oldestonlinelogsequence32
Nextlogsequencetoarchive0
Currentlogsequence34
2 、最大性能模式--切换到-->最大高可用 (默认是最大性能模式---MAXIMUM PERFORMANCE)。
192.168.1.181
SQL>selectDATABASE_ROLE,PROTECTION_MODE,PROTECTION_LEVELfromv$database;
DATABASE_ROLEPROTECTION_MODEPROTECTION_LEVEL
--------------------------------------------------------
SQL>showparameterlog_archive_dest_2
NAMETYPEVALUE
--------------------------------------------------------------------------
log_archive_dest_2stringservice=db_db01LGWRASYNCval
id_for=(online_logfiles,primar
y_roles)db_unique_name=db01
192.168.1.181
SQL>shutdownimmediate
192.168.1.183
SQL>;
SQL>shutdownimmediate
192.168.1.181
SQL>startupmount;
SQL>;
SQL>altersystemsetlog_archive_dest_2='service=db_db01LGWRSYNCvalid_for=(online_logfiles,primary_roles)db_unique_name=db01'scope=spfile;
192.168.1.183
SQL>startupnomount
SQL>;
SQL>altersystemsetlog_archive_dest_2='service=db_orclLGWRSYNCvalid_for=(online_logfiles,primary_roles)db_unique_name=orcl'scope=spfile;
SQL>shutdownimmediate
SQL>startupnomount
SQL>;
192.168.1.181
SQL>startup
SQL>coldest_namefora25
SQL>selectdest_name,statusfromv$archive_dest_status;
DEST_NAMESTATUS
----------------------------------
LOG_ARCHIVE_DEST_1VALID
LOG_ARCHIVE_DEST_2VALID
SQL>showparameterlog_archive_dest_2
NAMETYPEVALUE
--------------------------------------------------------------------------
log_archive_dest_2stringservice=db_db01LGWRSYNCvali
d_for=(online_logfiles,primary
_roles)db_unique_name=db01
SQL>selectdatabase_role,protection_level,protection_modefromv$database;
DATABASE_ROLEPROTECTION_LEVELPROTECTION_MODE
--------------------------------------------------------
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_orcl
Oldestonlinelogsequence34
Nextlogsequencetoarchive36
Currentlogsequence36
192.168.1.183
SQL>coldest_namefora25
SQL>selectdest_name,statusfromv$archive_dest_status;
DEST_NAMESTATUS
----------------------------------
LOG_ARCHIVE_DEST_1VALID
LOG_ARCHIVE_DEST_2VALID
SQL>showparameterlog_archive_dest_2
NAMETYPEVALUE
--------------------------------------------------------------------------
log_archive_dest_2stringservice=db_orclLGWRSYNCvali
d_for=(online_logfiles,primary
_roles)db_unique_name=orcl
SQL>selectdatabase_role,protection_level,protection_modefromv$database;
DATABASE_ROLEPROTECTION_LEVELPROTECTION_MODE
--------------------------------------------------------
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_db01
Oldestonlinelogsequence35
Nextlogsequencetoarchive0
Currentlogsequence36
192.168.1.181
SQL>altersystemswitchlogfile;
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_orcl
Oldestonlinelogsequence35
Nextlogsequencetoarchive37
Currentlogsequence37
192.168.1.183
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_db01
Oldestonlinelogsequence36
Nextlogsequencetoarchive0
Currentlogsequence37
3、最大高可用--切换到-->最保护能模式,DG最大保护模式Maximum protection。
192.168.1.181
SQL>shutdownimmediate
192.168.1.183
SQL>shutdownimmediate
192.168.1.181
SQL>;
SQL>shutdownimmediate
192.168.1.183
SQL>startupnomount
SQL>;
192.168.1.181
SQL>startup
SQL>coldest_namefora25
SQL>selectdest_name,statusfromv$archive_dest_status;
DEST_NAMESTATUS
----------------------------------
LOG_ARCHIVE_DEST_1VALID
LOG_ARCHIVE_DEST_2VALID
SQL>showparameterlog_archive_dest_2
NAMETYPEVALUE
--------------------------------------------------------------------------
log_archive_dest_2stringservice=db_db01LGWRSYNCvali
d_for=(online_logfiles,primary
_roles)db_unique_name=db01
SQL>selectdatabase_role,protection_level,protection_modefromv$database;
DATABASE_ROLEPROTECTION_LEVELPROTECTION_MODE
--------------------------------------------------------
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_orcl
Oldestonlinelogsequence37
Nextlogsequencetoarchive39
Currentlogsequence39
192.168.1.183
SQL>coldest_namefora25
SQL>selectdest_name,statusfromv$archive_dest_status;
DEST_NAMESTATUS
----------------------------------
LOG_ARCHIVE_DEST_1VALID
LOG_ARCHIVE_DEST_2VALID
SQL>showparameterlog_archive_dest_2
NAMETYPEVALUE
--------------------------------------------------------------------------
log_archive_dest_2stringservice=db_db01LGWRSYNCvali
d_for=(online_logfiles,primary
_roles)db_unique_name=db01
SQL>selectdatabase_role,protection_level,protection_modefromv$database;
DATABASE_ROLEPROTECTION_LEVELPROTECTION_MODE
--------------------------------------------------------
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_db01
Oldestonlinelogsequence37
Nextlogsequencetoarchive0
Currentlogsequence39
192.168.1.181
SQL>altersystemswitchlogfile;
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_orcl
Oldestonlinelogsequence38
Nextlogsequencetoarchive40
Currentlogsequence40
192.168.1.183
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_db01
Oldestonlinelogsequence37
Nextlogsequencetoarchive0
Currentlogsequence40
‘肆’ oracle怎样切换数据库实例
如果使用pl/sql登陆的话,直接退出重新登陆,选择需要的数据库实例就行。
‘伍’ ORACLE如何切换到用户需要的数据库
user/password@db_name
先要在CMD下设一下这个参数:set oracle_sid=db_name;
‘陆’ ORACLE如何切换到用户需要的数据库
直接登录相应的用户就可以了。
步骤:直接在命令行输入sql>conn
username/password;即可完成切换.
解释:每个用户都只能默认一个数据库,不可能出现多个数据库。所以直接切换到需要的用户下即可完成操作。
‘柒’ oracle数据库两个实例怎么切换
操作系统环境变量里有个ORACLE_HOME和ORACLE_SID参数(如果没有把它们加上),把SID的值改成你要启动的实例,再STARTUP就可以了
‘捌’ 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如何切换到用户需要的数据库
1、使用组合键“Win + R”打开运行对话框,在输入框中输入regedit 并回车打开“注册表编辑器”。