oracle切換資料庫
① 我的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