oracle10g+Dataguard配置
更新时间:2024-05-27 16:26:01 阅读量: 综合文库 文档下载
Linux上实现oracle双机实时备份DataGuard 更改机器名
Hostname 机器名(自己启,两台机器不能一样,建议用dataguard1和dataguard2) vi /etc/sysconfig/network 文件里面的hostname 然后vi /etc/hosts 添加本地hosts
安装数据库
在RHEL5下安装oracle 10g 1、添加组和用户
# /usr/sbin/groupadd oinstall # /usr/sbin/groupadd dba
# /usr/sbin/useradd -g oinstall -G dba oracle # passwd oracle
2、添加以下内容到/etc/sysctl.conf kernel.shmall = 2097152
kernel.shmmax = 2147483648 kernel.shmmni = 4096
kernel.sem = 250 32000 100 128 fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 1048576 net.core.rmem_max = 1048576 net.core.wmem_default = 262144 net.core.wmem_max = 262144
3、添加以下内容到/etc/security/limits.conf oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
4、添加以下内容到/etc/pam.d/login
session required /lib/security/pam_limits.so session required pam_limits.so
5、添加以下内容到/etc/profile if [ $USER = \if [ $SHELL = %ulimit -p 16384 ulimit -n 65536 else
ulimit -u 16384 -n 65536 fi
fi
6、创建安装目录
# mkdir -p /u01/app/oracle
# chown -R oracle:oinstall /u01/app/oracle # chmod -R 775 /u01/app/oracle
7、修改oracle环境变量,首先进入oracle用户模式,vi ~/.bash_profile ,在里面加入以下内容 export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1 export ORACLE_SID=DB99
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib export LC_CTYPE=en_US.UTF-8
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK export LANG=AMERICAN_AMERICA.ZHS16GBK export LC_ALL=C
8、安装数据库
# gunzip 10201_database_linux_x86_64.cpio.gz (64位) # cpio -idmv < 10201_database_linux_x86_64.cpio # vi database/install/oraparam.ini [Certified Versions]
Linux=redhat-3,SuSE-9,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2] 再添加:
[Linux-redhat-5.0-optional] TEMP_SPACE=80 SWAP_SPACE=150
MIN_DISPLAY_COLORS=256
vi /etc/sysconfig/vncservers
添加
VNCSERVERS=\
VNCSERVERARGS[1]=\使用oracle用户(su – oracle)启动vnc服务(vncserver) 将.vnc/.xstart中的twm &改成gnome-session &
,然后用vnc viewer连接服务器运行database目录下的runinstaller 第一个界面选择Advanced Installation
第三个界面需要在语言选项中添加中文支持
在提示是否创建新库时,选择install database software only
安装结束时注意安装程序会提示用root用户执行下面两条命令: /u01/app/oracle/oraInventory/orainstRoot.sh /u01/app/oracle/product/10.2.0/db_1/root.sh
主数据库(简称dbtest1)备用数据库(简称dbtest2)
在dbtest1上安装数据库环境并创建数据库(数据库sid为DB99,安装目录为/u01/app/)
在dbtest2上只安装数据库环境,不创建数据库
下面是dbtest1上的配置
首先用 sqlplus / as sysdba 进入sql查询模式 主库启用FORCE LOGGING
SQL>ALTER DATABASE FORCE LOGGING;
SQL>select FORCE_LOGGING from v$database;
主库检查密码文件
这个默认安装完之后都有,文件在/u01/app/oracle/product/10.2.0/db_1/dbs/orapwDB99
文件名格式为orapw${sid}
主库添加standby redo log
SQL>alter database add standby logfile group 4 ('/u01/app/oracle/oradata/DB99/redo04.log') size 50m;
SQL>alter database add standby logfile group 5 ('/u01/app/oracle/oradata/DB99/redo05.log') size 50m;
SQL>alter database add standby logfile group 6 ('/u01/app/oracle/oradata/DB99/redo06.log') size 50m;
SQL>alter database add standby logfile group 7 ('/u01/app/oracle/oradata/DB99/redo07.log') size 50m;
查看日志情况
sql>select * from v$logfile;
执行后应该能看到你新加的这四个日志相关信息
修改主数据库初始化参数
先执行SQL>create pfile from spfile;
这样就会有/u01/app/oracle/product/10.2.0/db_1/dbs/initDB99.ora文件 直接编辑这个文件 加入以下参数
*.db_unique_name=dbtest1 *.fal_server='dbtest1' *.fal_client='dbtest2'
*.standby_file_management=auto
*.db_file_name_convert='/u01/app/oracle/oradata/DB99/','/u01/app/oracle/oradata/DB99/' *.log_file_name_convert='/u01/app/oracle/oradata/DB99/','/u01/app/oracle/oradata/DB99/' *.log_archive_config='dg_config=(dbtest1,dbtest2)' *.log_archive_dest_2='service=dbtest2 LGWR SYNC AFFIRM valid_for=(online_logfiles,primary_role) db_unique_name=dbtest2' *.log_archive_dest_state_2='ENABLE'
这样初始化参数改好了 使用命令
Sql>shutdown immediate Sql>create spfile from pfile;
修改/u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora下的监听文件 listener.ora文件如下 SID_LIST_LISTENER = (SID_LIST = (SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1) (PROGRAM = extproc) )
(SID_DESC =
(SID_NAME = DB99)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1) ) )
LISTENER =
(DESCRIPTION_LIST = (DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.21)(PORT = 1521)) ) )
修改/u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora 文件如下 DB99 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.21)(PORT = 1521)) (CONNECT_DATA =
(SERVER = DEDICATED) (SERVICE_NAME = DB99) ) )
#LISTENER_DB99 =
# (ADDRESS = (PROTOCOL = TCP)(HOST = localhoenorthdb1)(PORT = 1521)) DBTEST2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.24)(PORT = 1521)) )
(CONNECT_DATA =
(SERVICE_NAME = DB99) ) )
DBTEST1 =
(DESCRIPTION = (ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.21)(PORT = 1521)) )
(CONNECT_DATA =
(SERVICE_NAME = DB99) ) )
EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2)) )
(CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) )
这样参数文件就改完了
主库启用归档日志
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG; SQL> ALTER DATABASE OPEN;
SQL> Alter database set standby database to maximize availability;
注意执行过alter database archivelog;后以后就不用再执行这个命令了,以后直接用startup启动数据库就可以了
用rman备份主库数据文件、归档日志、控制文件 在oracle用户环境下,执行 rman target /
然后执行
rman>backup database plus archivelog;
rman>backup current controlfile for standby;
这样就会在/u01/app/oracle/flash_recovery_area/DB99下生成备份,包括数据文件,控制文件和归档日志
下面对备库进行操作
由于备库没有创建实例,所以缺少几个文件目录 用oracle用户添加
对应主库的目录结构添加
/u01/app/oracle/admin/DB99下的adump,bdump,cdump,udump /u01/app/oracle/flash_recovery_area/ /u01/app/oracle/oradata/DB99
从主库dbtest1复制文件到备用库dbtest2上
需要复制/u01/app/oracle/flash_recovery_area/下的所有东西 还有/u01/app/oracle/product/10.2.0/db_1/dbs/下的所有东西
主库上的/u01/app/oracle/product/10.2.0/db_1/network/admin 目录下的listener.ora和tnsnames.ora
备库修改如/u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora下 SID_LIST_LISTENER = (SID_LIST = (SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1) (PROGRAM = extproc) )
(SID_DESC =
(SID_NAME = DB99)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1) ) )
LISTENER =
(DESCRIPTION_LIST = (DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.24)(PORT = 1521)) ) )
注:和主库相同只有ip不同
tnsnames.ora 如下 DB99 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.24)(PORT = 1521)) (CONNECT_DATA =
(SERVER = DEDICATED) (SERVICE_NAME = DB99) ) )
#LISTENER_DB99 =
# (ADDRESS = (PROTOCOL = TCP)(HOST = localhoenorthdb1)(PORT = 1521)) DBTEST2 =
(DESCRIPTION = (ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.24)(PORT = 1521)) )
(CONNECT_DATA =
(SERVICE_NAME = DB99) ) )
DBTEST1 =
(DESCRIPTION = (ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.21)(PORT = 1521)) )
(CONNECT_DATA =
(SERVICE_NAME = DB99) ) )
EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2)) )
(CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) )
注:和主库一样,只有ip不同
恢复备用库
在恢复备份库的时候先把主库和备库的监听程序重启一下 方法,在oracle用户模式下lsnrctl stop,然后lsnrctl start 然后再回到备库
启动数据库到nomount阶段 sqlplus / as sysdba sql>startup nomount
再回到oracle用户模式 从rman恢复
rman target sys/userjishubu@dbtest1 auxiliary /
rman>duplicate target database for standby nofilenamecheck; 开始进行恢复数据库
修改备库的参数文件
直接编辑这个文件/u01/app/oracle/product/10.2.0/db_1/dbs/initDB99.ora 修改以下参数
*.db_unique_name=dbtest2 然后执行
sql>shutdown immediate; sql>create spfile from pfile;
启动备用库
sqlplus / as sysdba
sql>shutdown immediate; sql>startup nomount;
sql>alter database mount standby database; sql>ALTER DATABASE ADD STANDBY LOGFILE; sql>ALTER DATABASE ADD STANDBY LOGFILE; sql>ALTER DATABASE ADD STANDBY LOGFILE; sql>ALTER DATABASE ADD STANDBY LOGFILE;
sql>alter database recover managed standby database using current logfile disconnect from session;
这样Dataguard的最大可用模式实时备份就完成了
下面进行一下测试 在两边都执行 Sql>Archive log list 看看返回的结果 我的结果是
主库
SQL> archive log list
Database log mode Archive Mode Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 17 Next log sequence to archive 19 Current log sequence 19
备库
SQL> archive log list
Database log mode Archive Mode Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 18 Next log sequence to archive 0 Current log sequence 19
如果没出现数字,在oracle用户模式下lsnrctl stop,然后lsnrctl start
看我所标示的地方是否数字一致,说明已经同步了 然后看主库执行
Sql> select protection_level,protection_mode from v$database;
结果为
SQL> select protection_level,protection_mode from v$database;
PROTECTION_LEVEL PROTECTION_MODE -------------------- --------------------
MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY
如果是这样的结果.两个显示都是高可用模式,那么说明应该配置正确了
再做测试,再主库上插入用户并添加表
然后在备库上执行
Sql> alter database recover managed standby database cancel; Sql>alter database open read only;
连接备库看看有没有你新加的用户名和表,如果都同步过来了,说明配置正确,一切正常了
ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
select *from v$archive_gap;
select SEQUENCE# from V$ARCHIVED_LOG;
补充知识,关于大于2TB的硬盘如何分区,fdisk已经不能用了,方法如下
假设要用parted对Linux下的/dev/sdb(大小为3000G)进行分区操作:
1、进入系统,在#提示符下执行:parted /dev/sdb
2、建立磁盘label: mklabel GPT
3、按p键,查看磁盘可用空间,显示单位为M。3000G应该显示大致为: /dev/sdb 的磁盘几何结构:0.000-3000000.000 兆字节
4、创建分区:在(parted)后输入: mkpart并按照提示操作:分区类型? primary/主分区/extended/扩展分区? p (如果要创建扩展分区 此处输入e)。文件系统类型? [ext2]? (这里直接回车,千万不要改成ext3,分区创建完毕后通过mkfs.ext3 /dev/sdb*建立文件系统)
起始点?0.000 (加入要建立一个10G的分区)
结束点?10240.000
5、按p键查看刚创建的分区是否已经成功。
6、如果成功,键入quit退出parted。
7、使用mkfs.ext3 /dev/hdb* 来创建文件系统
8、挂载并使用该分区:
mkdir /testdir
mount /dev/sdb* /testdir cd /testdir
9、写入数据,测试写入是否正常。
附:em控制端按钮显示乱码解决方法
?
Linux安装oracle后em按钮出现乱码现象 - [oracle]
在linux环境中安装oracle10,启用EM时,会出现所有的按钮显示乱码的现象,
原来是因为在安装oracle10时,JDK/JRE自动选择了字符集,而在$ORACLE_HOME/jdk/jre/lib和$ORACLE_HOME/jre/1.4.2/lib目录下,都有多种字体: [oracle@linzhaorong lib]$ ll
-rwxr-xr-x 1 oracle oinstall 6966 11-18 22:00 font.properties -rwxr-xr-x 1 oracle oinstall 5870 2005-04-20 font.properties_bak -rwxr-xr-x 1 oracle oinstall 5681 2005-04-20 font.properties.Redhat6.1 -rwxr-xr-x 1 oracle oinstall 3828 2005-04-20 font.properties.Redhat8.0 -rwxr-xr-x 1 oracle oinstall 3752 2005-04-20 font.properties.SuSE8.0 -rwxr-xr-x 1 oracle oinstall 6854 2005-04-20 font.properties.zh_CN.Redhat -rwxr-xr-x 1 oracle oinstall 7410 2005-04-20 font.properties.zh_CN.Redhat2.1 -rwxr-xr-x 1 oracle oinstall 6845 2005-04-20 font.properties.zh_CN.Sun -rwxr-xr-x 1 oracle oinstall 7137 2005-04-20 font.properties.zh_CN_UTF8.Sun -rwxr-xr-x 1 oracle oinstall 6922 2005-04-20 font.properties.zh_HK.Sun -rwxr-xr-x 1 oracle oinstall 7132 2005-04-20 font.properties.zh_HK_UTF8.Sun
-rwxr-xr-x 1 oracle oinstall 5810 2005-04-20 font.properties.zh_HK_UTF8.Sun2003 -rwxr-xr-x 1 oracle oinstall 6521 2005-04-20 font.properties.zh.Turbo -rwxr-xr-x 1 oracle oinstall 7236 2005-04-20 font.properties.zh_TW.Redhat -rwxr-xr-x 1 oracle oinstall 7232 2005-04-20 font.properties.zh_TW.Redhat2.1 -rwxr-xr-x 1 oracle oinstall 6892 2005-04-20 font.properties.zh_TW.Sun -rwxr-xr-x 1 oracle oinstall 7142 2005-04-20 font.properties.zh_TW_UTF8.Sun -rwxr-xr-x 1 oracle oinstall 5810 2005-04-20 font.properties.zh_TW_UTF8.Sun2003
而每一个目录下都有一个缺省的字符集font.properties,我们只要用合适的中文字符集来替换缺省字符集即可,我选择的是font.properties.zh_CN.Redhat。
首先,我们应该先将em关闭: emctl stop dbconsole
然后进行替换,注意,$ORACLE_HOME/jdk/jre/lib和$ORACLE_HOME/jre/1.4.2/lib目录下都要进行如下替换:
[oracle@redhat lib]$ cp font.properties.zh_CN.Redhat font.properties
替换之后,我们还要查一下,linux中有没有安装相应的中文字符集,怎么看?
[oracle@redhat lib]$ tail font.properties fontset.dialoginput.plain=\\
-b&h-luxi mono-medium-r-normal--*-%d-*-*-m-*-iso8859-1,\\ -isas-song ti-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0 fontset.default=\\
-b&h-luxi sans-medium-r-normal--*-%d-*-*-p-*-iso8859-1,\\ -isas-song ti-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0
filename.-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/zh_CN/TrueT
ype/zysong.ttf -->查看字体文件是否存在,如果不存在,需要更改路径,或者安装相应字体文件。
根据最后一行的路径,我们去看看是否有该文件是否存在,如果没有,那说明没有安装相应的中文字符集,我们可以到linux的系统安装盘中去找到相应的rpm包,进行安装。
下载地址为
http://rpm.pbone.net/index.php3/stat/4/idpl/5594715/com/ttfonts-zh_CN-2.14-6.noarch.rpm.html wget
ftp://mirror.switch.ch/pool/3/mirror/centos/4.7/os/x86_64/CentOS/RPMS/ttfonts-zh_CN-2.14-6.noarch.rpm
安装 rpm –ivh ttfonts-zh_CN-2.14-6.noarch.rpm 最后还要清理一下Cache,路径一般是
ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs
注意:只需要清理该路径下的gif文件即可: rm *.gif
最后再将em开启,此时,我们发现,乱码不见了。 emctl start dbconsole
SQL> create DIRECTORY enorth_bak_dir as '/u01/oracle/bak/data/'; SQL> grant READ,WRITE on DIRECTORY enorth_bak_dir to pub;
[root@workdb bak]# more expdp_pub.sh export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/10.2.0/db_1 export ORACLE_SID=db21
export PATH=$PATH:$ORACLE_HOME/bin
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
expdp system/adminjishubu parfile=/u01/oracle/bak/expdp_pub.txt
[root@workdb bak]# more expdp_pub.txt schemas=zhengz2
directory=enorth_bak_dir dumpfile=db21.dmp logfile=expdp_db21.log compression=none content=all
estimate=blocks
[root@workdb bak]# more impdp_temp.sh export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/10.2.0/db_1 export ORACLE_SID=db21
export PATH=$PATH:$ORACLE_HOME/bin
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
impdp system/adminjishubu parfile=/u01/oracle/bak/impdp_temp.txt
[root@workdb bak]# more impdp_temp.txt REMAP_SCHEMA=zhengz2:pub_temp directory=enorth_bak_dir
dumpfile=db21_20091019.dmp logfile=expdp_db21_temp.log content=all
//创建目录
create or replace directory expdir as 'd:\\';
//给test赋予目录的读写权限
grant read,write on directory expdir to test;
//导出数据
C:\\>expdp test/test@acf dumpfile=test.dmp directory=expdir
15.1、查看原主库切换状态
Sql>SELECT SWITCHOVER_STATUS FROM V$DATABASE;
如果这里显示的信息是:to standby;则,可以正常切换。 如果显示的是session active
那么有两种可能,一种是日志断档,可以查看以下视图 select SEQUENCE# from V$ARCHIVED_LOG;
对比两个数据库中是否一致,如果没有,则说明主库的日志没有传递到备库。 此时需要手工将日志文件复制到备用库上,然后在备用库上执行
ALTER DATABASE REGISTER LOGFILE '/u01/oracle/flash_recovery_area/DG2/onlinelog/.dbf'; 系统会自动同步。
如果这个时候之前的查询还是session active的状态,可以使用以下语句直接切换,在下一节中讲解。
15.2、切换主库角色
ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY (WITH SESSION SHUTDOWN); 括号中的语句在之前提到的session active状态是才用,意思就是强制关闭所有session; 15.3、重起原来的主库数据库,并做redo应用 SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP MOUNT;
SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION; 15.4、查看原来的备用库状态
Sql>SELECT SWITCHOVER_STATUS FROM V$DATABASE;
正常情况下,应该是TO_PRIMARY 15.5、将原来的备用库升级为主库
Sql>ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY; 15.6、将新的主库(原来的备用库)打开 Sql>ALTER DATABASE OPEN;
如果在alert中提示是read-only的话,则需要先关闭,再打开。
物理standby的failover
注意几点:
??failover之后,原primary数据库默认不再是data guard配置的一部分。
??多数情况下,其它逻辑/物理standby数据库不直接参与failover的过程,因此这些数据库不需要做任何操作。
??某些情况下,新的primary数据库配置之后,需要重新创建其它所有的standby数据库。
另外,如果待转换角色的standby处于maximum protection或maximum availability模式的话,归档日志应该是连续存在的,这种情况下你可以直接从第 3 步执行,否则建议你按照操作步骤从第1步开始执行。
一般情况下failover都是表示primary数据库瘫痪,最起码也是起不来了,因此这种类型的切换基本上不需要primary数据库做什么操作。所以下列步骤中如果有提到primary和standby执行的,只是建议你如果primary还可以用,那就执行一下,即使它能用你却不执行,也没关系,不影响standby数据库的切换:)
1、 检查归档文件是否连续
查询待转换standby数据库的V$ARCHIVE_GAP视图,确认归档文件是否连接: SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP; 未选定行
如果返回的有记录,按照列出的记录号复制对应的归档文件到待转换的standby服务器。这一步非常重要,必须确保所有已生成的归档文件均已存在于standby服务器,不然可能会数据不一致造成转换时报错。文件复制之后,通过下列命令将其加入数据字典:
SQL> ALTER DATABASE REGISTER PHYSICAL LOGFILE 'filespec1';
2、 检查归档文件是否完整
分别在primary/standby执行下列语句:
SQL> select distinct thread#,max(sequence#) over(partition by thread#) a from v$archived_log;
该语句取得当前数据库各线程已归档文件最大序号,如果primary与standby最大序号不相同,必须将多出的序号对应的归档文件复制到待转换的standby服务器。不过既然是failover,有可能primary数据库此时已经无法打开,甚至无法访问,那你只好听天由命喽,三思在这里替你默念:苍天啊,大地啊,哪路的神仙大姐能来保佑俺们不丢数据呀! 3、 启动failover
执行下列语句:
SQL> alter database recover managed standby database finish force; 数据库已更改。
FORCE关键字将会停止当前活动的RFS进程,以便立刻执行failover。 剩下的步骤就与前面switchover很相似了 4、 切换物理standby角色为primary
SQL> alter database commit to switchover to primary; 数据库已更改。
5、 启动新的primary数据库。
如果当前数据库已mount,直接open即可,如果处于read-only模式,需要首先shutdown immediate,然后再直接startup。
SQL> alter database open; 数据库已更改。
角色转换工作完成。剩下的是补救措施(针对原primary数据库),由于此时primary数据库已经不再是data guard配置的一部分,我们需要做的就是尝试看看能否恢复原primary数据库,将其改造为新的standby服务器。具体操作方式可以分为二类:1.重建 2.备份恢复。所涉及的技术前面的系列文章中均有涉及,此处不再赘述。
备库变为主库后需要重新建了em控制服务 emca -repos recreate
emca -config dbcontrol db
archivelog 满了的情况下 DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; #删除7天前的
ALTER SYSTEM SET db_recovery_file_dest_size=16g scope=both;
Lftp使用方法
[cnscn@mail02 ~]$ lftp 211.17.89.xx -p 21 lftp 211.17.89.xx: ~> user username password
lftp 211.17.89.xx: ~> ? #查看帮助 ....
lftp 211.17.89.xx: ~> mirror -c --parallel=5 htdocs mydown #把目录htdocs下的文件及子目录下载到本地的mydown目录下
正在阅读:
【必备】以礼物作文9篇04-02
化验室计算公式归纳总结06-03
品牌化决策的选择(冠生园优浓案例分析)04-16
学年度高一地理第一学期教学工作计划03-15
情感反应与内容反映练习10-02
党员个人扫黑除恶工作总结例文集锦04-03
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- Dataguard
- 配置
- oracle
- 10
- 学生评教表
- 高级人力资源管理师2006年7月理论试题答案
- 2013高中物理必修一相互作用章末练习
- 2018年黑龙江省事业单位考试《公共基础知识》988题【必考题库】
- 英语词性转换
- 小学三年级数学判断题集锦
- 2018高考考场高分攻略之议论文写作(下篇)
- 数控机床及其发展与趋势资料
- “与圆有关的最值问题”教案(最新)
- 高致病性猪蓝耳病防控基础知识
- 行政事业单位资产清查有关问题解答(20070309)
- 《蜀道难》学案参考答案
- 2013连江小学语文培训班学习公告(截止4月7日) 学习时间到4月22日
- 初三第一次月考 10.10
- 中国首批并购交易师 KEDGE EMBA校友周华龙
- 28.2 解直角三角形 同步作业(含答案)
- 人美版美术九年级下册第3课《设计与生活》word教案1
- 海尔集团美国战略浅析
- 卡基娃水电站大坝工程2011年防汛计划
- 浅谈思维导图在小学语文教学中的应用