目前机器上,oracle都是安装好的,那么我们怎么知道,之前的安装过程大概是什么样子呢?

大致安装oracle集群的内容:
一、准备和配置:
1、网卡
2、ip资源
3、scanip
4、hosts
5、dns配置
6、准备rac节点,配置节点要互通
首先要保证网络的正常 二、创建用户(grid和oracle用户)
1、配置系统内核参数
2、配置这两个用户的环境变量
三、配置ASM磁盘
1、fdisk 格式化磁盘
2、oracleasm
3、udev配置磁盘 三、安装相关依赖软件包 四、安装grid(rac)
1、[oracle@shdb02 grid]$su - grid
[oracle@shdb02 grid]$cd /orasoft/ora11g/grid
[oracle@shdb02 grid]$./runinstaller
2、配置scan
3、配置hosts
4、利用asmca静默方式或图形方式配置磁盘组
5、安装集群管理工具
五、安装Oracle软件
1、用DBCA创建数据库或静默方式(即命令行下安装) 查看当前linux的模式,命令 runlevel

[oracle@shdb02 grid]$ runlevel
  N 3

直接输入init + 你想要的模式 即可切换模式。 
  比如输入: init 0 就是关机 
  init 3 就是切换到多用户-命令行模式 
  init 5 就是切换到图形化界面 
  init 6 就是重启

1、关于创建用户

1、oinstall -G dba oracle 什么意思?
-g是组,-G是其他组,最后是用户名-g 表示为用户指定一个主group
-G 表示为用户指定一个group
//这样oracle既属于oinstall组也属于dba组。平时主要是oinstall组发生作用。
//创建一个用户组oinstall:
[root@shdb02 ~]# groupadd oinstall
//创建一个用户组dba:
[root@shdb02 ~]# groupadd dba
//创建一个用户主目录/u01/app/oracle:
[root@shdb02 ~]# mkdir -p /u01/app/oracle
//创建用户oracle 到主组oinstall,副组dba,主目录/u01//oracle:
[root@shdb02 ~]# useradd -g oinstall -G dba -d /u01/app/oracle oracle
//如果oracle用户已经存在则:
[root@shdb02 ~]# usermod -g oinstall -G dba -d /u01/app/oracle oracle
//查看用户oracle的添加情况
[grid@shdb02 app]$ id oracle
uid=1100(oracle) gid=1100(oinstall) groups=1100(oinstall),1101(dba),1102(oper),1201(asmdba)
//查看oracle所属的组:
[grid@shdb02 app]$ groups oracle
oracle : oinstall dba oper asmdba
[grid@shdb02 app]$ ll -l /u01/app/
total 16
drwxr-xr-x 3 root oinstall 4096 May 10 2018 11.2.0
drwxr-xr-x 7 grid oinstall 4096 Apr 3 2020 grid
drwxr-xr-x 6 oracle oinstall 4096 Apr 28 2019 oracle
drwxrwx--- 5 grid oinstall 4096 May 10 2018 oraInventory 2、Oracle install
为什么需要oinstall ,dba 两个组,一个是控制软件安装,补丁安装等的;另一个是控制数据库创建,数据库管理等的。
你可以将两个权限都授权给dba组,只创建dba一个组就可以了。角色细化而已,另外oracle还要求redo日志、控制文件分不同盘放,数据安全要求而已
3、如果安装单实例,创建一个oracle 用户就可以了
如果是安装RAC,则需要在创建一个集群的用户,在安装grid
4、如果将grid 和 oracle 用同一个用户来安装,那么必须改变ORACLE_HOME变量的值。
这里用grid用户创建磁盘组,管理asm,oracle建库即可

2、创建用户及安装目录

//建组
/usr/sbin/groupadd -g 1000 oinstall
/usr/sbin/groupadd -g 1020 asmadmin
/usr/sbin/groupadd -g 1021 asmdba
/usr/sbin/groupadd -g 1022 asmoper
/usr/sbin/groupadd -g 1031 dba
/usr/sbin/groupadd -g 1032 oper
//用户
useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,oper,grid
useradd -u 1101 -g oinstall -G dba,asmdba,oper oracle
//建目录
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/grid
mkdir /u01/app/oracle
//创建所属组权限
chown -R grid:oinstall /u01
chown oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/

3、/etc/group,查看已安装系统的用户组情况

[oracle@shdb02 app]$ cat /etc/group
oinstall:x:1100:grid
asmadmin:x:1200:grid
dba:x:1101:oracle,grid
oper:x:1102:oracle
asmdba:x:1201:grid,oracle
asmoper:x:1202:grid

