把自己在RHEL7.0上安装Oracle12c R2 的过程记录下来

1.准备工作

1.0 设置本地域名解析

安装时提示需要这个东西

[root@oracle12c ~]# echo '192.168.10.10 oracle12c' >> /etc/hosts
[root@oracle12c ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.10 oracle12c
[root@oracle12c ~]#

1.1 主机内存

文档中对内存的要求是最小1G,推荐2G,查看本机内存为4G,符合条件:

[root@oracle12c ~]# grep MemTotal /proc/meminfo
MemTotal:        4033904 kB

1.2 操作系统版本

文档中要求范围比较宽泛,Oracle linux [5|6|7] ,RHEL[5|6|7] 或其它发行版都可以,本机系统为 RHEL7.0 符合条件:

[root@oracle12c ~]# uname -a
Linux oracle12c 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux
[root@oracle12c ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.0 (Maipo)

1.3 临时目录大小

临时目录要求最小1G,要求不是很严格

[root@oracle12c ~]# df -h /tmp
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root   18G  2.9G   15G  17% /

1.4 Swap空间大小

文档里对Swap空间的大小要求依赖内存大小;
内存为1~2G时,Swap应为内存的1.5倍;内存为2~16G时,Swap应等于内存大小;本机Swap大小2G,需增加:

[root@oracle12c ~]# free -mtotal       used       free     shared    buffers     cached
Mem:          3939       1420       2519          9          0        320
-/+ buffers/cache:       1098       2840
Swap:         2047          0       2047

增加方法:
1.创建2G文件 /usr/swap

[root@oracle12c Desktop]# dd if=/dev/zero of=/usr/swap bs=1G count=2

2.设置交换分区

[root@oracle12c Desktop]# mkswap /usr/swap
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=b4fe13a0-89ea-4d71-8ada-6516f20cec8e

3.启动交换分区

[root@oracle12c Desktop]# swapon /usr/swap
swapon: /usr/swap: insecure permissions 0644, 0600 suggested.
[root@oracle12c Desktop]# chmod 0644 /usr/swap

4.开机自动挂载

[root@oracle12c Desktop]# vim /etc/fstab
[root@oracle12c Desktop]# mount -a
[root@oracle12c Desktop]# cat /etc/fstab#
# /etc/fstab
# Created by anaconda on Sat Sep  1 20:22:34 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root   /                       xfs     defaults        1 1
UUID=ed8d7ba8-d900-4481-a7a6-7fcd3995c062 /boot                   xfs     defaults        1 2
/dev/mapper/rhel-swap   swap                    swap    defaults        0 0
/usr/swap swap swap defaults 0 0

之前使用UUID做自动挂载,结果安装时没有了,重新用文件名挂载,现Swap空间符合要求:

[root@oracle12c Desktop]# free -mtotal       used       free     shared    buffers     cached
Mem:          3939       2811       1127          9          0       1811
-/+ buffers/cache:       1000       2939
Swap:         4095          0       4095

1.5 安装所需Packages

Item Requirements
Packages for Red HatEnterprise Linux 7 The following packages (or later versions) must be installed:
binutils-2.23.52.0.1-12.el7 (x86_64)
compat-libcap1-1.10-3.el7 (x86_64)
compat-libstdc+±33-3.2.3-71.el7 (i686)
compat-libstdc+±33-3.2.3-71.el7 (x86_64)
glibc-2.17-36.el7 (i686)
glibc-2.17-36.el7 (x86_64)
glibc-devel-2.17-36.el7 (i686)
glibc-devel-2.17-36.el7 (x86_64)
ksh
libaio-0.3.109-9.el7 (i686)
libaio-0.3.109-9.el7 (x86_64)
libaio-devel-0.3.109-9.el7 (i686)
libaio-devel-0.3.109-9.el7 (x86_64)
libgcc-4.8.2-3.el7 (i686)
libgcc-4.8.2-3.el7 (x86_64)
libstdc+±4.8.2-3.el7 (i686)
libstdc+±4.8.2-3.el7 (x86_64)
libstdc+±devel-4.8.2-3.el7 (i686)
libstdc+±devel-4.8.2-3.el7 (x86_64)
libxcb-1.9-5.el7 (i686)
libxcb-1.9-5.el7 (x86_64)
libX11-1.6.0-2.1.el7 (i686)
libX111.6.0-2.1.el7 (x86_64)
libXau-1.0.8-2.1.el7 (i686)
libXau-1.0.8-2.1.el7 (x86_64)
libXi-1.7.2-1.el7 (i686)
libXi-1.7.2-1.el7 (x86_64)
libXtst-1.2.2-1.el7 (i686)
libXtst-1.2.2-1.el7 (x86_64)
libXrender (i686)
libXrender (x86_64)
libXrender-devel (i686)
libXrender-devel (x86_64)
make-3.82-19.el7 (x86_64)
net-tools-2.0-0.17.20131004git.el7 (x86_64) (for Oracle RAC and Oracle Clusterware)
nfs-utils-1.3.0-0.21.el7.x86_64 (for Oracle ACFS)
smartmontools-6.2-4.el7 (x86_64)
sysstat-10.1.5-1.el7 (x86_64)

实际安装的都能在系统光盘中找到,配置yum仓库之后直接安装,实际安装如下:

[root@oracle12c ~]# yum -y install binutils-* compat-libcap1-* gcc-* gcc-c++-* glibc-*  glibc-devel-* ksh libaio-* libaio-devel-* libgcc-* libstdc++-* libstdc++-devel-* libXi-* libXtst-* make-*  sysstat-* unixODBC*

1.6 内核配置

文档中给出的参数配置的建议:

Parameter Value File
semmsl
semmns
semopm
semmni
250
32000
100
128
/proc/sys/kernel/sem
shmall 40 percent of the size of physical memory in pages
Note: If the server supports multiple databases, or uses a large SGA, then set this parameter to a value that is equal to the total amount of shared memory, in 4K pages, that the system can use at one time.
/proc/sys/kernel/shmall
shmmax Half the size of physical memory in bytes
See My Oracle Support Note 567506.1 for additional information about configuring shmmax.
/proc/sys/kernel/shmmax
shmmni 4096 /proc/sys/kernel/shmmni
panic_on_oops 1 /proc/sys/kernel/panic_on_oops
file-max 6815744 /proc/sys/fs/filemax
aio-max-nr 1048576
Note: This value limits concurrent outstanding requests and should be set to avoid I/O subsystem failures.
/proc/sys/fs/aiomax-nr
ip_local_port_range Minimum: 9000
Maximum: 65500
/proc/sys/net/ipv4/ip_local_port_range
rmem_default 262144 /proc/sys/net/core/rmem_default
rmem_max 4194304 /proc/sys/net/core/rmem_max
wmem_default 262144 /proc/sys/net/core/wmem_default
wmem_max 1048576 /proc/sys/net/core/wmem_max

实际使用根据自己的系统去调整,以下是参考:

[root@oracle12c Desktop]# cat /etc/sysctl.conf
# System default settings live in /usr/lib/sysctl.d/00-system.conf.
# To override those settings, enter new settings here, or in an /etc/sysctl.d/<name>.conf file
#
# For more information, see sysctl.conf(5) and sysctl.d(5).kernel.shmall = 2097152
kernel.shmmax = 976678912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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 = 1048586[root@oracle12c Desktop]# sysctl -p
kernel.shmall = 2097152
kernel.shmmax = 976678912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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 = 1048586

参数释义来源与网络:
kernel.shmall :该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB /4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304才符合要求(几乎是原来设置2097152的两倍)。这时可以将shmmax参数调整到16G了,同时可以修改SGA_MAX_SIZE和SGA_TARGET为12G(您想设置的SGA最大大小,当然也可以是2G~14G等,还要协调PGA参数及OS等其他内存使用,不能设置太满,比如16G);

kernel.shmmax:是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及ServerProcess创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低(在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响),但是其他时候都不会有影响。

官方建议值:
32位linux系统:可取最大值为4GB(4294967296bytes)-1byte,即4294967295。建议值为多于内存的一半,所以如果是32为系统,一般可取值为4294967295。32位系统对SGA大小有限制,所以SGA肯定可以包含在单个共享内存段中。
64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可,可以取物理内存-1byte。例如,如果为12GB物理内存,可取1210241024*1024-1=12884901887,SGA肯定会包含在单个共享内存段中。
kernel.shmmni:该参数是共享内存段的最大数量。shmmni缺省值4096,一般肯定是够用了。
kernel.sem:以kernel.sem = 250 32000 100 128为例:
250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。
32000是参数semmns的值,表示系统内可允许的信号量最大数目。
100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。
128是参数semmni的值,表示系统信号量集合总数。
fs.aio-max-nr:此参数限制并发未完成的请求,应该设置避免I/O子系统故障。
fs.file-max:该参数决定了系统中所允许的文件句柄最大数目,文件句柄设置代表linux系统中可以打开的文件的数量。
net.ipv4.ip_local_port_range:表示应用程序可使用的IPv4端口范围。
net.core.rmem_default:表示套接字接收缓冲区大小的缺省值。
net.core.rmem_max:表示套接字接收缓冲区大小的最大值。
net.core.wmem_default:表示套接字发送缓冲区大小的缺省值。
net.core.wmem_max:表示套接字发送缓冲区大小的最大值。

1.7 设置oracle用户的shell限制

1.7.1 编辑配置文件limits.conf

[root@oracle12c ~]# vim /etc/security/limits.conf
[root@oracle12c ~]# tail -n 10 /etc/security/limits.conf
#@student        -       maxlogins       4
# End of file
oracle       soft    nproc    2047
oracle       hard    nproc    16384
oracle       soft    nofile   1024
oracle       hard    nofile   65536
oracle       soft    stack    10240
oracle       hard    stack    32768

参数解释
oracle:被限制的用户名,如果是限制组组名前面加@以用户名区分;
soft: 当前系统生效的设置值
hard :系统中所能设定的最大值。soft 的限制不能比har 限制高。用 - 就表明同时设置了 soft 和 hard 的值
noproc :进程的最大数目
stack :最大栈大小
nofile :打开文件的最大数目

1.7.2 使配置文件生效(放入登录验证模块)

[root@oracle12c ~]# echo 'session required pam_limits.so' >> /etc/pam.d/login
[root@oracle12c ~]# tail -n 5 /etc/pam.d/login
session    optional     pam_keyinit.so force revoke
session    include      system-auth
session    include      postlogin
-session   optional     pam_ck_connector.so
session required pam_limits.so

1.7.3 oracle用户的登录限制设置

[root@oracle12c ~]# vim /etc/profile
[root@oracle12c ~]# tail -n 15 /etc/profile
doneunset i
unset -f pathmungeif [ $USER = "oracle" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -u 16384 ulimit -n 65536ulimit -s 10240elseulimit -u 16384 -n 65536 -s 10240fi
umask 022
fi

1.8 关闭安全子系统

为了省事,关闭安全子系统:

[root@oracle12c ~]# vim /etc/selinux/config
[root@oracle12c ~]# cat /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
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

1.9 创建用户及用户组

[root@oracle12c ~]# groupadd oinstall
[root@oracle12c ~]# groupadd dba
[root@oracle12c ~]# useradd -g oinstall -G dba oracle
[root@oracle12c ~]# echo 'oracle' | passwd --stdin oracle
Changing password for user oracle.
passwd: all authentication tokens updated successfully.
[root@oracle12c ~]# id oracle
uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)

1.10 创建目录并授权

由于装系统时没考虑到存储问题,导致存储有点小,所以另外挂了两块硬盘做lvm:

[root@oracle12c ~]# pvcreate /dev/sdb /dev/sdcPhysical volume "/dev/sdb" successfully createdPhysical volume "/dev/sdc" successfully created
[root@oracle12c ~]# vgcreate oracle12c /dev/sdb /dev/sdcVolume group "oracle12c" successfully created
[root@oracle12c ~]# lvcreate -L 39G -n oracle oracle12cLogical volume "oracle" created
[root@oracle12c ~]# mkfs.xfs /dev/oracle12c/oracle
meta-data=/dev/oracle12c/oracle  isize=256    agcount=4, agsize=2555904 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=0
data     =                       bsize=4096   blocks=10223616, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=4992, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@oracle12c ~]# mkdir /u01
[root@oracle12c ~]# vim /etc/fstab
[root@oracle12c ~]# mount -a
[root@oracle12c ~]# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root          18G  5.3G   13G  31% /
devtmpfs                      2.0G     0  2.0G   0% /dev
tmpfs                         2.0G  140K  2.0G   1% /dev/shm
tmpfs                         2.0G  8.8M  2.0G   1% /run
tmpfs                         2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/sda1                     497M  119M  379M  24% /boot
/dev/sr0                      3.5G  3.5G     0 100% /media/cdrom
/dev/mapper/oracle12c-oracle   39G   33M   39G   1% /u01
[root@oracle12c ~]# cat /etc/fstab#
# /etc/fstab
# Created by anaconda on Sat Sep  1 20:22:34 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root   /                       xfs     defaults        1 1
UUID=ed8d7ba8-d900-4481-a7a6-7fcd3995c062 /boot                   xfs     defaults        1 2
/dev/mapper/rhel-swap   swap                    swap    defaults        0 0
UUID=b4fe13a0-89ea-4d71-8ada-6516f20cec8e swap swap defaults 0 0
/dev/cdrom /media/cdrom iso9660 defaults 0 0
/dev/oracle12c/oracle /u01 xfs defaults 0 0[root@oracle12c ~]# mkdir -p /u01/app/oracle
[root@oracle12c ~]# chown -R oracle:oinstall /u01
[root@oracle12c ~]# chmod -R 777 /u01

1.11 设置oracle用户环境变量

[oracle@oracle12c Desktop]$ cd
[oracle@oracle12c ~]$ vim .bash_profile
[oracle@oracle12c ~]$ source .bash_profile
[oracle@oracle12c ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/12.2.0/dbhome_1
[oracle@oracle12c ~]$ tail -n 15 .bash_profile. ~/.bashrc
fi# User specific environment and startup programs
ORACLE_BASE=/u01/app/oracle;export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1;export ORACLE_HOME
ORACLE_SID=orcl;export ORACLE_SID
TMP=/tmp;export TMP
TMPDIR=$TMP;export TMPDIR
#NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8";export NLS_LANG
TNS_ADMIN=$ORACLE_HOME/network/admin;export TNS_ADMIN
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH;export PATHPATH=$PATH:$HOME/.local/bin:$HOME/bin;export PATH

注意:*只在重启时加载一次。当提示找不到命令时可以考虑是环境变量的设置问题。*可以同时把oracle用户的环境变量写入.bashrc文件中。

2.安装

2.1 解压并安装

[oracle@oracle12c ~]$ mv linuxx64_12201_database.zip  /u01/app/oracle/
[oracle@oracle12c ~]$ cd /u01/app/oracle
[oracle@oracle12c oracle]$ ls
linuxx64_12201_database.zip
[oracle@oracle12c oracle]$ unzip linuxx64_12201_database.zip
Archive:  linuxx64_12201_database.zipcreating: database/creating: database/sshsetup/inflating: database/sshsetup/sshUserSetup.sh  [oracle@oracle12c oracle]$ cd database/
[oracle@oracle12c database]$ ls
install  response  rpm  runInstaller  sshsetup  stage  welcome.html
[oracle@oracle12c database]$ ./runInstaller
Starting Oracle Universal Installer...

2.2 软件安装过程截图:

2.2.1 选择不推送

2.2.2 只安装数据库软件

2.2.3 单实例数据库平台

2.2.4 选择版本

2.2.5 安装位置确认

2.2.6 安装目录位置

2.2.7 系统组权限分配

2.2.8 安装概览

2.2.9 安装

第一次安装时系统不知道什么原因重启了。把文件全部删掉重新安装的。

使用root用户执行两个shell脚本
1./u01/app/oraInventory/orainsRoot.sh
1./u01/app/oracle/product/12.2.0/dbhome_1/root.sh

3.dbca创建数据库

[root@oracle12c ~]# dbca

第一次输入没有反应,发现是环境变量ORACLE_HOME与实际安装不服,改一下就好了

3.1 选择行为-创建数据库

3.2 选择创建模式-高级配置

3.3 部署类型-单实例,通用,事务

3.4 数据库身份-名字、ID、是否容器

3.5 存储选项-文件系统位置、非OMF

3.6 指定快速恢复区

3.7 网络配置-以后手动配置

3.8 配置Vault安全-忽略

3.9.1 配置内存管理

3.9.2 配置字符集

3.10 管理工具选择–忽略

3.11 身份验证-用户密码

3.12 创建选项-建库、保留建库脚本

3.13 建库摘要

3.14 创建过程

3.15 完成

4.验证登录

[oracle@oracle12c ~]$
[oracle@oracle12c ~]$ sqlplus / as sysdbaSQL*Plus: Release 12.2.0.1.0 Production on Sun Jan 13 21:22:46 2019Copyright (c) 1982, 2016, Oracle.  All rights reserved.Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit ProductionSQL> select name,open_mode from v$database;NAME    OPEN_MODE
--------- --------------------
ORCL      READ WRITE

学习ORACLE-RHEL7安装Oracle12cR2相关推荐

  1. 一脸懵逼学习oracle(图形化界面操作---》PLSQL图形化界面)

    一脸懵逼学习oracle(图形化界面操作--->PLSQL图形化界面) 1:经过几天的折腾,终于将oracle安装成功,创建用户,授权等等操作,接下来就安安心心学习oracle: 安装好PLSQ ...

  2. 菜鸟也来学习ORACLE(1)_linux下安装oracle 11g

    加入 oracle Club 之前,学长给我们开了个小会  说是看看我们加入的意愿,哎哎 其实直无聊,但是大体比较重视linux 服务器的搭建 以及在linux 下安装oracle 搭建一个oracl ...

  3. 从零开始学习Oracle—安装及删除

    Oracle9i的安装与删除 -.要求:    ORACLE9i  9.0.1  空间1.76G    ORACLE9i  9.0.2  空间2.86G     事务处理 --  增 删除 修改频繁 ...

  4. Oracle终于安装完成了,开始DBA学习之路

    一直以来想学习Oracle,但始终忙的静不下来,今天终于把Oracle 安装完成了,从今天起要走上DBA学习 之路,在以后的学习过程中,要在51CTO上写下学习的心得体会,与大家分享学习的乐趣.也希望 ...

  5. Oracle的学习一:安装与卸载、sql *plus常用命令、Oracle用户管理

    1.为什么学习oracle? 性能优越: 小型数据库 中型数据库 大型数据库 acess.foxbase mysql.sql server.informix sybase.oracle.db2 复杂量 ...

  6. virtualbox中安装xp系统、安装oracle数据库到虚拟机的xp系统中、主机连接oracle、备份xp系统、oracle数据库的一些基本概念(学习oracle数据库的准备工作)-day01

    目录 1. 安装virtualbox 1.1 什么是virtualbox 1.2 安装virtualbox 1.3 virtualbox跑xp系统 1.4 让虚拟机的xp与外面的系统网络互通 2. 安 ...

  7. ebs r12 linux,开始学习oracle ebs r12--第一次失败的安装

    开始学习oracle ebs r12--第一次失败的安装 发布时间:2008-04-08 00:03:15来源:红联作者:aacble 该准备的都准备好了,可以开始安装了,但是前面的文章中提到要求磁盘 ...

  8. oracle学习笔记 oracle软件安装准备工作 第一部分 环境准备

    oracle学习笔记   oracle软件安装准备工作  第一部分 环境准备 这节课对初学者来说内容较多,我把它分成了三篇. 即使这样也不可能把每个可能遇到的问题都说到,如果遇到没说到的问题自己上网搜 ...

  9. oracle安装卡在create inventory_滴滴云服务器上安装Oracle12cR2单实例数据库

    一.相关说明 Oracle数据库是由美国甲骨文公司推出的一款优秀的关系型数据库.当前最新版为Database 19c.本文简述Oracle Database 12cR2在滴滴云主机上的安装过程.如需更 ...

  10. ORACLE学习笔记-CentOS 7.5 Oracle 19C安装部署

    CentOS 7.5 Oracle 19C安装部署 一.环境检查 1.操作系统检查 2.内存检查 3.SWAP检查 4.共享内存检查 5.磁盘空间检查 二.YUM配置及RPM依赖包安装 1.YUM源搭 ...

最新文章

  1. 2018HDU多校训练-3-Problem G. Interstellar Travel
  2. 独家 | 基于癌症生存数据建立神经网络(附链接)
  3. 如何汉化DNN--中文语言包的使用
  4. 斯坦福CS231n项目实战(二):线性支持向量机SVM
  5. SAP中国招聘内部顾问,工作职责是做客户项目,ABAP开发
  6. python中变量和函数的区别_关于python中带下划线的变量和函数 的意义
  7. 您的UX库不只是书籍
  8. nginx源码学习资源
  9. coredump gdb 调试_CRASH安装和调试
  10. Python稳基修炼的经典案例8(计算机二级、初学者必须掌握的例题)
  11. 我在富士康挨踢了七年(七. 激情与暴力3)
  12. A站没落了,付费会员成B站破解盈利难题的最优解?
  13. 《CSS世界》学习笔记(一)
  14. 基于百度短语音API的语音识别实现
  15. 电脑哔哩哔哩播放器调整为html5,谷歌浏览器插件哔哩哔哩(Bilibili)播放器扩展Extension for Bilibili Player关闭弹幕、截图、画中画...
  16. HTML制作课表源代码
  17. 华为云云享专家申请流程
  18. 《06》个人博客不完整版
  19. python recv_python网络编程调用recv函数完整接收数据的三种方法
  20. chrome 多窗口 android,谷歌提前放出安卓7.0开发者预览版:多窗口+画中画

热门文章

  1. JAVA如何实现图片批量下载
  2. 网站加速--服务器编写篇(上)
  3. 骆昊python100天百度网盘_GitHub - wnxy/Python-100-Days: Python - 100天从新手到大师
  4. 中文文本情感分析(word2vec)
  5. 【从零开始学习Go语言】三.属于Go的Hello World
  6. ksd文件怎么导入存档_高考恋爱一百天存档修改说明
  7. 导出Excel功能-从服务端到浏览器的简单处理
  8. 计算机娱乐的教案,信息技术三上《用计算机学习和娱乐》教案(闽教版)
  9. Mysql——索引底层数据结构与Explain用法
  10. Typora 编辑器 怎么 制作大纲 以及 大纲级别