一. 环境准备
1.准备2台虚拟机rac1和rac2
配置IP分别为
192.168.137.215
192.168.137.216

rac1上设置网卡
vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=none
ONBOOT=yes
IPV6_PRIVACY=no
IPADDR=192.168.137.215
NETMASK=255.255.255.0
GATEWAY=192.169.137.2
DNS1=8.8.8.8

关闭防火墙,重启network
vim /etc/sysconfig/selinux 关闭selinux,reboot
rac2同理

2.两台虚拟机的设置里,分别添加网络适配器,模式为仅主机模式,注意关闭本地防火墙
执行ifconfig查看private ip 分别为 192.168.66.128 192.168.66.130
分别配置/etc/hosts,加入
#public ip
192.168.137.215 rac1
192.168.137.216 rac2

#private ip
192.168.66.128 rac1-priv
192.168.66.130 rac2-priv

#vip ip
192.168.137.221 rac1-vip
192.168.137.222 rac2-vip

#scan ip
192.168.137.231 rac-scan
(public ip是两台机器的公网ip,private ip是主机模式下的私网ip,
vip ip和scan ip随意设置,与公网ip同一网段且没被占用即可)

3.rac1和rac2分别创建用户组
Root用户执行
groupadd oinstall
groupadd dba
groupadd oper
groupadd asmdba
groupadd asmoper
groupadd asmadmin
useradd -g oinstall -G dba,oper,asmdba oracle
useradd -g oinstall -G asmdba,dba,asmadmin,asmoper grid
设置grid和oracle的密码
passwd grid
passwd oracle

4.rac1和rac2分别创建目录并授权
Root用户执行
mkdir /u01
mkdir /u01/grid
mkdir /u01/oracle
mkdir /u01/gridbase

赋予权限
chown -R grid:oinstall /u01
chown -R oracle:oinstall /u01/oracle
chmod -R g+w /u01

5.rac1和rac2分别配置grid和oracle的环境变量
root用户执行
vim /home/grid/.bash_profile,加入

export ORACLE_BASE=/u01/gridbase
export ORACLE_HOME=/u01/grid
export PATH=ORACLEHOME/bin:ORACLE_HOME/bin:ORACLEH​OME/bin:PATH
export LD_LIBRARY_PATH=ORACLEHOME/lib:ORACLE_HOME/lib:ORACLEH​OME/lib:LD_LIBRARY_PATH

vim /home/oracle/.bash_profile,加入

export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=/u01/oracle/product/11.2.0/db_1
export ORACLE_SID=cludb1
export PATH=ORACLEHOME/bin:ORACLE_HOME/bin:ORACLEH​OME/bin:PATH
export LD_LIBRARY_PATH=ORACLEHOME/lib:ORACLE_HOME/lib:ORACLEH​OME/lib:LD_LIBRARY_PATH
(注意rac2的sid=cludb2)

保存后生效
source /home/oracle/.bash_profile
source /home/grid/.bash_profile

6.rac1和rac2修改linux内核参数
Root用户执行
vim /etc/sysctl.conf,加入

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 953851904
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
net.ipv4.ip_local_port_range = 9000 65500

保存后生效
sysctl –p,注意一定要执行这个命令,然后看参数是否有效,如果有无效参数,重新编辑,数字手敲,复制可能有问题

vim /etc/security/limits.conf,加入

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
保存

7.rac1和rac2设置时间节点同步
root用户执行
(注意:一般时间同步有linux的ntpd时间同步,还有就是oracle的时间同步,我们用oracle的时间同步,需要关闭ntpd服务)
systemctl stop ntpd.service
systemctl disable ntpd.service

mv /etc/ntp.conf /etc/ntp.conf.bak

rm /var/run/ntpd.pid(如果有)

8.为rac1和rac2创建共享磁盘

