oracle 10g 创建 DATA GUARD
其实创建dg网络上的文档很多,我是看小布老师是视频学习的
用虚拟机做测试,弄了好几天,下面记录一下曾经做过印象比较深的地方
1.将Primary服务器处于归档模式和Force Logging模式
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;
SQL>archive log list
SQL>alter database force logging
2.修改Primary服务器的参数文件
SQL>create pfile from spfile; #
修复生成的pfile文件添加以下内容(成功的例子)
DB_UNIQUE_NAME=uqn_node1
LOG_ARCHIVE_CONFIG='DG_CONFIG=(uqn_node1,uqn_node2)'
LOG_ARCHIVE_DEST_2='SERVICE=lsnode2 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=uqn_node2'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
FAL_SERVER=lsnode2
FAL_CLIENT=lsnode1
DB_FILE_NAME_CONVERT='172.16.2.200:/u01/app/oracle/oradata/ict','172.16.2.201:/u01/app/oracle/oradata/ict'
LOG_FILE_NAME_CONVERT='172.16.2.200:/u01/app/oracle/oradata/ict','172.16.2.201:/u01/app/oracle/oradata/ict'
STANDBY_FILE_MANAGEMENT=AUTO
然后保存,
3.生成新的Primary服务器参数文件
SQL>stutdown immediate
SQL>create spfile form pfile='/u01/app/oracle/procuct/102/dbs/initict.ora' #执行前删除spfile文件
4.创建standby服务器的控制文件
SQL>startup
SQL>alter database create standby controfile as '/u01/app/oracle/standby.ctl'
5.关闭数据库,复制数据文件 创建的standby服务器的控制文件 Primary的参数文件(用来创建Standby的初始化参数文件) 口令文件(用dbca创建的数据库会自动生成口令文件如:orapwict ,在/u01/app/oracle/product/102/dbs目录下)到对应的目录
6.在Primary服务器和Standby服务器同时配置监听和网络服务名
/u01/app/oracle/product/102/network/admin/listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/102/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(
相关文档:
1.在ORACLE中实现SELECT TOP N
由于ORACLE不支持SELECT TOP语句,所以在ORACLE中经常是用ORDER BY跟ROWNUM的组合来实现SELECT TOP N的查询。
简单地说,实现方法如下所示:
SELECT 列名1...列名n from
(SELECT 列 ......
oracle distinct
关键字: distinct的一些杂谈
distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用 它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。
下面先来看看例子:
table ......
众所周知的几个结果集集合操作命令,今天详细地测试了一下,发现一些问题,记录备考。
假设我们有一个表Student,包括以下字段与数据:
drop table student;
create table student
(
id int primary key,
name nvarchar2(50) not null,
score number not null
);
insert into ......
有时候,需要在两个Oracle数据库之间手工同步数据时,DBLink是最方便快捷的手段之一,创建DBLink的方式一般是这样:
create public database link <DBLink名称> connect to <被连接库的用户名> identified by <被连接库的密码> using '< ......