。。。。

4、/etc/passwd,查看已安装的用户情况

[oracle@shdb02 app]$ cat /etc/group
oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin
grid:x:1200:1100::/home/grid:/bin/bash
oracle:x:1100:1100::/home/oracle:/bin/bash
。。。。

5、查看/app目录即已安装的安装目录的一些信息

[root@shdb02 ~]# su - oracle
[oracle@shdb02 ~]$ cd /u01/app/
[oracle@shdb02 app]$ ll
total 16
drwxr-xr-x 3 root oinstall 4096 May 10 2018 11.2.0
drwxr-xr-x 7 grid oinstall 4096 Apr 3 2020 grid
drwxr-xr-x 6 oracle oinstall 4096 Apr 28 2019 oracle
drwxrwx--- 5 grid oinstall 4096 May 10 2018 oraInventory

6、 给oracle用户和grid用户配置环境变量

1、oracle用户,配置oracle的环境变量
[root@shdb02 ~]# su - oracle
[oracle@shdb02 ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs PATH=$PATH:$HOME/bin
export PATH
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=ht2
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin
export ORACLE_PATH=${PATH}:$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
export PATH=$PATH:$ORACLE_HOME/bin
umask 022 2、grid用户,配置GRID的环境变量
[root@shb02 ~]# su - grid
[grid@shdb02 ~]$ cat .bash_profile
# .bash_profile # Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/11.2.0/grid; export ORACLE_HOME
GRID_HOME=/u01/app/11.2.0/grid; export GRID_HOME
ORACLE_SID=+ASM2; export ORACLE_SID
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
PATH=${PATH}:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
export NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"

通过命令查看grid和oracle用户相关环境变量

//grid用户
[root@shdb02 app]# su - grid
[grid@shdb02 app]$ echo $ORACLE_HOME
/u01/app/11.2.0/grid
[grid@shdb02 app]$ echo $ORACLE_BASE
/u01/app/grid
//oracle用户
[root@shdb02 app]# su - oracle
[oracle@shdb02 ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/11.2.0/db_1
[oracle@shdb02 ~]$ echo $ORACLE_BASE
/u01/app/oracle

oracle的三个安装包的情况:

/orasoft/ora11g
[root@shdb02 ora11g]# ll
total 3664216
-rwxrwxrwx 1 grid oinstall 1395582860 Dec 26 2015 p13390677_112040_Linux-x86-64_1of7.zip
-rwxrwxrwx 1 grid oinstall 1151304589 Dec 26 2015 p13390677_112040_Linux-x86-64_2of7.zip
-rwxrwxrwx 1 grid oinstall 1205251894 Dec 26 2015 p13390677_112040_Linux-x86-64_3of7.zip

[root@shdb02 ora11g]# du -sh
3.5G

1、p13390677_112040_Linux-x86-64_1of7.zip解压,大部分都在这里

[oracle@shdb02 database]$ unzip p13390677_112040_Linux-x86-64_1of7.zip
[oracle@shdb02 database]$ cd database

total 60
drwxr-xr-x 4 oracle oinstall 4096 Aug 27 2013 install
-rw-r--r-- 1 oracle oinstall 30016 Aug 27 2013 readme.html
drwxr-xr-x 2 oracle oinstall 4096 Aug 27 2013 response
drwxr-xr-x 2 oracle oinstall 4096 Aug 27 2013 rpm
-rwxr-xr-x 1 oracle oinstall 3267 Aug 27 2013 runInstaller  //安装文件
drwxr-xr-x 2 oracle oinstall 4096 Aug 27 2013 sshsetup
drwxr-xr-x 14 oracle oinstall 4096 Aug 27 2013 stage

2、p13390677_112040_Linux-x86-64_2of7.zip ,大部分是解压到stage下的Components
3、p13390677_112040_Linux-x86-64_3of7.zip, 这个里面是grid内容,解压后会生成单独一个目录

drwxr-xr-x 7 oracle oinstall 4096 Aug 27 2013     database
drwxr-xr-x 7 root root 4096 Aug 27 2013           grid
-rwxrwxrwx 1 grid oinstall 1395582860 Dec 26 2015 p13390677_112040_Linux-x86-64_1of7.zip
-rwxrwxrwx 1 grid oinstall 1151304589 Dec 26 2015 p13390677_112040_Linux-x86-64_2of7.zip
-rwxrwxrwx 1 grid oinstall 1205251894 Dec 26 2015 p13390677_112040_Linux-x86-64_3of7.zip

grid内的一些重要内容

/orasoft/ora11g/grid/stage/cvu/cv/remenv/cvuqdisk-1.0.9-1.rpm
/orasoft/ora11g/grid/rpm/cvuqdisk-1.0.9-1.rpm

[oracle@sh02 grid]$ ll
total 68
drwxr-xr-x 4 root root 4096 Aug 26 2013 install
-rw-r--r-- 1 root root 30016 Aug 27 2013 readme.html
drwxr-xr-x 2 root root 4096 Aug 26 2013 response
drwxr-xr-x 2 root root 4096 Aug 26 2013 rpm
-rwxr-xr-x 1 root root 4878 Aug 26 2013 runcluvfy.sh
-rwxr-xr-x 1 root root 3268 Aug 26 2013 runInstaller
drwxr-xr-x 2 root root 4096 Aug 26 2013 sshsetup
drwxr-xr-x 14 root root 4096 Aug 26 2013 stage
-rw-r--r-- 1 root root 500 Aug 27 2013 welcome.html

内核配置

[root@shdb02 ora11g]# cat /etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.shmmax = 4398046511104
kernel.shmall = 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
fs.aio-max-nr = 1048576
fs.file-max = 6815744
vm.nr_hugepages = 66696

安装过程猜想

一、实际安装步骤1,修改配置

[oracle@sh02 ora11g]$ cd database/response/

[oracle@shdb02 response]$ ll
total 80

//安装应答配置文件
-rw-r--r-- 1 oracle oinstall 25116 Aug 27 2013 db_install.rsp
//创建数据库应答

-rwxr-xr-x 1 oracle oinstall 44533 Aug 27 2013 dbca.rsp

//建立监听、本地服务名等网络设置应答

-rwxr-xr-x 1 oracle oinstall 5871 Aug 27 2013 netca.rsp

修改配置文件db_install.rsp,并安装
下面把主要修改的地方贴出来,具体详细文件
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=shdb02
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/app/oracle/oradata
#oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/u01/app/oracle/recovery_data
DECLINE_SECURITY_UPDATES=true //一定要设为true

实际步骤2:初始化安装

登录oracle用户,执行安装
[oracle@shdb02 database]$ cd /orasoft/ora11g/database
[oracle@shdb02 database]$./runInstaller-silent -responseFile
[oracle@shdb02 database]$/orasoft/ora11g/database/response/db_install.rsp
//安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。
//打开另一个终端,执行命令
#tail -100 f /u01/app/oracle/oraInventory/logs/installActions......log
//可以实时跟踪查看安装日志,了解安装的进度。
//当出现
以下配置脚本需要以 "root" 用户的身份执行。
#!/bin/sh
#要运行的 Root 脚本
/u01/app/oracle/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/db_1/root.sh
要执行配置脚本, 请执行以下操作:
1. 打开一个终端窗口
2. 以 "root" 身份登录
3. 运行脚本
4. 返回此窗口并按 "Enter" 键继续
Successfully Setup Software.
//出现这个的话,说明已安装成功,则需要按提示操作,操作完返回Enter成功

实际步骤3,配置监听

配置监听配置文件模板/orasoft/ora11g/database/response/netca.rsp
1、/orasoft/ora11g/database //安装文件放置目录
2、/u01/app/oracle/product/11.2.0/db_1 //oracle主目录
[oracle@shdb02 bin]$ /u01/app/oracle/product/11.2.0/db_1/bin/netca -silent -responsefile /orasoft/ora11g/database/response/netca.rsp
正在对命令行参数进行语法分析:
参数"silent" = true
参数"responsefile" = /orasoft/ora11g/database/response/netca.rsp
完成对命令行参数进行语法分析。
Oracle Net Services 配置:
完成概要文件配置。
Oracle Net 监听程序启动:
正在运行监听程序控制:
/u01/app/oracle/product/11.2.0/db_1/bin/lsnrctl start LISTENER
监听程序控制完成。
监听程序已成功启动。
监听程序配置完成。
成功完成 Oracle Net Services 配置
//成功运行后,在/opt/oracle/11.2.0/network/admin目录下生成sqlnet.ora和listener.ora两个文件。
//完成后通过命令“netstat -tlnp”可以查看到1521端口已开
tcp 0 0 :::1521 :::* LISTEN 5477/tnslsnr

4、安装新库

修改配置文件 /orasoft/ora11g/database/response/dbca.rsp #静默建立新库模板
RESPONSEFILE_VERSION = "11.2.0" //不能更改
OPERATION_TYPE = "createDatabase"
GDBNAME = "fp" //全局数据库的名字=SID+主机域名
SID = "fp1" //对应的实例名字
TEMPLATENAME = "General_Purpose.dbc" //建库用的模板文件
DATAFILEDESTINATION = /u01/app/oracle/oradata //数据文件存放目录
RECOVERYAREADESTINATION=/u01/app/oracle/recovery_data //恢复数据存放目录
CHARACTERSET = "AL32UTF8" //字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。(ZHS16GBK)
TOTALMEMORY = "5120" //oracle内存5120MB
10.配置完之后,执行命令
/u01/app/oracle/product/11.2.0/db_1/dbca -silent -responseFile /orasoft/ora11g/database/response/dbca.rsp1% 已完成
3% 已完成
11% 已完成
18% 已完成
26% 已完成
37% 已完成
正在创建并启动 Oracle 实例
40% 已完成
45% 已完成
50% 已完成
55% 已完成
56% 已完成
60% 已完成
62% 已完成
正在进行数据库创建
66% 已完成
70% 已完成
73% 已完成
85% 已完成
96% 已完成
100% 已完成

Oracle集群 & Grid(rac)配置,反推创建过程(重要)。的更多相关文章

  1. Oracle集群(RAC)时间同步(ntp和CTSS)

    Oracle集群(RAC)时间同步(ntp和CTSS) http://blog.itpub.net/26736162/viewspace-2157130/ crsctl stat res -t -in ...

  2. 转载:【Oracle 集群】RAC知识图文详细教程(七)--Oracle 11G RAC集群安装

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

  3. 转载:【Oracle 集群】RAC知识图文详细教程(六)--RAC在LINUX上使用NFS安装前准备

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

  4. 转载:【Oracle 集群】RAC知识图文详细教程(四)--缓存融合技术和主要后台进程

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

  5. 转载:【Oracle 集群】RAC知识图文详细教程(九)--RAC基本测试与使用

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

  6. 转载:【Oracle 集群】RAC知识图文详细教程(八)--Oracle 11G RAC数据库安装

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

  7. 转载:【Oracle 集群】RAC知识图文详细教程(五)--特殊问题和实战经验

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

  8. 转载:【Oracle 集群】RAC知识图文详细教程(三)--RAC工作原理和相关组件

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

  9. 转载:【Oracle 集群】RAC知识图文详细教程(一)--集群概念介绍

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

随机推荐

  1. 微信网页JSDK接口-wx.chooseImage问题

    wx.chooseImage({count: 1, // 默认9sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有sourceTy ...

  2. JavaWeb Bug处理

    1.(getParameter) Java文本无法解析Cannot resolve method 'getParameter(java.lang.String)方法    解决方法:1.在projec ...

  3. IDEA版部署离线ArcGIS api for JavaScript

    痛苦!折磨! 这两天发现IDEA 做ArcGIS api 开发比EClipse好用(重点是没有JS提示).但引入的ArcGIS api 一直报错,说找不到.这两天思来想去就是不知道为什么找不到loca ...

  4. 说说UI自动化中的PO模式

    PO模式,全称PageObject模式,即页面对象模式.将页面定位与业务操作分离. po模式有以下几个优点: 1.易读性好 2.扩展性高 3.复用性强 4.维护性好 5.代码冗余率低 了解了po模式及 ...

  5. Pyinstaller打包Pytorch框架所遇到的问题

    目录 前言 基本流程 一.安装Pyinstaller 和 测试Hello World 二.打包整个项目,在本机上调试生成exe 三.在新电脑上测试 参考资料 前言   第一次尝试用Pyinstalle ...

  6. 【推理引擎】ONNX 模型解析

    定义模型结构 首先使用 PyTorch 定义一个简单的网络模型: class ConvBnReluBlock(nn.Module): def __init__(self) -> None: su ...

  7. 对redis数据库的初步认识

    由于之前接触的都是关系型数据库,对于非关系型数据库总是不了解,趁着外出做项目的机会,正好初步认识了redis数据库 redis分为存储分为几个存储的数据类型 string类型,hash类型,list链 ...

  8. 指出在 spring aop 中 concern 和 cross-cutting concern 的不同之处?

    concern 是我们想要在应用程序的特定模块中定义的行为.它可以定义为我们想 要实现的功能. cross-cutting concern 是一个适用于整个应用的行为,这会影响整个应用程序. 例如,日 ...

  9. 关于 DispatcherServlet.properties 文件

    1.文件位置 2.文件内容 3.文件作用 前端控制器会从 DispatcherServlet.properties 文件中加载 HandlerMapping(处理器映射器).HandlerAdapte ...

  10. Python - random库介绍