1) rac1点击虚拟机设置,添加硬盘—下一步—scsi—下一步—创建新虚拟磁盘—硬盘大小暂定8G—立即分配,将磁盘储存为单个文件—选择储存的位置,
2) 注意这个位置一定要是rac1和rac2的共享文件夹,我放在了E:\Virtual Machines\sharedisk下,名称xx1.vmdk,点击完成—点击高级—设置虚拟设备节点为scsi 1:1 ,模式独立—永久 ,点击确认
3) 一共创建三块,步骤都相同只是在设置虚拟设备节点时第二台设置为scsi 1:2,第三台设置成scsi 1:3,名称xx2.vmdk,xx3.vmdk
4) rac2同样进行这样的操作,但是在-选择磁盘-这个选项时选择-使用现有的虚拟磁盘,也就是之前rac1创建的放在E:\Virtual Machines\sharedisk的三个磁盘xx1.vmdk, xx2.vmdk, xx3.vmdk
注意:启动rac1虚拟机的时候,会自动运行一个lck文件,导致rac2不能用共享磁盘运行,删除所有.lck文件即可

9.rac1 进行硬盘分区
cd /dev/
ll sd*
可以看到sdb,sdc,sdd,这三块就是添加的磁盘
对硬盘进行分区
fdisk sdb
按m键,此时有多个选项供选择
按n键(创建新分区)
按p键(创建主分区,另有e键是扩展分区)
按1键(分区数字从1开始,即sdb1,sdc1等)
回车默认
回车默认
按w键(将操作写入分区表)
sdc和sdd同理,都要分区

10.用oracleasm 创建磁盘
oracleasm需要三个包:kmod-oracleasm,oracleasm-support,oracleasmlib
(kmod可以用yum下载,后2个按照下列包名在csdn搜索资源下载)

rac1 和 rac2 都要安装
yum install kmod-oracleasm
rpm –ivh oracleasmlib-2.0.12-1.el7.x86_64.rpm
rpm –ivh oracleasm-support-2.1.11-2.el7.x86_64.rpm

rac1用root执行
oracleasm configure –i
然后输入用户grid
输入组dba
输入y
输入y

oracleasm init
创建磁盘DISK01,DISK02,DISK03
oracleasm createdisk DISK01 sdb1
oracleasm createdisk DISK02 sdc1
oracleasm createdisk DISK03 sdd1
查看磁盘:
oracleasm listdisks
DISK01
DISK02
DISK03

rac2用root执行
oracleasm configure -i
输入grid
输入dba
输入y
输入y
oracleasm init
执行完reboot即可
重启后执行oracleasm listdisks
rac2也能看到DISK01,DISK02,DISK03了

11.配置rac1和rac2节点互信
oracle用户和grid用户都要执行
rac1
[oracle@rac1 ~]$ ssh-keygen -t rsa 一路按回车
[oracle@rac1 ~]$ ssh-keygen -t dsa 一路按回车
[oracle@rac1 ~]$ ssh-copy-id -i .ssh/id_rsa.pub rac2
[oracle@rac1 ~]$ ssh-copy-id -i .ssh/id_dsa.pub rac2

