Oracle HA 之 oracle 11.2 rac库配置active dataguard
目录
configing active dataguard for 11.2 rac. 1
三、安装grid、oracle软件及asmca创建asm磁盘组... 5
4、配置rac主库及物理备库tnsnames.ora文件... 7
1、物理备库启动nomount状态、通过rman恢复物理备库控制文件... 8
2、启动物理备库到mount状态,通过rman restore物理备库... 8
一、建组、建用户、配置环境变量、内核参数等
#!/bin/bash
#Usage:Log on as the superuser('root'),and then execute the command:#./1preusers.sh
groupadd -g 1000 oinstall
groupadd -g 1200 asmadmin
groupadd -g 1201 asmdba
groupadd -g 1202 asmoper
groupadd -g 1300 dba
groupadd -g 1301 oper
useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,dba -d /home/grid -s /bin/bash -c "grid Infrastructure Owner" grid
echo "grid" | passwd --stdin grid
echo "export TMP=/tmp">> /home/grid/.bash_profile
echo 'export TMPDIR=$TMP'>>/home/grid/.bash_profile
echo "export ORACLE_SID=+ASM">> /home/grid/.bash_profile
echo "export ORACLE_BASE=/u01/app/grid">> /home/grid/.bash_profile
echo "export ORACLE_HOME=/u01/app/11.2.0/grid">> /home/grid/.bash_profile
echo "export ORACLE_TERM=xterm">> /home/grid/.bash_profile
echo "export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'" >> /home/grid/.bash_profile
echo 'export TNS_ADMIN=$ORACLE_HOME/network/admin' >> /home/grid/.bash_profile
echo 'export PATH=/usr/sbin:$PATH'>> /home/grid/.bash_profile
echo 'export PATH=$ORACLE_HOME/bin:$PATH'>> /home/grid/.bash_profile
echo 'export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib'>> /home/grid/.bash_profile
echo 'export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib'>> /home/grid/.bash_profile
echo "export LANG=en_US" >> /home/grid/.bash_profile
echo "export NLS_LANG=american_america.AL32UTF8" >> /home/grid/.bash_profile
useradd -u 1101 -g oinstall -G dba,oper,asmdba,asmadmin -d /home/oracle -s /bin/bash -c "Oracle Software Owner" oracle
echo "oracle" | passwd --stdin oracle
echo "export TMP=/tmp">> /home/oracle/.bash_profile
echo 'export TMPDIR=$TMP'>>/home/oracle/.bash_profile
echo "export ORACLE_HOSTNAME=dg">> /home/oracle/.bash_profile
echo "export ORACLE_SID=phydb">> /home/oracle/.bash_profile
echo "export ORACLE_BASE=/u01/app/oracle">> /home/oracle/.bash_profile
echo 'export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1'>> /home/oracle/.bash_profile
echo "export ORACLE_UNQNAME=phydb">> /home/oracle/.bash_profile
echo 'export TNS_ADMIN=$ORACLE_HOME/network/admin' >> /home/oracle/.bash_profile
echo "export ORACLE_TERM=xterm">> /home/oracle/.bash_profile
echo 'export PATH=/usr/sbin:$PATH'>> /home/oracle/.bash_profile
echo 'export PATH=$ORACLE_HOME/bin:$PATH'>> /home/oracle/.bash_profile
echo 'export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib'>> /home/oracle/.bash_profile
echo 'export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib'>> /home/oracle/.bash_profile
echo "export LANG=en_US" >> /home/oracle/.bash_profile
echo "export NLS_LANG=american_america.AL32UTF8" >> /home/oracle/.bash_profile
echo "export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'" >> /home/oracle/.bash_profile
echo "The Groups and users has been created"
echo "The Environment for grid,oracle also has been set successfully"
mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
chown -R grid:oinstall /u01/app/grid
chown -R grid:oinstall /u01/app/11.2.0
chmod -R 775 /u01
cp /etc/security/limits.conf /etc/security/limits.conf.bak
echo "oracle soft nproc 2047" >>/etc/security/limits.conf
echo "oracle hard nproc 16384" >>/etc/security/limits.conf
echo "oracle soft nofile 1024" >>/etc/security/limits.conf
echo "oracle hard nofile 65536" >>/etc/security/limits.conf
echo "grid soft nproc 2047" >>/etc/security/limits.conf
echo "grid hard nproc 16384" >>/etc/security/limits.conf
echo "grid soft nofile 1024" >>/etc/security/limits.conf
echo "grid hard nofile 65536" >>/etc/security/limits.conf
cp /etc/pam.d/login /etc/pam.d/login.bak
echo "session required /lib/security/pam_limits.so" >>/etc/pam.d/login
echo "session required pam_limits.so" >>/etc/pam.d/login
cp /etc/profile /etc/profile.bak
echo 'if [ $USER = "oracle" ]||[ $USER = "grid" ]; then' >> /etc/profile
echo 'if [ $SHELL = "/bin/ksh" ]; then' >> /etc/profile
echo 'ulimit -p 16384' >> /etc/profile
echo 'ulimit -n 65536' >> /etc/profile
echo 'else' >> /etc/profile
echo 'ulimit -u 16384 -n 65536' >> /etc/profile
echo 'fi' >> /etc/profile
echo 'fi' >> /etc/profile
cp /etc/sysctl.conf /etc/sysctl.conf.bak
echo "fs.aio-max-nr = 1048576" >> /etc/sysctl.conf
echo "fs.file-max = 6815744" >> /etc/sysctl.conf
echo "kernel.shmall = 2097152" >> /etc/sysctl.conf
echo "kernel.shmmax = 4294967295" >> /etc/sysctl.conf
echo "kernel.shmmni = 4096" >> /etc/sysctl.conf
echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 9000 65500" >> /etc/sysctl.conf
echo "net.core.rmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.rmem_max = 4194304" >> /etc/sysctl.conf
echo "net.core.wmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.wmem_max = 1048586" >> /etc/sysctl.conf
echo "net.ipv4.tcp_wmem = 262144 262144 262144" >> /etc/sysctl.conf
echo "net.ipv4.tcp_rmem = 4194304 4194304 4194304" >> /etc/sysctl.conf
sysctl -p
二、配置共享磁盘
1)创建4块共享磁盘并fdisk格式化。
vmware esxi创建时需要制定scsi为物理模式。具体步骤略
2)安装asm rpm包
[root@rac2 ~]# cd /mnt
[root@rac2 mnt]# ll
total 136
-rw-r--r--. 1 root root 33956 Jan 22 17:23 kmod-oracleasm-2.0.6.rh1-3.el6.x86_64.rpm
-rw-r--r--. 1 root root 13300 Jan 22 17:23 oracleasmlib-2.0.4-1.el6.x86_64.rpm
-rw-r--r--. 1 root root 74984 Jan 22 17:23 oracleasm-support-2.1.8-1.el6.x86_64.rpm
[root@rac2 mnt]# rpm -qa|grep oracleasm
[root@rac2 mnt]# rpm -ivh kmod-oracleasm-2.0.6.rh1-3.el6.x86_64.rpm
Preparing... ########################################### [100%]
1:kmod-oracleasm ########################################### [100%]
[root@rac2 mnt]# rpm -ivh oracleasm-support-2.1.8-1.el6.x86_64.rpm
warning: oracleasm-support-2.1.8-1.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing... ########################################### [100%]
1:oracleasm-support ########################################### [100%]
[root@rac2 mnt]# rpm -ivh oracleasmlib-2.0.4-1.el6.x86_64.rpm
warning: oracleasmlib-2.0.4-1.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing... ########################################### [100%]
1:oracleasmlib ########################################### [100%]
[root@rac2 mnt]# rpm -qa|grep oracleasm
oracleasm-support-2.1.8-1.el6.x86_64
kmod-oracleasm-2.0.6.rh1-3.el6.x86_64
oracleasmlib-2.0.4-1.el6.x86_64
3)配置asm driver服务
[root@rac1 mnt]# /usr/sbin/oracleasm status
Checking if ASM is loaded: no
Checking if /dev/oracleasm is mounted: no
[root@rac1 mnt]# /usr/sbin/oracleasm configure -i
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting <ENTER> without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface []: grid
Default group to own the driver interface []: asmadmin
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
[root@rac1 mnt]# /usr/sbin/oracleasm status
Checking if ASM is loaded: no
Checking if /dev/oracleasm is mounted: no
[root@rac1 mnt]# /usr/sbin/oracleasm init
Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module "oracleasm": oracleasm
Mounting ASMlib driver filesystem: /dev/oracleasm
[root@rac1 mnt]# /usr/sbin/oracleasm status
Checking if ASM is loaded: yes
Checking if /dev/oracleasm is mounted: yes
4)配置asm磁盘
[root@rac1 mnt]# /usr/sbin/oracleasm listdisks
[root@rac1 mnt]# /usr/sbin/oracleasm createdisk VOL1 /dev/sdb1
Writing disk header: done
Instantiating disk: done
[root@rac1 mnt]# /usr/sbin/oracleasm createdisk VOL2 /dev/sdc1
Writing disk header: done
Instantiating disk: done
[root@rac1 mnt]# /usr/sbin/oracleasm createdisk VOL3 /dev/sdd1
Writing disk header: done
Instantiating disk: done
[root@rac1 mnt]# /usr/sbin/oracleasm createdisk VOL4 /dev/sde1
Writing disk header: done
Instantiating disk: done
[root@rac1 mnt]# /usr/sbin/oracleasm listdisks
VOL1
VOL2
VOL3
VOL4
三、安装grid、oracle软件及asmca创建asm磁盘组
图形化过程(略)。
四、配置rac主库
1、主库设置归档模式
[grid@node1 ~]$ srvctl status database -d orcl
Instance orcl1 is running on node node1
Instance orcl2 is running on node node2
[grid@node1 ~]$ srvctl stop database -d orcl
[oracle@node1 ~]$sqlplus / as sysdba
SQL> alter database archivelog;
Database altered.
SQL> shutdown immediate;
[grid@node1 ~]$ srvctl start database -d orcl
[grid@node1 ~]$ srvctl status database -d orcl
Instance orcl1 is running on node node1
Instance orcl2 is running on node node2
2、主库设置force logging模式
SQL> alter database force logging;
SQL> select name,log_mode,force_logging from gv$database;
NAME LOG_MODE FOR
--------- ------------ ---
DEVDB NOARCHIVELOG YES
DEVDB NOARCHIVELOG YES
3、rac主库执行rman全备
RMAN>run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
backup database format '/rman_backup/Full_%U.bak';
release channel c1;
release channel c2;
release channel c3;
release channel c4;
}
RMAN> backup archivelog all format '/rman_backup/ARC_%U.bak';
4、rac主库创建物理备库控制文件
RMAN> backup device type disk format '/rman_backup/standby_%U.ctl' current controlfile for standby;
5、rac主库创建物理备库参数文件
SQL> create pfile='/rman_backup/initphydb.ora' from spfile;
6、同步rac主库各节点sys用户密码
rac主库各个节点sys用户密码需保持一致。
五、配置物理备库
1、scp命令将主库备份传到物理备库系统上
[oracle@node1 ~]$scp /rman_backup/* 192.168.100.49:/rman_backup/ --输入oracle用户密码
2、创建物理备库口令文件
[oracle@node1 ~]$scp /u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl1 192.168.100.49: /u01/app/oracle/product/11.2.0/db_1/dbs/orapwphydb --输入oracle用户密码
3、修改物理备库初始化参数
[oracle@dg dbs]$ cat initphydb.ora
phydb.__db_cache_size=1862270976
phydb.__java_pool_size=16777216
phydb.__large_pool_size=33554432
phydb.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
phydb.__pga_aggregate_target=838860800
phydb.__sga_target=2516582400
phydb.__shared_io_pool_size=0
phydb.__shared_pool_size=570425344
phydb.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/phydb/adump'
*.audit_trail='db'
*.cluster_database=false
*.compatible='11.2.0.4.0'
*.control_files='+DATA/phydb/controlfile/control.ctl'
*.core_dump_dest='/u01/app/oracle/diag/rdbms/phydb/cdump'
*.db_block_size=8192
*.db_create_file_dest='+DATA'
*.db_domain=''
*.db_file_name_convert='+DATA/orcl/','+DATA/phydb/'
*.db_name='orcl'
*.db_recovery_file_dest='+FLASH'
*.db_recovery_file_dest_size=4621074432
*.db_unique_name='phydb'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.fal_client='phydb'
*.fal_server='orcl1','orcl2'
*.log_archive_config='dg_config=(orcl,phydb)'
*.log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST valid_for=(all_logfiles,all_roles) db_unique_name=phydb'
*.log_archive_dest_2='service=orcl1 valid_for=(online_logfiles,all_roles) db_unique_name=orcl'
*.log_archive_format='ARC_%t_%S_%r.arc'
*.log_file_name_convert='+DATA/orcl/','+DATA/phydb'
*.open_cursors=300
*.pga_aggregate_target=836763648
*.processes=150
*.remote_login_passwordfile='exclusive'
*.sga_target=2510290944
*.service_names='phydb'
*.standby_file_management='auto'
*.thread=1
*.undo_management='auto'
*.undo_tablespace='UNDOTBS1'
[oracle@dg dbs]$
4、配置rac主库及物理备库tnsnames.ora文件
[oracle@dg admin]$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = scan-cluster)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
orcl1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.42)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
(INSTANCE_NAME = orcl1)
)
)
orcl2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.44)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
(INSTANCE_NAME = orcl2)
)
)
phydb =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.49)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = phydb)
)
)
[oracle@dg admin]$
六、创建物理备库
1、物理备库启动nomount状态、通过rman恢复物理备库控制文件
SQL>atartup nomount
[oracle@dg admin]$rman target /
RMAN>restore standby controlfile from '/rman_backup/standby_0gnpvd65_1_1.ctl';
2、启动物理备库到mount状态,通过rman restore物理备库
SQL>alter database open;
RMAN>run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
restore database;
release channel c1;
release channel c2;
release channel c3;
release channel c4;
}
3、备库上创建standby logfile
SQL>select * from v$logfile;
SQL> select * from v$standby_log;
no rows selected
SQL> alter database add standby logfile thread 1 group 5 size 50m,group 6 size 50m,group 7 size 50m;
Database altered.
SQL>
SQL> alter database add standby logfile thread 2 group 8 size 50m,group 9 size 50m,group 10 size 50m;
Database altered.
4、调整rac主库参数
SQL> show parameter spfile;
SQL> show parameter log_arch
SQL>alter system set log_archive_dest_2='service=phydb lgwr sync valid_for=(online_logfiles,primary_role) db_unique_name=phydb' sid='*';
SQL>alter system set log_archive_config='dg_config=(orcl,phydb)' sid='*';
5、备库接收主库日志并应用主库日志
SQL>select sequence#,name,applied from v$archived_log;
SQL>alter database recover managed standby database using current logfile disconnect from session;
6、物理备库以只读方式打开
SQL>select dbid,name,switchover_status,db_unique_name,database_role,open_mode,current_scn from v$database;
SQL>alter database recover managed standby database cancel;
SQL> alter database open;
SQL>alter database recover managed standby database using current logfile disconnect from session;
SQL>select sequence#,name,applied from v$archived_log;
至此,active dataguard配置成功。
7、测试主备库同步功能
文件同步
数据同步
8、配置主备库的DATAGUARD SWITCHOVER功能
① 主库修改相关参数fal_client、fal_server:
SQL> alter system set fal_client='devdb1' sid='devdb1'; --节点1
System altered.
SQL> alter system set fal_client='devdb2' sid='devdb2'; --节点2
System altered.
SQL> alter system set fal_server='phydb' sid='*';
System altered.
② 主库创建standby logfile:
SQL>select * from v$logfile;
SQL>select * from v$standby_log;
SQL> alter database add standby logfile thread 1 group 5 size 50m,group 6 size 50m,group 7 size 50m;
Database altered.
SQL>
SQL> alter database add standby logfile thread 2 group 8 size 50m,group 9 size 50m,group 10 size 50m;
Database altered.
③ 主库修改相关参数standby_file_management 、db_file_name_convert 、log_file_name_convert:
SQL> alter system set standby_file_management=auto sid='*';
System altered.
SQL> alter system set db_file_name_convert='+DATA/phydb/','+DATA/orcl/' sid='*' scope=spfile;
System altered.
SQL> alter system set log_file_name_convert='+DATA/phydb/','+DATA/orcl/' sid='*' scope=spfile;
System altered.
重启数据库。
④ 停止RAC 节点2:rac主库只运行一个节点、如果物理备库也是rac的,也需要仅仅留下一个节点运行。
⑤ RAC 节点1 切换原RAC 主库到备库:
alter database commit to switchover to physical standby with session shutdown;
⑥ 切换原物理备库到主库角色:
alter database commit to switchover to primary;
⑦ 将原RAC 主库2 个实例都启动到MOUNT 状态:
shutdown immediate
[grid@node1 ~]$ srvctl start database -d orcl -o mount
⑧ 原RAC 主库启动redo apply:
SQL> alter database recover managed standby database using current
logfile disconnect from session;
⑨ 原RAC 主库停止redo apply,并将RAC 主库所有节点以READ ONLY 打开:
alter database recover managed standby database cancel;
9、单实例主库,rac备库角色切换
①查看单实例主库状态
select dbid,name,current_scn,protection_mode,database_role,force_logging,open_mode,switchover_status from gv$database;
②查看rac备库状态
select dbid,name,current_scn,protection_mode,database_role,force_logging,open_mode,switchover_status from gv$database;
③停止rac节点2:
shutdown immediate
④切换单实例主库为备库
alter database commit to switchover to physical standby with session shutdown;
⑤将rac备库切换成主库
alter database recover managed standby database cancel; --停掉应用日志
alter database commit to switchover to primary; --切换
⑥启动rac节点2并查看状态
startup
select dbid,name,current_scn,protection_mode,database_role,force_logging,open_mode,switchover_status from gv$database;
⑦恢复单实例备库
alter database recover managed standby database using current logfile disconnect from session;
Oracle HA 之 oracle 11.2 rac库配置active dataguard的更多相关文章
- Oracle HA 之 基于活动数据库复制配置oracle 11.2 dataguard
规划:主库:db_name=dbking db_unique_name=dbkingpri 备库:db_name=dbking ...
- Oracle 11.2.4.0 ACTIVE DATAGUARD 单实例安装(COPY创建备库)
Oracle 11.2.4.0 ADG 单实例安装(COPY创建备库) 规划: 主: OS: Linux Centos 6.5 X64 hostname:ORA11G-DG1 ipaddress:19 ...
- Oracle 11.2 RAC on Redhat 6.5 安装最佳实践
本文讲述了在Redhat 6.5 上安装Oracle 11.2 RAC的详细步骤,是一篇step by step指南,全文没有什么技术难度,只要一步步跟着做就一定能安装成功. 环境介绍 分类 项目 说 ...
- oracle HA 高可用性具体解释(之中的一个)
oracle HA 高可用性具体解释(之二,深入解析TAF,以及HA框架) :http://blog.csdn.net/panfelix/article/details/38436197 一.HA F ...
- oracle HA 高可用性具体解释(之二,深入解析TAF,以及HA框架)
oracle HA 高可用性具体解释(之中的一个,client.server端服务具体解释):http://write.blog.csdn.net/postedit 我们已经看到TAF是的Oracle ...
- ORACLE RAC+OGG配置
实验环境主机名 IP地址rac01 192.168.56.10rac02 192.168.56.20rac-scan 192.168.56.30 目标库:ora-ogg 192. ...
- Oracle集群 & Grid(rac)配置,反推创建过程(重要)。
目前机器上,oracle都是安装好的,那么我们怎么知道,之前的安装过程大概是什么样子呢? 大致安装oracle集群的内容: 一.准备和配置: 1.网卡 2.ip资源 3.scanip 4.hosts ...
- Centos 下oracle 11g 安装部署及手动建库过程
Oracle 11g 手动建库,在虚拟环境中,不使用DBCA工具进行创建数据库 1.Linux环境的基本配置 2.ip 10.11.30.60 3.Oracle 11g安装过程 ---------- ...
- Oracle 10g AND Oracle 11g手工建库案例--Oracle 11g
Oracle 10g AND Oracle 11g手工建库案例--Oracle 11g 系统环境: 操作系统: RedHat EL6 Oracle: Oracle 10g and Oracle 11 ...
随机推荐
- par函数的new 参数-进行图片的叠加
默认调用高级绘图函数的时候,会另外在绘制一副图,为了将两幅图绘制在同一张纸上,可以设置new = TRUE 代码示例: plot(1:5, c(2,3,2,3,2), col = "red& ...
- Java 基本概念:jvm、jdk、jre、jse
jvm 是java虚拟机,将java的class字节码文件翻译成二进制可执行程序.jdk 是java的开发包 Javasdk, java的开发工具,包含SUN公司提供的javaAPI,将java源码编 ...
- scala 官方教程
http://zh.scala-tour.com/#/expression-and-values scala
- 插入数据insert语句中出错:没有与这些操作数匹配的“+”运算符,操作数类型为:const char[ ]+CString
UpdateData(); CString n; n.Format(L"%d", m_n); _bstr_t strCmd_n = "insert into n(材料,折 ...
- 深入volley(三)自己来写volley
https://github.com/Smalinuxer/android-SpillOver 这是我自己写的一个请求缓存框架,基于volley的,沿袭了volley的架构与设计思想,而对其进一步的封 ...
- laravel 控制器多个方法共用一个路由
直接上代码: Route::get('Index/{action}', function(App\Http\Controllers\IndexController $index, $action){ ...
- oracle中获取执行计划
1. 预估执行计划 - Explain PlanExplain plan以SQL语句作为输入,得到这条SQL语句的执行计划,并将执行计划输出存储到计划表中. 首先,在你要执行的SQL语句前加expla ...
- 【RF库Collections测试】Dictionaries Should Be Equal
Name:Dictionaries Should Be EqualSource:Collections <test library>Arguments:[ dict1 | dict2 | ...
- 今天是学习C#面向过程的最后的一天
今天学习完啦面向过程,可能写法也就是那些,固定不变的,但是程序的写法就是由自己决定······ 今天学习了调用已经存在的方法,就是在.net Framework 中存在的方法,具体今天提到的有这些, ...
- Windows下Nutch的配置
Nutch是一个开源的.Java实现的搜索引擎.它提供了我们运行自己的搜索引擎所需的全部工具. Nutch可以分为2个部分: 抓取部分crawler 抓取程序抓取页面并把抓取回来的数据做成反向索引 搜 ...