Linux-CentOS7下安装Oracle11g
简述:
本文操作环境采用CentOS7
Linux安装Oracle11g与Windows区别较大,在Linux下需要创建用户以及用户组来供Oracle使用
Windows可以直接图形化界面从第一步到最后启动服务和监听;Linux下安装采用静默安装则需要手动配置监听、实例、以及环境变量等设置;
下面详细介绍Oracle11g安装步骤
一、准备工作:
官方网站下载Linux版Oracle11g安装包(附下载地址)
https://www.oracle.com/database/technologies/112010-linx8664soft.html
上传到Linux服务器,可采用Winscp工具、也可XShell、或者更好用的MobaXterm
在Linux下新建目录并且解压zip文件到同一个文件夹内
下面详细介绍并且附上图片说明
二、详细步骤
下载oracle11压缩包并且上传到linux的目录下,此处我新建目录如下。
[root@iZ2zeifizy1bjjjvpnk71fZ zipbackpage]# pwd
/home/sakus/oracle/install/zipbackpage
[root@iZ2zeifizy1bjjjvpnk71fZ zipbackpage]# ls
linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip
[root@iZ2zeifizy1bjjjvpnk71fZ zipbackpage]#
把压缩包放在zipbackpage中,再解压的时候解压到install目录下
解压zip包
[root@iZ2zeifizy1bjjjvpnk71fZ]# unzip linux.x64_11gR2_database_1of2.zip [root@iZ2zeifizy1bjjjvpnk71fZ]# unzip linux.x64_11gR2_database_2of2.zip
如果没有unzip工具,则需要手动安装一下,执行一下命令
yum install zip
yum install unzip
把解压后的database文件夹整个挪到新建的目录[/home/sakus/oracle/install]下
关闭selinux
[root@iZ2zeifizy1bjjjvpnk71fZ /]# vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled #此处修改为disable
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
执行:
[root@iZ2zeifizy1bjjjvpnk71fZ /]# setenforce 0
setenforce: SELinux is disabled
关闭防火墙
---CentOS7操作步骤,CentOS6以下自行百度查看一下步骤
[root@iZ2zeifizy1bjjjvpnk71fZ]# systemctl restart firewalld.service [root@iZ2zeifizy1bjjjvpnk71fZ]# systemctl list-unit-files|grep firewalld.service firewalld.service disabled [root@iZ2zeifizy1bjjjvpnk71fZ]# systemctl disable firewalld.service
安装Oracle11g 所需依赖
[root@iZ2zeifizy1bjjjvpnk71fZ]# yum install gcc make binutils gcc-c++ compat-libstdc++-33elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-develnumactl-devel sysstat unixODBC unixODBC-devel pcre-devel –y
添加安装用户以及用户组
[root@iZ2zeifizy1bjjjvpnk71fZ]# groupadd oinstall [root@iZ2zeifizy1bjjjvpnk71fZ]# groupadd dba [root@iZ2zeifizy1bjjjvpnk71fZ]# useradd -g oinstall -G dba oracle [root@iZ2zeifizy1bjjjvpnk71fZ]# passwd oracle Changing password for user oracle. New password: BAD PASSWORD: The password is shorter than 8 characters Retype new password: passwd: all authentication tokens updated successfully. [root@iZ2zeifizy1bjjjvpnk71fZ]# id oracle uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)
修改Linux内核参数的配置文件
[root@iZ2zeifizy1bjjjvpnk71fZ /]# vim /etc/sysctl.conf
在文件末尾增加如下配置
##oracle config date 2020-11-18
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576检查一下是否已经写进了文件中
sysctl -p
[root@iZ2zeifizy1bjjjvpnk71fZ /]# sysctl -p
vm.swappiness = 0
net.ipv4.neigh.default.gc_stale_time = 120
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_synack_retries = 2
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
kernel.sysrq = 1
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576看到添加的内容则表示添加成功并且生效了
修改用户的限制文件
vim /etc/security/limits.conf
在文件末尾增加如下配置
#oracle config date 2020-11-18
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240修改/etc/pam.d/login文件
vim /etc/pam.d/login
文件末尾增加如下配置
session required /lib64/security/pam_limits.so
session required pam_limits.so
修改/etc/profile
vim /etc/profile
文件末尾增加如下配置
##oracle config date 2020-11-18
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
创建安装目录并且设置文件权限
[root@iZ2zeifizy1bjjjvpnk71fZ]# mkdir -p /data/oracle/product/11.2.0 [root@iZ2zeifizy1bjjjvpnk71fZ]# mkdir /data/oracle/oradata [root@iZ2zeifizy1bjjjvpnk71fZ]# mkdir /data/oracle/inventory [root@iZ2zeifizy1bjjjvpnk71fZ]# mkdir /data/oracle/fast_recovery_area [root@iZ2zeifizy1bjjjvpnk71fZ]# chown -R oracle:oinstall /data/oracle [root@iZ2zeifizy1bjjjvpnk71fZ]# chmod -R 775 /data/oracle
此处大多数都认为仅设置775权限即可,不需要设置太高
设置Oracle的用户环境变量
切换用户到Oracle
[root@iZ2zeifizy1bjjjvpnk71fZ]# su -l oracle
[oracle@iZ2zeifizy1bjjjvpnk71fZ]$ vim .bash_profile
文件末尾增加如下内容
# .bash_profile # Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi # User specific environment and startup programs PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH
ORACLE_BASE=/data/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
~
~
ORACLE_SID必须与数据库的创建时候的实例名一致,否则无法启动实例
执行
source .bash_profile
静默安装Oracle的响应文件
复制安装文件夹response到当前oracle用户的家目录下: [oracle@iZ2zeifizy1bjjjvpnk71fZ]$ cp -R /home/sakus/oracle/install/database/response/ . [oracle@iZ2zeifizy1bjjjvpnk71fZ]$ cd response/ [oracle@iZ2zeifizy1bjjjvpnk71fZ response]$ vim db_install.rsp
增加如下配置
oracle.install.option=INSTALL_DB_SWONLY ORACLE_HOSTNAME=CentOS UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/data/oracle/inventory SELECTED_LANGUAGES=en,zh_CN ORACLE_HOME=/data/oracle/product/11.2.0 ORACLE_BASE=/data/oracle oracle.install.db.InstallEdition=EE oracle.install.db.DBA_GROUP=dba oracle.install.db.OPER_GROUP=dba DECLINE_SECURITY_UPDATES=true
根据响应文件安装oracle11g
切换到database目录
[oracle@iZ2zeifizy1bjjjvpnk71fZ response]$ cd /home/sakus/oracle/install/database/
执行静默安装
[oracle@iZ2zeifizy1bjjjvpnk71fZ response]$ ./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq
此处可能提示交换空间不足,先查看一下然后执行如下操作,如果没有遇到请忽略
[oracle@iZ2zeifizy1bjjjvpnk71fZ database]$ free
total used free shared buff/cache available
Mem: 3734288 227224 166016 995936 3341048 2234452
Swap: 524284 0 524284参考此文章操作,需要切换到root用户下执行
https://www.cnblogs.com/gw811/p/4044436.html
防止文章丢失,引用到此
摘:linux下安装Oracle时交换空间不足的解决方法
linux上安装Oracle时交换空间不足的解决办法
增加交换空间有两种方法:
严格的说,在系统安装完后只有一种方法可以增加swap,那就是本文的第二种方法,
至于第一种方法应该是安装系统时设置交换区。
1、使用分区:
在安装OS时划分出专门的交换分区,空间大小要事先规划好,启动系统时自动进行mount。
这种方法只能在安装OS时设定,一旦设定好不容易改变,除非重装系统。
2、使用swapfile:(或者是整个空闲分区)
新建临时swapfile或者是空闲分区,在需要的时候设定为交换空间,最多可以增加8个swapfile。
交换空间的大小,与CPU密切相关,在i386系中,最多可以使用2GB的空间。
在系统启动后根据需要在2G的总容量下进行增减。
这种方法比较灵活,也比较方便,缺点是启动系统后需要手工设置。
下面是运用swapfile增加交换空间的步骤:
涉及到的命令:
free ---查看内存状态命令,可以显示memory,swap,buffer cache等的大小及使用状况;
dd ---读取,转换并输出数据命令;
mkswap ---设置交换区
swapon ---启用交换区,相当于mount
swapoff ---关闭交换区,相当于umount
步骤:
1、创建swapfile:
root权限下,创建swapfile,假设当前目录为"/",执行如下命令:
# dd if=/dev/zero of=swapfile bs=1024 count=500000
则在根目录下创建了一个swapfile,名称为“swapfile”,大小为500M,也可以把文件输出到自己想要的任何目录中,
个人觉得还是直接放在根目录下比较好,一目了然,不容易误破坏,放在其他目录下则不然了;
命令中选项解释:
---of:输出的交换文件的路径及名称;
---bs:块大小,单位byte,一般为1k即1024个byte;
---count:总块数即空间总大小,单位为块即k;
---if:读取的源空闲空间,为什么是zero,不清楚,先固定这么写吧;
2、将swapfile设置为swap空间
# mkswap swapfile
3、启用交换空间,这个操作有点类似于mount操作(个人理解):
# swapon swapfile
至此增加交换空间的操作结束了,可以使用free命令查看swap空间大小是否发生变化;
4、如果不再使用空间可以选择关闭交换空间,这个操作有点类似于umount操作(个人理解)::
# swapoff swapfile
使用这种方法在每次系统启动时都需要手动设置、开启swapfile,比较麻烦,解决方法:
在 /etc/rc.d/rc.local 文件的末行下追加加以下内容:(编辑这个文件当然是用vi了~)
/sbin/swapon /swapfile
保存后退出,这样在系统启动后,swap空间就会自动加载了;
总结:在安装OS时一定要规划后swap大小,通常为内存的2倍,但是要考虑到以后增加内存的可能,所以可以考虑设的稍大一些, 想在虚拟机里面安装oracle10g,发现默认的swap交换空间不满足最低要求,因为我分配的物理内存是1G,那么就按照要求需要2G的swap交换空间,默认只有1G的交换空间。添加swap交换空间的步骤如下:
第一步:确保系统中有足够的空间来用做swap交换空间,我使用的是KVM,准备在一个独立的文件系统中添加一个swap交换文件,在/opt/image中添加2G的swap交换文件
第二步:添加交换文件并设置其大小为2G,使用如下命令
[root@sense image]# dd if=/dev/zero of=/opt/image/swap bs=1024 count=2048000
过段时间就返回如下结果:
2048000+0 records in
2048000+0 records out
2097152000 bytes (2.1 GB) copied, 272.867 seconds, 7.7 MB/s
第三步:创建(设置)交换空间,使用命令mkswap
[root@sense image]# mkswap /opt/image/swap
Setting up swapspace version 1, size = 2097147 kB
第四步:检查现有的交换空间大小,使用命令free
[root@sense image]# free -m
total used free shared buffers cached
Mem: 1011 989 21 0 1 875
-/+ buffers/cache: 112 898
Swap: 1027 0 1027
或者检查meminfo文件
grep SwapTotal /proc/meminfo
第五步:启动新增加的2G的交换空间,使用命令swapon
[root@sense image]# swapon /opt/image/swap
第六步:确认新增加的2G交换空间已经生效,使用命令free
[[root@sense image]# free -m
total used free shared buffers cached
Mem: 1011 995 15 0 4 877
-/+ buffers/cache: 113 897
Swap: 3027 0 3027
或者检查meminfo文件
grep SwapTotal /proc/meminfo
第七步:修改/etc/fstab文件,使得新加的2G交换空间在系统重新启动后自动生效
在文件最后加入:
/opt/image/swap swap swap defaults 0 0
注意切换到Oracle用户下继续执行静默安装命令
[oracle@iZ2zeifizy1bjjjvpnk71fZ response]$ ./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq
当出现:
Successfully Setup Software表示安装成功,中间提示warning不需要理会,当提示成功以后可以退出当前窗口了,切换到root用户继续执行一下操作
执行1:
sh /data/oracle/inventory/orainstRoot.sh
执行结果如下: Changing permissions of /data/oracle/inventory. Adding read,write permissions for group. Removing read,write,execute permissions for world. Changing groupname of /data/oracle/inventory to oinstall. The execution of the script is complete.
执行2:
sh /data/oracle/product/11.2.0/root.sh
执行结果如下:
Check /data/oracle/product/11.2.0/install/root_iZ2f570bi1k56uZ_2018-05-13_14-25-04.log for the output of root script配置监听
切换到oracle登录
su -l oracle
执行
netca /silent /responseFile /home/oracle/response/netca.rsp
提示 Listener start Successful表示成功
配置成功以后在/data/oracle/product/11.2.0/network/admin中可以看到监听文件
listener.ora
netstat查看端口情况
[oracle@iZ2zeifizy1bjjjvpnk71fZ database]$ netstat -an | grep 1521
tcp 0 0 0.0.0.0:1521 0.0.0.0:* LISTEN
tcp 0 0 172.22.11.111:1521 172.22.11.211:60173 ESTABLISHED
tcp 0 0 172.22.11.211:60173 172.22.11.211:1521 ESTABLISHED
unix 2 [ ACC ] STREAM LISTENING 1571367 /var/tmp/.oracle/sEXTPROC1521
[oracle@iZ2zeifizy1bjjjvpnk71fZ database]$表示监听启用成功
安装netstat软件
yum install net-tools
简历数据库,添加实例
[oracle@iZ2zeifizy1bjjjvpnk71fZ database]$ vim /home/oracle/response/dbca.rsp
[GENERAL] # oracle版本,不能更改
RESPONSEFILE_VERSION = "11.2.0" # Description : Type of operation
OPERATION_TYPE = "createDatabase" [CREATEDATABASE] # Description : Global database name of the database
# 全局数据库的名字=SID+主机域名# 第三方工具链接数据库的时候使用的service名称
GDBNAME = "orcl.myorcl" # Description : System identifier (SID) of the database
# 对应的实例名字
SID = "orcl" # Description : Name of the template
# 建库用的模板文件
TEMPLATENAME = "General_Purpose.dbc" # Description : Password for SYS user
# SYS管理员密码
SYSPASSWORD = "123456" # Description : Password for SYSTEM user
# SYSTEM管理员密码
SYSTEMPASSWORD = "123456" # Description : Password for SYSMAN user
# SYSMAN管理员密码
SYSMANPASSWORD = "123456" # Description : Password for DBSNMP user
# DBSNMP管理员密码
DBSNMPPASSWORD = "123456" # Description : Location of the data file's
# 数据文件存放目录
DATAFILEDESTINATION =/data/oracle/oradata # Description : Location of the data file's
# 恢复数据存放目录
RECOVERYAREADESTINATION=/data/oracle/fast_recovery_area # Description : Character set of the database
# 字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
# (CHARACTERSET = "AL32UTF8" NATIONALCHARACTERSET= "UTF8")
CHARACTERSET = "ZHS16GBK" # Description : total memory in MB to allocate to Oracle
# oracle内存1638MB,物理内存2G*80%
TOTALMEMORY = "1638"
进行静默配置
dbca -silent -responseFile /home/oracle/response/dbca.rsp
检查进程实例
ps -ef | grep ora_ | grep -v grep
检查监听状态
lsnrctl status
如果此处执行有问题,请检查需要设置ORACLE_HOME
数据库创建完成以后可以再/data/oracle/cfgtoollogs/dbca/orcl/orcl.log看到日志文件
测试登录状态
sqlplus / as sysdba
[oracle@iZ2zeifizy1bjjjvpnk71fZ database]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Thu Nov 19 15:05:24 2020 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL>表示登录成功,实例成功启动,监听也成功启动。
安装完成以后创建Oracle表空间以及用户
需要执行以下内容
--创建表空间
CREATE TABLESPACE NNC_DATA01 DATAFILE '/data/oracle/oradata/orcl/nnc_data01.dbf' SIZE 500M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ;
CREATE TABLESPACE NNC_DATA02 DATAFILE '/data/oracle/oradata/orcl/nnc_data02.dbf' SIZE 300M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ;
CREATE TABLESPACE NNC_DATA03 DATAFILE '/data/oracle/oradata/orcl/nnc_data03.dbf' SIZE 500M AUTOEXTEND ON NEXT 100M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K ;
CREATE TABLESPACE NNC_INDEX01 DATAFILE '/data/oracle/oradata/orcl/nnc_index01.dbf' SIZE 500M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K ;
CREATE TABLESPACE NNC_INDEX02 DATAFILE '/data/oracle/oradata/orcl/nnc_index02.dbf' SIZE 300M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K ;
CREATE TABLESPACE NNC_INDEX03 DATAFILE '/data/oracle/oradata/orcl/nnc_index03.dbf' SIZE 500M AUTOEXTEND ON NEXT 100M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ; --创建用户
CREATE USER username2019 IDENTIFIED BY password2019 DEFAULT TABLESPACE NNC_DATA01 TEMPORARY TABLESPACE temp;
--用户授权
GRANT connect,dba to username2019;
--创建备份文件夹
create directory exp_dir as '/data/oracle/oradata/orcl/dmpfile';
--授权文件夹操作给用户
grant read,write on directory exp_dir to username2019;
Linux-CentOS7下安装Oracle11g的更多相关文章
- Linux CentOs7 下安装 redis
Linux CentOs7 下安装 redis 请将以下命令放入linux命令行中运行 如果安装过程前没有安装GCC请先安装 命令如下 $ yum install gcc-c++ $ wget ht ...
- (转)LINUX CENTOS7下安装PYTHON
LINUX CENTOS7下安装PYTHON 原文:http://www.cnblogs.com/lclq/p/5620196.html Posted on 2016-06-27 14:58 南宫羽香 ...
- Linux CentOS7下安装Zookeeper-3.4.10服务(最新)
Linux CentOS7下安装Zookeeper-3.4.10服务(最新) 2017年10月27日 01:25:26 极速-蜗牛 阅读数:1933 版权声明:本文为博主原创文章,未经博主允许不得 ...
- Linux(CentOS7)下安装jdk1.8
Linux(CentOS7) 下安装 jdk1.8 操作过程. 一.检查是否自带jdk rpm -qa|grep java 如果存在则用下面命令删除,xxx yyy zzz代表查询出来的自带jdk名称 ...
- Windows和Linux(Centos7)下安装Nginx
安装Nginx 这篇记录只不过做了一个简单总结,如果对这块没什么概念的话可以看一下知乎的这篇文章 https://zhuanlan.zhihu.com/p/83890573 window下安装 win ...
- Linux Centos7下安装Python
1.查看是否已经安装Python Centos7默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5. 使用python -V命令查看一下是否安装Pytho ...
- Centos7下安装Oracle11g r2图形化界面数据库
我的centos7是在VMware下安装的,安装Oracle安装了好久好久,最开始的时候在网上找的两个文章,按照步骤装,有一篇写着装的时候有灰色的竖线,直接按space键或者鼠标右键closed关闭掉 ...
- 详解Linux(centos7)下安装OpenSSL安装图文方法
OpenSSL是一个开源的ssl技术,由于我需要使用php相关功能,需要获取https的文件所以必须安装这个东西了,下面我整理了两种关于OpenSSL安装配置方法. 安装环境: 操作系统:CentO ...
- Centos7下安装Oracle11g r2
我的centos7是在virtualbox下安装的,安装Oracle安装了好久好久,最开始的时候在网上找的两个文章,按照步骤装,有一篇写着装的时候有灰色的竖线,直接按space键或者鼠标右键close ...
- [转]详解Linux(centos7)下安装OpenSSL安装图文方法
OpenSSL是一个开源的ssl技术,由于我需要使用php相关功能,需要获取https的文件所以必须安装这个东西了,下面我整理了两种关于OpenSSL安装配置方法. 安装环境: 操作系统:CentO ...
随机推荐
- mysql-connector-java各种版本下载地址
mysql-connector-java下载地址: http://mvnrepository.com/artifact/mysql/mysql-connector-java 目录 1.进去后选择自己的 ...
- HelloGitHub 开源月刊(第 55 期):终端“百战天虫”,来战?
兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程.对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编 ...
- vue中iframe加载慢,给它加loading效果
js框架:vue ui框架:element 因为iframe加载慢,所以在它加载完成前添加loading效果,loading用的是element家的加载效果 <template> < ...
- Python期中考试程序设计题详解-2
一.请使用turtle库的turtle.pencolor().turtle.seth().turtle.fd()等函数,绘制一个边长为200的红色等边三角形. 题目解析: (1)本题利用turtle画 ...
- CodeForces 578E Walking!
题意 略. 题解 好毒瘤啊,我最多就口胡第一问的样子吧. 第一问很显然(跟凤凰县探险队员一样显然),就是每次贪心选长度最大的满足条件的子序列,选不到就折返回来.所以折返的次数很明显就是选出子序列的个数 ...
- .NET CORE 下如何使用国产数据库进行 开发
主流国产数据库 随着贸易战的升级 ,自主研发和知识产权也是一个大的趋势,达梦和人大金仓是国产数据库中比较主流的 1.达梦数据库 更接近Oracle,更偏向自主研发,对开发人员友好度不如金仓 达梦公司在 ...
- 云服务器部署scrapyd爬虫
Scrapyd部署爬虫项目 GitHub:https://github.com/scrapy/scrapyd API 文档:http://scrapyd.readthedocs.io/en/stabl ...
- vue3.0-如何切换路由-路由模式ts
如何更换路由模式 vue3版本如何切换路由模式?(注:更改后要重启下项目才能看到效果.) 博主,我搜了大半天的,你是怎么找到的? 如下图可看到
- NoSQL数据库的四大分类的分析
分类 Examples举例 典型应用场景 数据模型 优点 缺点 键值(key-value) Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB 内容缓 ...
- 安利下PyAUtoGUI这个库,可自动化控制鼠标键盘
PyAutoGUI 不知道你有没有用过,它是一款用Python自动化控制键盘.鼠标的库.但凡是你不想手动重复操作的工作都可以用这个库来解决. 比如,我想半夜时候定时给发个微信,或者每天自动刷页面等操作 ...