rac2
[oracle@rac2 ~]$ ssh-keygen -t rsa 一路按回车
[oracle@rac2 ~]$ ssh-keygen -t dsa 一路按回车
[oracle@rac2 ~]$ ssh-copy-id -i .ssh/id_rsa.pub rac1
[oracle@rac2 ~]$ ssh-copy-id -i .ssh/id_dsa.pub rac1
[oracle@rac2 ~]$ cat .ssh/*.pub >> .ssh/authorized_keys

rac1
[oracle@rac1 ~]$ cat .ssh/*.pub >> .ssh/authorized_keys

执行完后,rac1和rac2上分别测试,oracle和grid用户都要试
ssh rac1 date
ssh rac1-priv date
ssh rac2 date
ssh rac2-priv date
不输入密码就能显示date,说明配置正确

12.将p13390677_112040_Linux-x86-64_3of7.zip 传到rac1上,/u01目录
rac1 root用户执行
chown –R grid:oinstall p13390677_112040_Linux-x86-64_3of7.zip
su – grid
cd /u01
解压即可,会自动解压到grid目录
cd grid
执行安装前检查操作
./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose

检查出现的错误:
1)ssh互信的问题,说明步骤11执行的不全,回去检查
2) 两个节点的通信问题,没配置telnet
rac1和rac2分别执行
yum install telnet
yum install telnet-server
telnet由xinetd进行维护
yum install xinetd
systemctl start xinetd.service
systemctl enable xinetd.service
systemctl start telnet.socket
systemctl enable telnet.socket
测试 rac1和rac2互相telnet成功就可以
3)ERROR:PRVF-7617
ifconfig virbr0 down
禁止开机启动
brctl delbr virbr0
4)内核参数有问题
sysctl –p检查有没有无效参数,或者设置不合理,根据要求对sysctl.conf进行修正
5) 交换空间swap内存不够
root 用户执行,根目录下创建swapfile
cd /
dd if=/dev/zero of=swapfile bs=1024 count=1500000
1024单位byte,增加1.5G内存大小
mkswap swapfile
swapon swapfile
交换内存开机自动挂载
vim /etc/fstab,加入
/swapfile swap swap defaults 0 0
6) 缺少依赖包
yum -y install compat-libstdc+±33 glibc.i686 gcc elfutils-libelf-devel glibc-devel gcc-c++ libaio-devel unixODBC unixODBC-devel
除了以上依赖包还会缺少pdksh,我已经下载好放到桌面,
centos7已经安装ksh取代了pdksh,所以装pdksh需要–force
rpm –ivh pdksh-5.2.14-21.x86_64.rpm --force

解决了上述问题,安装前的环境检查基本就能通过

二. 配置和安装rac
1.配置
rac1上授权oracle和grid可以使用界面,
root用户执行
xhost +SI:localuser:oracle
xhost +SI:localuser:grid
su - grid
cd /u01/grid
解决DISPLAY变量
export DISPLAY=:0.0
xhost +
解决图形化乱码
LANG=en_US.UTF-8

2.安装grid
./runInstaller

cluster Name :rac-cluster
Scan Nane : rac-scan 这里这么设置是因为之前的/etc/hosts中配置了rac-scan。
scan port: 1521
取消勾选configure GNS

点击add 添加
hostname 中填入rac2 vipname 中填入rac2-vip 刚好和rac1对应

默认即可

ASM

选择 external 勾选all disks 下面勾选所有的磁盘

自行设置


默认即可

oraclebase: /u01/gridbase location: /u01/grid

这里会提示oreclehome contains dir
点击下一步,选择yes,忽略即可

默认

提示缺少cvuqdisk-1.0.9-1,csdn搜索资源下载cvuqdisk-1.0.9-1.rpm安装包,安装即可,rac1和rac2都要安装

等待安装完成

rac1和rac2上用root用户按照脚本执行

所有节点上都要执行,先执行主节点rac1,然后执行从节点rac2
报错1:

说明没安装compat-libcap1依赖包
yum install compat-libcap1即可

报错2:Env.pm的错误
执行 yum install perl-Env
/u01/grid/crs/install/rootcrs.pl -deconfig -force –verbose

报错3:ohasd failed to start
配置高可用性
cd /usr/lib/systemd/system
touch ohas.service
vim ohas.service,添加
[Unit]
Description=Oracle High Availability Services
After=syslog.target

[Service]
ExecStart=/etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple
Restart=always

[Install]
WantedBy=multi-user.target
保存后,执行
systemctl daemon-reload
systemctl enable ohas.service
systemctl start ohas.service

如果还报其他错误,就reboot
解决完报错,重新执行root.sh

rac1和rac2都要安装完依赖包,执行完脚本,再点ok

报错4:如果出现下面的错误,可以忽略,问题是由于scan-cluster使用/etc/hosts文件来解析造成的,直接跳过,不影响。如果是用dns来解析的话应该不会报此错误

【INS-20802】oracle cluster varifycation utility filed

安装完成点击close

后续如果crs启不来,执行/u01/grid/crs/install/roothas.pl -deconfig -force –verbose
再执行 /u01/grid/root.sh

3. 安装oracle软件
在任一节点安装即可,我们在rac1上安装
p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip
解压到database
chown -R oracle:oinstall database
su - oracle
export DISPLAY=:0.0
xhost +
解决图形化乱码
LANG=en_US.UTF-8
./runInstaller -ignoreInternalDriverError (忽略内部驱动导致cluster认证失败)
图形化安装过程和单库类似,不细说
我用的静默安装,参数如下,根据实际情况自行对照:

cd /u01/database/response
cp db_install.rsp db_install.rsp.bak
vim db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=rac1
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION= /u01/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME= /u01/oracle/product/11.2.0/db_1
ORACLE_BASE= /u01/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=true
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oper
oracle.install.db.CLUSTER_NODES=rac1,rac2
oracle.install.db.isRACOneInstall=false
oracle.install.db.racOneServiceName=
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=cludb
oracle.install.db.config.starterdb.SID=cludb1
oracle.install.db.config.starterdb.characterSet=ZHS16GBK
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=512
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=123456
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=ASM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=DATA
oracle.install.db.config.asm.ASMSNMPPassword=123456
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
DECLINE_SECURITY_UPDATES=true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
PROXY_REALM=
COLLECTOR_SUPPORTHUB_URL=
oracle.installer.autoupdates.option=SKIP_UPDATES
oracle.installer.autoupdates.downloadUpdatesLoc=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=

执行安装
cd /u01/database
./runInstaller -responseFile /u01/database/response/db_install.rsp -silent -ignorePrereq -ignoreSysPrereqs -showProgress
耐心等待

按照提示执行脚本,安装成功

4. 安装配置数据库
在任一节点安装即可,我们在rac1上安装
dbca

Global Name:cludb,然后select all,下一步

提示没安装监听,先安装监听

su - grid
export DISPLAY=:0.0
xhost +
LANG=en_US.UTF-8
netca

一直下一步就可以
配置完成后
srvctl status listener
srvctl start listener

发现rac1上的listener异常
查看日志,找到报错原因

TNS-01189: The listener could not authenticate the user
/u01/grid/network/admin/下的监听文件listener.ora有错误,之前改ip和实例名留下的后遗症,修改后重启监听,启动成功

dbca继续进行下一步
默认,下一步

设置密码,下一步

默认ASM,下一步

设置密码

闪回区默认路径+DATA,默认大小4M,默认不启用归档,根据实际情况修改

默认,下一步

字符集选择ZHS16GBK,其他默认,下一步

下一步,等待数据库安装完成即可

三.安装后检查
1.如果某一节点的监听启动失败(任一节点执行)
su – grid
srvctl stop listener
srvctl stop scan_listener

srvctl start listener
srvctl start scan_listener

2.查看监听是否正常(任一节点执行)
srvctl status listener
看是否所有节点都在运行
或者所有节点执行 su – oracle lsnrctl status

3.查看集群所有参数状态(任一节点执行)
su - grid
crs_stat –t
注意target为online的,state也必须是online

4.查看数据库是否正常启动(所有节点都执行或ssh免密切换执行)
su – oracle
sqlplus / as sysdba
select status from v$instance;
open为正常

5. 修改ASMSNMP的密码(所有节点执行或ssh免密切换执行)
su – grid
sqlplus / as sysasm
如果发现连不上数据库
修改ORACLE_SID(修改grid用户下的,别改oracle的)
vim .bash_profile
ORACLE_SID=+ASM1(rac2 ORACLE_SID=+ASM2)

source .bash_profile
然后再执行sqlplus / as sysasm

修改密码
alter user asmsnmp identified by “123456”;
报错:ORA-15306: ASM password file update failed on at least one node
ORA-15321: cannot set attribute with connected clients

解决方法:
su – grid
cd $ORACLE_HOME/dbs
创建秘钥文件
orapwd file=‘orapw+ASM1’ entries=5 password=123456

复制到二节点
scp orapw+ASM1 rac2:/u01/grid/dbs/orapw+ASM2

sqlplus / as sysasm
create user asmsnmp identified by “123456”;
grant sysdba to asmsnmp;
select * from v$pwfile_users;
更改成功

6.RAC集群层面的巡检用grid用户,列几个常用的
1) 查看挂载状态
sqlplus / as sysdba
select name,state,group_number,path,total_mb,free_mb from vasmdisk;selectname,state,groupnumber,type,totalmb,freembfromvasm_disk; select name,state,group_number,type,total_mb,free_mb from vasmd​isk;selectname,state,groupn​umber,type,totalm​b,freem​bfromvasm_diskgroup;
2) 查看数据库
srvctl config database 本文档为cludb
查看数据库实例
srvctl status database -d cludb
3) 检查vip的状态及配置
srvctl status nodeapps
srvctl config vip -n rac1
4) 检查scan的状态及配置
srvctl config scan
srvctl status scan
5) 检查scan监听的状态及配置
srvctl config scan_listener
srvctl status scan_listener
6) 检查本地监听及配置
srvctl config listener
srvctl status listener
7) 检查ASM状态及配置
srvctl status asm
8) 查看ASM磁盘组和磁盘
srvctl status diskgroup -g DATA
oracleasm listdisks

7.数据库层面的巡检用oracle用户
1)检查实例
su – oracle
sqlplus / as sysdba
select name from v$database
SQL>CLUDB

2)检查登录
rac1上通过监听登录数据库
sqlplus system/123456@rac1/cludb
rac2上通过监听登录数据库
sqlplus system/123456@rac2/cludb
以上命令也可以全部在某一节点执行(ssh互信)

3)检查心跳
本地安装oracle客户端和plsql远程登录oracle rac
主机名配置scan-ip即可

4)查看表空间和数据文件
+DATA的数据文件路径
su – grid
asmcmd

ASMCMD>cd DATA
ASMCMD>cd CLUDB/DATAFILE

5)数据验证
两台节点分别用监听登录,创建表空间和表
看本地plsql登录能否查看到数据

一节点执行
sqlplus system/123456@rac1/cludb
create tablespace gao logging datafile ‘+DATA/cludb/datafile/gao01.dbf’ size 200m autoextend on next 100m;

二节点执行
sqlplus system/123456@rac2/cludb
select tablespace_name from dba_tablespaces;
可以看到表空间test
创建用户
create user test identified by test default tablespace test;
授权
grant dba,connect,resource to test;
切换用户
conn test/test
创建表
create table test as select * from dba_users;

本地plsql用户test登录
查看表
select * from test;

oracle11g RAC部署(超详细包会)相关推荐

  1. Jenkins详细安装配置部署--超详细

    Jenkins详细安装配置部署--超详细 一.什么是CI/CD 二.Gitlab内置持续集成 持续集成(CI) 持续交付(CD) 2.1 Gitlab的CI/CD优势 2.2 Gitlab的CI/CD ...

  2. 瞬间心情愉悦,头发都少掉了几根!---Django+uwsgi+Nginx项目部署超详细步骤

    文章目录 瞬间心情愉悦,头发都少掉了几根!---Django+uwsgi+Nginx项目部署超详细步骤 先决条件 步骤 本地运行测试 上传服务器 环境安装 准备django程序 完美解决! 瞬间心情愉 ...

  3. JDK的下载安装与环境部署(超详细)

    超详细 JDK的下载安装与环境部署 1.JDK下载 本文章将以Win10(×64)系统为例,演示JDK8的下载安装与环境部署

  4. K8S最新版本集群部署超详细(k8s版本1.5.1)docker 版本19.03.1以及基本操作和服务介绍。

    更新:今天抽时间写了昨天部署的一键脚本: date:Aug 3,2019 <Kubernetes最新版本1.15.1,shell脚本一键部署,刚刚完成测试,实用.> 最近利用空闲时间,把之 ...

  5. Linux云服务器下Tomcat部署超详细

    基于阿里云Centos 7服务器的Tomcat 项目部署 工具:一台安装jdk1.8的Centos 6/7.X 云服务器(64位) Putty  ssh远程连接云服务器的软件 FileZillaCli ...

  6. 前端项目自动化部署——超详细教程(Jenkins、Github Actions)

    本教程主要讲解了怎么使用 Jenkins 和 Github Actions 部署前端项目. 第一部分是使用 Gitea 配置局域网 git 服务器,再使用 Jenkins 将 Gitea 下的项目部署 ...

  7. 前端项目自动化部署——超详细教程(Jenkins、Github Actions)(转发)

    本教程主要讲解了怎么使用 Jenkins 和 Github Actions 部署前端项目. 第一部分是使用 Gitea 配置局域网 git 服务器,再使用 Jenkins 将 Gitea 下的项目部署 ...

  8. Apache部署超详细教程

    文章目录 一.背景 二.Apache与Nginx对比? 三.apache的相关内容 1.apache的安装部署 2.apache的基本信息 3. 修改Apache默认发布目录 4. 修改默认端口 5. ...

  9. Zksync Era合约部署超详细教程,避坑实录

    说明: 1.zksync era部署合约和ETH等网络不同,不能直接使用remix进行部署,官方出的解决方案是使用hardhat插件. 2.合约中的constructor需要传参进去,不能直接写入 3 ...

最新文章

  1. [NOI2010]能量采集
  2. JVM 在遇到OOM(OutOfMemoryError)时生成Dump文件的三种方式
  3. Develop Smartphone Device use VS.NET 2003
  4. grafana—— worldPing APP 中文
  5. jQuery图片提示和文字提示
  6. autojs微博_js实现微博发布小功能
  7. Spark入门必读:核心概念介绍及常用RDD操作
  8. CentOS 7笔记yum install epel-release
  9. 51Nod-1002 数塔取数问题【DP】
  10. Egret入门学习日记 --- 第二十篇(书中 9.1~9.3 节 内容 组件篇)
  11. 激光打标机不能刻字的处理
  12. windows超级工具AlantopTool
  13. matlab球面投影(二)
  14. xpub ypub zpub ---- btc address
  15. php判断是否连续出现数字,php通过gbk编码判断 含有连续数字 可用于判断QQ号,手机号等。...
  16. quartus中与modelsim进行联合仿真出现错误error:(vopt-13130)failed to find design unit****
  17. Unable to set localhost. This prevents creation of a GUID. Cause was: cloud: cloud java.net.UnknownH
  18. uo和o的区别和用法_拼音o与uo如何区别使用
  19. 论文笔记Long_Term_Feature_Bank
  20. 【Java】HTTP请求工具类

热门文章

  1. mongodb 地理距离_MongoDB地理空间移动演示
  2. 数据库隔离级别(收藏)
  3. python技术手册第二版_Python技术手册(第2版) 中文PDF
  4. Zabbix监控整合OneAlert报警平台实现邮件、短信、微信、电话多方式报警
  5. c#调用于仕琪libfacedetection方法与遇到的问题
  6. vep加密视频破解转换为mp4教程
  7. 新一代大数据任务调度 - Apache DolphinScheduler喜提十大开源新锐项目 最具人气项目
  8. 黑链/暗链/防K黑链代码
  9. LaTeX数学公式中的空格
  10. 【Python核心】垃圾回收机制