声明:本文居多内容参考原文来之网络;

一:安装Centos7.3 虚拟机

1:操作系统下载

CentOS 7官方下载地址:https://www.centos.org/download/

说明:本案例使用的CentOS-7-x86_64-Everything-1611.iso版本安包

以下针对各个版本的ISO镜像文件,进行一一说明:

CentOS-7.0-x86_64-DVD-1503-01.iso              标准安装版,一般下载这个就可以了(推荐)

CentOS-7.0-x86_64-NetInstall-1503-01.iso       网络安装镜像(从网络安装或者救援系统)

CentOS-7.0-x86_64-Everything-1503-01.iso     对完整版安装盘的软件进行补充,集成所有软件。(包含centos7的一套完整的软件包,可以用来安装系统或者填充本地镜像)

CentOS-7.0-x86_64-GnomeLive-1503-01.iso   GNOME桌面版

CentOS-7.0-x86_64-KdeLive-1503-01.iso         KDE桌面版

CentOS-7.0-x86_64-livecd-1503-01.iso            光盘上运行的系统,类拟于winpe

CentOS-7.0-x86_64-minimal-1503-01.iso         精简版,自带的软件最少

2:VM虚拟机 下载及安装

1:VM 安装包下载:http://sw.bos.baidu.com/sw-search-sp/software/ca7ad8c6d3103/VMware-workstation-full-14.0.0.24051.exe

注:其注册码自己百度

2:VM 程序安装教程:请查看《vmware workstation 12 pro 虚拟机安装系统教程

3:VM 虚拟机安装 Centos7.3 系统

1: 请查看《CentOS 7.3 安装

2:在系统重启后出现了 lic 等错误配置信息。请自己百度

4:配置静态ip地址:

1:请参考此文:《centos 7.3 设置静态IP

5:搭建yum 环境:

 1:请参考此文:《  CentOS7.2 创建本地YUM源和局域网YUM源  》

  

二 :Oracle12C数据库安装

1:安装包下载

1:安装步骤参考了此文:《 Linux 平台安装Oracle Database 12c

2:Oracle12C 官网下载地址

官方的下载地址:

1:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

2:https://edelivery.oracle.com/EPD/Download/get_form?egroup_aru_number=16496132

URL地址2需要先注册,然后才能登陆下载,注册登陆界面https://edelivery.oracle.com

关于这两者有啥区别: 听一个同事说,用metalink 账号下载的安装文件完整一些。具体情况是不是如此,还不得而知。

地址1下载的文件为:

linuxamd64_12c_database_1of2.zip

linuxamd64_12c_database_2of2.zip

地址2下载的文件为:

V38500-01_1of2.zip

V38500-01_2of2.zip

2)检查硬件要求(Check Hardware Requirements)

1 Check CPU

 [root@localhost ~]#  grep "model name" /proc/cpuinfo
model name : Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
model name : Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
model name : Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
model name : Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
[root@localhost ~]#
[root@localhost ~]# cat /proc/cpuinfo | grep "processor" | wc -l
4
[root@localhost ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
2
[root@localhost ~]#

2 Check Memory

 root@localhost ~]#  grep MemTotal /proc/meminfo
MemTotal: 3587024 kB
[root@localhost ~]# grep SwapTotal /proc/meminfo
SwapTotal: 3801084 kB
[root@localhost ~]# free -g
total used free shared buff/cache available
Mem: 3 0 0 0 2 2
Swap: 3 0 3
[root@localhost ~]#

Oracle 12c 对系统内存的最低要求为1G,推荐2G或更大的内存,从上面结果可以知道系统内存23G,完全满足要求。

Oracle对交换分区(Swap Space)的推荐设置如下,这里Swap Space为35G,不是16G,需要做一下调整。

3 Check Disk Capacity

 [root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/cl-root 50G 6.9G 44G 14% /
devtmpfs 1.7G 0 1.7G 0% /dev
tmpfs 1.8G 140K 1.8G 1% /dev/shm
tmpfs 1.8G 9.0M 1.8G 1% /run
tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup
/dev/sda1 1014M 173M 842M 18% /boot
/dev/mapper/cl-home 969G 33M 969G 1% /home
tmpfs 351M 40K 351M 1% /run/user/0
/dev/sr0 7.8G 7.8G 0 100% /run/media/root/CentOS 7 x86_64

3: 检查软件要求(Checking the Software Requirements)

用于Oracle Linux 7和Red Hat Enterprise Linux 7的软件包

必须安装以下软件包(或更高版本):

 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
gcc-4.8.2-3.el7.x86_64
gcc-c++-4.8.2-3.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
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
make-3.82-19.el7.x86_64
sysstat-10.1.5-1.el7.x86_64

执行脚本

 yum install      binutil* -y
yum install compat* -y
yum install gcc* -y
yum install glibc* -y
yum install ksh* -y
yum install libaio* -y
yum install libgcc* -y
yum install libstd* -y
yum install libXi* -y
yum install libXtst* -y
yum install make* -y
yum install sysstat* -y

binutils-2.25.1-22.base.el7.x86_64
package compat-libstdc++ is not installed
gcc-4.8.5-11.el7.x86_64
gcc-c++-4.8.5-11.el7.x86_64
glibc-2.17-157.el7.x86_64
glibc-devel-2.17-157.el7.x86_64
package ksh is not installed
libaio-0.3.109-13.el7.x86_64
package libaio-devel is not installed
libgcc-4.8.5-11.el7.x86_64
libstdc++-4.8.5-11.el7.x86_64
libstdc++-devel-4.8.5-11.el7.x86_64
libXext-1.3.3-3.el7.x86_64
libXtst-1.2.2-2.1.el7.x86_64
libX11-1.6.3-3.el7.x86_64
libXau-1.0.8-2.1.el7.x86_64
libXi-1.7.4-2.el7.x86_64
make-3.82-23.el7.x86_64
sysstat-10.1.5-11.el7.x86_64

4 :系统配置准备

1 创建Oracle用户和用户组(注:我这里没有设置oracle用户的密码:如果有需要 请直接用root用户进行 passwd oracle 的命令为oracle用户设置一个密码)

 [root@localhost ~]# groupadd dba
[root@localhost ~]# groupadd oinstall
[root@localhost ~]# useradd -g oinstall -G dba oracle
[root@localhost ~]# id oracle
uid=1001(oracle) gid=1002(oinstall) groups=1002(oinstall),1001(dba)
[root@localhost ~]#

2 创建安装目录

 root@localhost ~]#  mkdir -p /u01/app/oracle
[root@localhost ~]# chown -R oracle:oinstall /u01/app/oracle
[root@localhost ~]# chmod -R 775 /u01/app/oracle

3 CentOS7关闭防火墙和selinux

 

 [root@localhost ~]# /usr/sbin/sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: disabled
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28
[root@localhost ~]# setenforce 0
[root@localhost ~]# /usr/sbin/sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: permissive
Mode from config file: disabled
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28

 [root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
[root@localhost ~]# systemctl status firewalld
鈼?firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1) Dec 13 20:01:29 localhost.localdomain systemd[1]: Starting firewalld - dynamic fire....
Dec 13 20:01:32 localhost.localdomain systemd[1]: Started firewalld - dynamic firew....
Dec 13 22:07:20 localhost.localdomain systemd[1]: Stopping firewalld - dynamic fire....
Dec 13 22:07:21 localhost.localdomain systemd[1]: Stopped firewalld - dynamic firew....
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost ~]# 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=enforcing
SELINUX=disabled
# 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@localhost ~]# reboot

----检查结果:

 [root@localhost ~]#  /usr/sbin/sestatus
SELinux status: disabled
[root@localhost ~]# /usr/sbin/getenforce
Disabled
[root@localhost ~]#

4 修改系统内核参数

 

在修改系统内核参数前,你可以用命令先查看一下当前各类系统参数的值,亦或直接查看配置文件/etc/sysctl.conf

 [root@localhost ~]#  getconf PAGESIZE
4096
[root@localhost ~]# sysctl -a | grep sem
kernel.sem = 250 32000 32 128
kernel.sem_next_id = -1
[root@localhost ~]# sysctl -a | grep shm
kernel.shm_next_id = -1
kernel.shm_rmid_forced = 0
kernel.shmall = 18446744073692774399
kernel.shmmax = 18446744073692774399
kernel.shmmni = 4096
vm.hugetlb_shm_group = 0
[root@localhost ~]# sysctl -a | grep file-max
fs.file-max = 378794
[root@localhost ~]# sysctl -a | grep ip_local_port_range
net.ipv4.ip_local_port_range = 32768 60999
[root@localhost ~]#

关于内核参数的一些设置建议,可以参考下面资料:.

 kernel.shmmax

 关于内核参数kernel.shmmax,oracle 建议,kernel.shmmax的值不能少于物理内存的一半,而且要大于Oracle中sga-max-size的值,否则会造成oracle性能下降

 一般32bit操作系统,直接设置为系统支持的最大内存即可,64bit操作系统设置大于sga-max-size的值即可

 如:当前内存为2G 则kernel.shmmax = 2*1024*1024=2097152

 当前内存为8G则 kernel.shmmax = 7*1024*1024=7340032

 Kernel.shmall

 Shmall指系统一次可以使用的共享内存段的最大数量,以页为单位。Oracle默认设置为 kernel.shmall = 2097152

 即最大8G(2097152*4/1024/1024),(在调整SGA时需要注意,SGA大小设置不可超过该值),根据系统内存大小和使用的不同可以参考如下:设置的一般规律

 kernel.shmall = 8G/4k=8388608k/4k=2097152    ---内存8G

 kernel.shmall = 16G/4k=16777216k/4k=4194304    ---内存16G

 kernel.shmall = 32G/4k=33554432k/4k=8388608    ---内存32G

 (RedHat linux系统中页大小为4096即4K,实际环境以getconf PAGE_SIZE结果为准)

 kernel.shmmni

 shmmni 指系统共享内存段的最大数量

 oracle设置默认值为4096,一般是足够用了,不需要调整

 文件句柄数的相关内核参数设置

 fs.file-max

 fs.file-max指系统能够打开最大的文件句柄数

 oracle建议设置为65536,一般不用修改

 信号的相关内核参数设置

 kernel.sem

 kernel.sem是指 semmsl,semmns,semopm,semmni这4个参数

 semmsl 指每个线号集的最大信号数,Oracle建议是设置为oracle的最大进程数+10

 semmni 指整个系统的信号集的最大数量

 semmns 指整个系统的信号总数,也就是semmni*semmsl的结果

 semopm 指每个semop系统调用可以执行的信号操作的最大数量

 oracle默认设置

 semmsl=250

 semmns=3200

 semopm=100

 semmni=128

 即kernel.sem= 250 3200 100 128

 例:在oracle  ora.init文件参数中设置PROCESSES参数为5000

 则semmsl=5010,semmni=128,semmns=semmsl* semmni=641280

 另外semopm建议设置等于semmsl值即5010

 那么kernel.sem=5010 641280 5010 128

 网络相关的内核参数设置

 net.core.rmem_default

 net.core.rmem_default 指网络套接字的默认接收缓冲区的大小,oracle建议设置为265K即262144

 net.core.rmem_max

 net.core.rmem_max 指网络套接字的最大接收缓冲区的大小,oracle10g及以前版本建议设置为256k即262144

 oracle11g建议设置为4M 即4194304

 net.core.wmem_default

 net.core.wmem_default指网络套接字的默认发送缓冲区的大小,oracle建议设置为265K即262144

 net.core.wmem_max

 net.core.wmem_max  指网络套接字的最大发送缓冲区的大小,oracle10g及以前版本建议设置为256k即262144

 oracle11g建议设置为1M即1048576

 net.ipv4.ip_local_port_range

 net.ipv4.ip_local_port_range ,指本地的允许打开随机端口范围

 oracle10g前建议端口范围为1024 65000,oracle11g建议端口范围为:
65500 并忽略oracle安装程序任何关于这个参数的警告 Asynchronous I/O相关的内核参数设置 fs.aio-max-nr fs.aio-max-nr 指系统允许的最大的异步IO请求大小 oracle默认设置为1M即1048576,一般不用更改

修改前最后先备份一下/etc/sysctl.conf,以防万一。

 [root@localhost ~]# cd /etc/sysc
sysconfig/ sysctl.d/
[root@localhost ~]# cd /etc/
[root@localhost etc]# cat sysctl.conf
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
[root@localhost etc]# cp sysctl.conf sysctl.conf.bak
[root@localhost etc]#
#-----在 sysctl.conf 文档下方增加上以下内容
 kernel.shmmax = 18446744073692774399
kernel.shmall = 18446744073692774399
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 = 262144
net.ipv4.ip_local_port_range =32768 60999
fs.file-max=378794
fs.aio-max-nr=1048576
 [root@localhost etc]# vi sysctl.conf

 # sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
kernel.shmmax = 18446744073692774399
kernel.shmall = 18446744073692774399
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 = 262144
net.ipv4.ip_local_port_range =32768 60999
fs.file-max=378794
fs.aio-max-nr=1048576
~
~
~
~
~
~
~
~
~
"sysctl.conf" 26L, 782C written
[root@localhost etc]#

kernel.shmall =physical RAM size / pagesize (getconf PAGESIZE) -- If the defaults are greater then leave it.

kernel.shmall = 内存大小/4k=23G*1024*1024/4k = 6029312

kernel.shmmax = 20*1024*1024=20971520 而默认的为68719476736,那么使用默认值

修改完成后保存,然后运行sysctl -p 命令使之生效

 [root@localhost etc]# sysctl -p
kernel.shmmax = 18446744073692774399
kernel.shmall = 18446744073692774399
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 = 262144
net.ipv4.ip_local_port_range = 32768 60999
fs.file-max = 378794
fs.aio-max-nr = 1048576
[root@localhost etc]#

5 设置用户限制

/etc/security/limits.conf中添加如下配置。

 oracle soft nproc 2047

 oracle hard nproc 16384

 oracle soft nofile 1024

 oracle hard nofile 65536

 oracle soft stack 10240

 oracle hard stack 10240

 Add the following line to the "/etc/pam.d/login" file,

 if it does not already exist.

 session required /lib/security/pam_limits.so

 session required pam_limits.so

 Add the following to

 /etc/profile if Oracle user will use the bash shell.

 if [ $USER = "oracle" ]; then

 ulimit -u 16384

 ulimit -n 65536

 fi
 

5: 配置环境变量

首先切换到oracle账户 ,编辑修改主目录下 .bash_profile

 [root@localhost ~]# su - oracle
[oracle@localhost ~]$ ls
[oracle@localhost ~]$ ls -a
. .. .bash_logout .bash_profile .bashrc .cache .config .mozilla
[oracle@localhost ~]$ vi .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 TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1; export ORACLE_HOME
ORACLE_SID=epps; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

使配置生效

 [oracle@localhost ~]$ source .bash_profile
[oracle@localhost ~]$

6:解压安装镜像文件

上传已经下载好的oracle12c安装包:

//把用root用户上传的安装包放到 oracle 用户的home目录下,并修改文件用户使用权限

 [root@localhost oracle]# ls
linuxamd64_12102_database_1of2.zip linuxamd64_12102_database_2of2.zip
[root@localhost oracle]# ll
total 2625080
-rw-r--r--. 1 root root 1673544724 Dec 13 20:31 linuxamd64_12102_database_1of2.zip
-rw-r--r--. 1 root root 1014530602 Dec 13 20:32 linuxamd64_12102_database_2of2.zip
[root@localhost oracle]# chown oracle:oinstall linuxamd64_12102_database_*
[root@localhost oracle]# ll
total 2625080
-rw-r--r--. 1 oracle oinstall 1673544724 Dec 13 20:31 linuxamd64_12102_database_1of2.zip
-rw-r--r--. 1 oracle oinstall 1014530602 Dec 13 20:32 linuxamd64_12102_database_2of2.zip
[root@localhost oracle]#

切换到 oracle 用户 并解压 安装包

 #切换到ORACLE用户
[root@localhost oracle]# su - oracle
Last login: Wed Dec 13 23:48:45 CST 2017 on pts/2
[oracle@localhost ~]$
#解压第一个文件压缩包
[oracle@localhost ~]$ unzip linuxamd64_12102_database_1of2.zip
#在解压完第一个压缩包后再来解压第二个压缩包
[oracle@localhost ~]$ unzip linuxamd64_12102_database_2of2.zip

文件解压完后都放在database文件中

创建一个安装包备份文件夹;把压缩包存放起来:

 [oracle@localhost ~]$ ls
database linuxamd64_12102_database_1of2.zip linuxamd64_12102_database_2of2.zip
[oracle@localhost ~]$ mkdir oracle_database_zip [oracle@localhost ~]$ mv linuxamd64_12102_database_* oracle_database_zip/
[oracle@localhost ~]$ ls
database oracle_database_zip
[oracle@localhost ~]$

7: 安装Xme30.exe 软件

软件下载路劲:链接:http://pan.baidu.com/s/1gf5cbKn 密码:m1pn     注:如果该版本报错。请到此QQ(6032072430)群的群文件里来下载该版本的安装包

1):安装步骤一直下一步即可

2):注册lic

3):启动工具

注:在打开   Xmanager-Passive 出下图错误解决方法:failed to get the installation date from the system registry 

出现了这个问题后,各种可能的想法都想到了,但是,一直得不到解决,后来查到了这样一种办法

1.打开Xbrowser

2.打开Help, 选择About Browser

3.点击Enter Product Key

Name : 3ddown.com

Organization: none

Serial:080807-116451-999766

就OK了

呵呵,Xmanager不让贴上去,就辛苦大家用手敲上去了

8:oracle 12c (数据库软件) 安装步骤图解

查看解压出来的文件权限信息:

 [oracle@localhost ~]$ ll
total 0
drwxr-xr-x 7 oracle oinstall 117 Jul 7 2014 database
drwxr-xr-x 2 oracle oinstall 90 Dec 13 23:54 oracle_database_zip
[oracle@localhost ~]$ cd database/
[oracle@localhost database]$ ll
total 20
drwxr-xr-x 4 oracle oinstall 234 Dec 13 23:52 install
drwxrwxr-x 2 oracle oinstall 61 Jul 7 2014 response
drwxr-xr-x 2 oracle oinstall 34 Jul 7 2014 rpm
-rwxr-xr-x 1 oracle oinstall 8533 Jul 7 2014 runInstaller
drwxrwxr-x 2 oracle oinstall 29 Jul 7 2014 sshsetup
drwxr-xr-x 14 oracle oinstall 4096 Jul 7 2014 stage
-rwxr-xr-x 1 oracle oinstall 500 Feb 7 2013 welcome.html
[oracle@localhost database]$

查看本机(客户机)的ip

启动调用本级(客户机)的图形管理工具并启动安装

 [oracle@localhost database]$ export DISPLAY=192.168.1.27:0.0
[oracle@localhost database]$ ls
install response rpm runInstaller sshsetup stage welcome.html
[oracle@localhost database]$ ls -a
. .. install response rpm runInstaller sshsetup stage welcome.html
[oracle@localhost database]$ ./runInstaller

开始进行图解安装过程(注意观察细节变化)

在安装过程中出现了上图 提示错误信息:结果分析是 /u01   /u01/app的权限导致的:

处理步骤:逐步赋权

 [root@localhost oracle]# su - oracle
Last login: Wed Dec 13 23:48:45 CST 2017 on pts/2
[oracle@localhost ~]$ ll /u01
total 0
drwxr-xr-x. 3 root root 20 Dec 13 21:43 app
[oracle@localhost ~]$ ll
total 0
drwxr-xr-x 7 oracle oinstall 117 Jul 7 2014 database
drwxr-xr-x 2 oracle oinstall 90 Dec 13 23:54 oracle_database_zip
[oracle@localhost ~]$ cd ?
-bash: cd: ?: No such file or directory
[oracle@localhost ~]$ cd /
[oracle@localhost /]$ ll
total 28
-rw-r--r--. 1 root root 0 Aug 20 02:03 1
lrwxrwxrwx. 1 root root 7 Aug 20 01:32 bin -> usr/bin
dr-xr-xr-x. 4 root root 4096 Aug 20 02:57 boot
drwxr-xr-x 20 root root 3320 Dec 13 23:08 dev
drwxr-xr-x. 143 root root 8192 Dec 13 23:24 etc
drwxr-xr-x. 4 root root 33 Dec 13 21:41 home
lrwxrwxrwx. 1 root root 7 Aug 20 01:32 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Aug 20 01:32 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Nov 5 2016 media
drwxr-xr-x. 3 root root 19 Dec 13 20:40 mnt
drwxr-xr-x. 3 root root 16 Aug 20 02:19 opt
dr-xr-xr-x 203 root root 0 Dec 13 23:08 proc
dr-xr-x---. 15 root root 4096 Dec 13 23:40 root
drwxr-xr-x 38 root root 1120 Dec 13 23:08 run
lrwxrwxrwx. 1 root root 8 Aug 20 01:32 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Nov 5 2016 srv
dr-xr-xr-x 13 root root 0 Dec 13 23:08 sys
drwxrwxrwt. 27 root root 4096 Dec 14 00:16 tmp
drwxr-xr-x. 3 root root 17 Dec 13 21:43 u01
drwxr-xr-x. 13 root root 155 Aug 20 01:32 usr
drwxr-xr-x. 21 root root 4096 Dec 13 23:08 var
[oracle@localhost /]$ ll /u01/app/
total 0
drwxrwxr-x. 2 oracle oinstall 6 Dec 14 00:49 oracle
[oracle@localhost /]$ su - root
Password:
Last login: Wed Dec 13 23:09:09 CST 2017 from 192.168.1.27 on pts/2
[root@localhost ~]# cd /
[root@localhost /]# ll
total 28
-rw-r--r--. 1 root root 0 Aug 20 02:03 1
lrwxrwxrwx. 1 root root 7 Aug 20 01:32 bin -> usr/bin
dr-xr-xr-x. 4 root root 4096 Aug 20 02:57 boot
drwxr-xr-x 20 root root 3320 Dec 13 23:08 dev
drwxr-xr-x. 143 root root 8192 Dec 13 23:24 etc
drwxr-xr-x. 4 root root 33 Dec 13 21:41 home
lrwxrwxrwx. 1 root root 7 Aug 20 01:32 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Aug 20 01:32 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Nov 5 2016 media
drwxr-xr-x. 3 root root 19 Dec 13 20:40 mnt
drwxr-xr-x. 3 root root 16 Aug 20 02:19 opt
dr-xr-xr-x 206 root root 0 Dec 13 23:08 proc
dr-xr-x---. 15 root root 4096 Dec 13 23:40 root
drwxr-xr-x 38 root root 1120 Dec 13 23:08 run
lrwxrwxrwx. 1 root root 8 Aug 20 01:32 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Nov 5 2016 srv
dr-xr-xr-x 13 root root 0 Dec 13 23:08 sys
drwxrwxrwt. 27 root root 4096 Dec 14 00:56 tmp
drwxr-xr-x. 3 root root 17 Dec 13 21:43 u01
drwxr-xr-x. 13 root root 155 Aug 20 01:32 usr
drwxr-xr-x. 21 root root 4096 Dec 13 23:08 var
[root@localhost /]# chown oracle:oinstall u
u01/ usr/
[root@localhost /]# chown oracle:oinstall u01/
[root@localhost /]# ll
total 28
-rw-r--r--. 1 root root 0 Aug 20 02:03 1
lrwxrwxrwx. 1 root root 7 Aug 20 01:32 bin -> usr/bin
dr-xr-xr-x. 4 root root 4096 Aug 20 02:57 boot
drwxr-xr-x 20 root root 3320 Dec 13 23:08 dev
drwxr-xr-x. 143 root root 8192 Dec 13 23:24 etc
drwxr-xr-x. 4 root root 33 Dec 13 21:41 home
lrwxrwxrwx. 1 root root 7 Aug 20 01:32 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Aug 20 01:32 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Nov 5 2016 media
drwxr-xr-x. 3 root root 19 Dec 13 20:40 mnt
drwxr-xr-x. 3 root root 16 Aug 20 02:19 opt
dr-xr-xr-x 205 root root 0 Dec 13 23:08 proc
dr-xr-x---. 15 root root 4096 Dec 13 23:40 root
drwxr-xr-x 38 root root 1120 Dec 13 23:08 run
lrwxrwxrwx. 1 root root 8 Aug 20 01:32 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Nov 5 2016 srv
dr-xr-xr-x 13 root root 0 Dec 13 23:08 sys
drwxrwxrwt. 27 root root 4096 Dec 14 00:58 tmp
drwxr-xr-x. 3 oracle oinstall 17 Dec 13 21:43 u01
drwxr-xr-x. 13 root root 155 Aug 20 01:32 usr
drwxr-xr-x. 21 root root 4096 Dec 13 23:08 var
[root@localhost /]# cd u01/
[root@localhost u01]# ll
total 0
drwxr-xr-x. 3 root root 20 Dec 13 21:43 app
[root@localhost u01]# chown oracle:oinstall app/
[root@localhost u01]# ll
total 0
drwxr-xr-x. 3 oracle oinstall 20 Dec 13 21:43 app
[root@localhost u01]# cd app/
[root@localhost app]# ll
total 0
drwxrwxr-x. 2 oracle oinstall 6 Dec 14 00:49 oracle
[root@localhost app]#

点击OK ,再点击下图的NEXT 按钮

检测安装环境:

注:本次安装为第一次安装,有居多细节没注意到:

所以有如下错误,需要处理,每个人的安装都尽不相同;出现问题要冷静处理

swap安装不通过

解决思路:(注:此内容参考:無心傷害  《CentOS6.4 安装oracle 11g 遇到的各种问题》)

 This is a prerequisite condition to test whether sufficient total swap space is available on the system. (more details)
Expected Value
: 15.64GB (1.6403472E7KB) 16400000
Actual Value
: 4.87GB (5111800.0KB) 问题原因是没有swap空间不足导致,需要扩大交换空间 解决:1、使用dd命令创建一个swap分区 2、#dd if=/dev/zero of=/home/swap bs=1024 count=16400000 3、格式化刚才创建的分区 4、# mkswap /home/swap 5、再使用swapon命令把这个文件分区变成swap分区 6、#swapon /home/swap 7、(关闭SWAP分区的命令为:#swapoff /home/swap) 8、再用free -m 查看已经扩容的了swap分区。 9、为了能够让swap自动挂载,需要修改etc/fstab文件,用vi /etc/fstab 10、在文件末尾加上 /home/swap swap swap default 0 0 11、这样就算重启系统,swap分区也不用手动挂载了 12、但是我感觉好像我重启了系统 swap就没有了,然后我又百度了一下,要执行下面一段命令 #echo "swapon /home/swap" >> /etc/inittab 13、然后在看 vi 看下 /etc/inittab 14、最后一行是swapon /home/swap,这样就万事大吉了。

实际操作步骤:

 [root@localhost app]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/cl-root 50G 13G 38G 26% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 84K 1.9G 1% /dev/shm
tmpfs 1.9G 9.1M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 1014M 173M 842M 18% /boot
/dev/mapper/cl-home 969G 5.3G 964G 1% /home
tmpfs 378M 16K 378M 1% /run/user/42
tmpfs 378M 0 378M 0% /run/user/0
[root@localhost app]# dd if=/dev/zero of=/home/swap bs=1024 count=16400000 16400000+0 records in
16400000+0 records out
16793600000 bytes (17 GB) copied, 225.418 s, 74.5 MB/s
[root@localhost app]#
[root@localhost app]#
[root@localhost app]#
[root@localhost app]#
[root@localhost app]#
[root@localhost app]# mkswap /home/swap
Setting up swapspace version 1, size = 16399996 KiB
no label, UUID=c59f97e2-8078-4db5-96fd-506e319d2f1e
[root@localhost app]# swapon /home/swap
swapon: /home/swap: insecure permissions 0644, 0600 suggested.
[root@localhost app]# free -m
total used free shared buff/cache available
Mem: 3774 408 108 2 3258 3047
Swap: 19727 88 19638
[root@localhost app]# /home/swap swap swap default 0 0
-bash: /home/swap: Permission denied
[root@localhost app]# echo "swapon /home/swap" >> /etc/inittab
[root@localhost app]# cat /etc/inittab
# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
#
swapon /home/swap
[root@localhost app]#

查看文件分区过程:

 [root@localhost ~]# ls
anaconda-ks.cfg Desktop Documents Downloads initial-setup-ks.cfg Music Pictures Public Templates Videos
[root@localhost ~]# ll
total 8
-rw-------. 1 root root 1848 Aug 20 02:28 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Dec 13 20:03 Desktop
drwxr-xr-x. 2 root root 6 Dec 13 20:03 Documents
drwxr-xr-x. 2 root root 6 Dec 13 20:03 Downloads
-rw-r--r--. 1 root root 1879 Aug 20 02:59 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 Dec 13 20:03 Music
drwxr-xr-x. 2 root root 6 Dec 13 20:03 Pictures
drwxr-xr-x. 2 root root 6 Dec 13 20:03 Public
drwxr-xr-x. 2 root root 6 Dec 13 20:03 Templates
drwxr-xr-x. 2 root root 6 Dec 13 20:03 Videos
[root@localhost ~]# cd /
[root@localhost /]# ll
total 28
-rw-r--r--. 1 root root 0 Aug 20 02:03 1
lrwxrwxrwx. 1 root root 7 Aug 20 01:32 bin -> usr/bin
dr-xr-xr-x. 4 root root 4096 Aug 20 02:57 boot
drwxr-xr-x 20 root root 3320 Dec 13 23:08 dev
drwxr-xr-x. 143 root root 8192 Dec 13 23:24 etc
drwxr-xr-x. 4 root root 45 Dec 14 01:17 home
lrwxrwxrwx. 1 root root 7 Aug 20 01:32 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Aug 20 01:32 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Nov 5 2016 media
drwxr-xr-x. 3 root root 19 Dec 13 20:40 mnt
drwxr-xr-x. 3 root root 16 Aug 20 02:19 opt
dr-xr-xr-x 208 root root 0 Dec 13 23:08 proc
dr-xr-x---. 15 root root 4096 Dec 13 23:40 root
drwxr-xr-x 38 root root 1120 Dec 13 23:08 run
lrwxrwxrwx. 1 root root 8 Aug 20 01:32 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Nov 5 2016 srv
dr-xr-xr-x 13 root root 0 Dec 13 23:08 sys
drwxrwxrwt. 27 root root 4096 Dec 14 01:07 tmp
drwxr-xr-x. 3 oracle oinstall 17 Dec 13 21:43 u01
drwxr-xr-x. 13 root root 155 Aug 20 01:32 usr
drwxr-xr-x. 21 root root 4096 Dec 13 23:08 var
[root@localhost /]# cd home/
[root@localhost home]# ll
total 12582848
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 12014789632 Dec 14 01:20 swap
[root@localhost home]# ll
total 20971452
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 14392722432 Dec 14 01:20 swap
[root@localhost home]# ll
total 20971452
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 14560011264 Dec 14 01:20 swap
[root@localhost home]# ll
total 20971452
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 15027790848 Dec 14 01:20 swap
[root@localhost home]# ll
total 20971452
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 15271343104 Dec 14 01:20 swap
[root@localhost home]# ll
total 20971452
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 15363781632 Dec 14 01:20 swap
[root@localhost home]# ll
total 20971452
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 15472714752 Dec 14 01:20 swap
[root@localhost home]# ll
total 20971452
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 15582548992 Dec 14 01:21 swap
[root@localhost home]# ll
total 20971452
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 15740661760 Dec 14 01:21 swap
[root@localhost home]# ll
total 20971452
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 15752806400 Dec 14 01:21 swap
[root@localhost home]# ll
total 20971452
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 15763570688 Dec 14 01:21 swap
[root@localhost home]# ll
total 20971452
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 15833857024 Dec 14 01:21 swap
[root@localhost home]# ll
total 20971452
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 16249556992 Dec 14 01:21 swap
[root@localhost home]# ll
total 20971452
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 16305736704 Dec 14 01:21 swap
[root@localhost home]# ll
total 20971452
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 16477321216 Dec 14 01:21 swap
[root@localhost home]# ll
total 20971452
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 16590128128 Dec 14 01:21 swap
[root@localhost home]# ll
total 20971452
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 16700355584 Dec 14 01:21 swap
[root@localhost home]# ll
total 20971452
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 16789797888 Dec 14 01:21 swap
[root@localhost home]# ll
total 16400000
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 16793600000 Dec 14 01:21 swap
[root@localhost home]# ll
total 16400000
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 16793600000 Dec 14 01:21 swap
[root@localhost home]# ll
total 16400000
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 16793600000 Dec 14 01:21 swap
[root@localhost home]# ll
total 16400000
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 16793600000 Dec 14 01:21 swap
[root@localhost home]# ll
total 16400000
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 16793600000 Dec 14 01:21 swap
[root@localhost home]# ll
total 16400000
drwx------. 3 nginx nginx 78 Aug 20 01:33 nginx
drwx------. 7 oracle oinstall 187 Dec 13 23:54 oracle
-rw-r--r-- 1 root root 16793600000 Dec 14 01:21 swap
[root@localhost home]#

检查完毕后,swap分区问题已经没有了;

缺少依赖包

This is a prerequisite condition to test whether the package "compat-libstdc++-33-3.2.3 (x86_64)" is available on the system. (more details)
Expected Value
  : compat-libstdc++-33(x86_64)-3.2.3
Actual Value
  : missing

解决思路:直接用yum install compat-libstdc* –y 这个命令来安装这个包

再次检查下:

对应校验一直无法通过而且也没有办法处理的时候;请参考下图步骤:

(借用oracle11g安装不通过时的操作)

点击上图红框的位置,进入下图

注:我本次 的安装卡在包的依赖上了:yum 环境搭建一直既有些问题:唉烦人啊 

经过几番周折终于把yum 弄好了;

 

点击 install :开始安装(漫长的等待)

借图:用于演示执行上图的脚本的效果图

图13:点击“ok”按钮后,进入下图界面,点击‘close’按钮后关闭界面,数据库安装完毕

至此:Oracle数据库软件已经安装完毕

 

9:oracle12c (数据库实例) 安装图解

 

1:在[oracle@oracle database] 目录下 执行dbca 命令调用 数据库实例 图形安装界面

 

创建数据库密码:Oracle12c

安装结束

如果需要打开 oracle12c 的pdborcl 插拔容器。请查看以下链接的内容

如果需要对Oracle12c 的数据库进行大概了解的 话,请查看下文了解

Oracle12c 从入门到精通(第二版) 闫红岩 金松河 编著

VM_Centos7.3_X64_安装Oracle12C 总结笔记的更多相关文章

  1. debain 8安装为知笔记(how to install wiznote in debain 8)

    刚装了debain8后想安装为知笔记,百度之后发现为知笔记原来是开源软件.代码托管在github上:https://github.com/WizTeam/WizQTClient 但是上面只有Ubunt ...

  2. CentOs5.8下安装Oracle12C

    12C安装向导: http://docs.oracle.com/database/121/LTDQI/toc.htm 12C下载地址: http://www.oracle.com/technetwor ...

  3. TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub)[转]

    TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub) Git-1.7.11-preview+GitExtensions244SetupComplete+T ...

  4. centos6 安装配置ss笔记

    2018-05-17 centos6 安装配置ss笔记 操作环境:Centos 6 x86_64 bbr 服务器地址:美国 1.准备VPS 在https://www.bwh1.net可购买,购买时已默 ...

  5. radhat6.6上安装oracle12c RAC (一)

    软件环境:VMware.redhat6.6.oracle12c(linuxx64_12201_database.zip).12cgrid(linuxx64_12201_grid_home.zip) 一 ...

  6. redis 安装配置学习笔记

    redis 安装配置学习笔记 //wget http://download.redis.io/releases/redis-2.8.17.tar.gz 下载最新版本 wget http://downl ...

  7. Django关于设置自定义404和安装debug-toolbar的笔记

    Django关于设置自定义404和安装debug-toolbar的笔记 关于设置404 先做好404页面,然后在views.py文件中做好映射,最后是在urls.py做好路由,而这个urls.py必须 ...

  8. Windows下安装Oracle12C(二)

    一.安装Oracle 参考 Windows下安装Oracle12C(一) 二.新建用户 1. 安装完成后,启动SQLPlus,然后输入内置的用户名和密码 用户名:sys   密码:as sysdba ...

  9. Android安装器学习笔记(一)

    Android安装器学习笔记(一) 一.Android应用的四种安装方式: 1.通过系统应用PackageInstaller.apk进行安装,安装过程中会让用户确认 2.系统程序安装:在开机的时候自动 ...

随机推荐

  1. luogu P3238 [HNOI2014]道路堵塞

    传送门 这什么题啊,乱搞就算了,不知道SPFA已经死了吗 不对那个时候好像还没死 暴力就是删掉边后跑Dijkstra SPFA 然后稍微分析一下,可以发现题目中要求的不经过最短路某条边的路径,一定是先 ...

  2. 使用Protobuf定义网络协议

    准备工具: 工具下载地址如下:https://github.com/protocolbuffers/protobuf/releases/tag/v3.6.1,主要使用到的文件有: protoc.exe ...

  3. git部分提交

    ---git add 需要提交的文件----git stash -u -k -k 开关告诉仓库保持文件的完整. -u 开关告诉仓库包括无路径的文件(那些新的和未添加到git的)----git stas ...

  4. day 4 - 2 数据类型练习

    1. 在字符串中数字相连的为一组,输出数字共有几组 如: 123sdf456sdf789  数字为:3组 info = input(">>>") for i in ...

  5. P1494 [国家集训队]小Z的袜子(莫队)

    题目链接:https://www.luogu.org/problemnew/show/P1494 题目大意:中文题目 具体思路:计算概率的时候,每一次是区间的移动,每一次移动,记得先将原来的记录的影响 ...

  6. Flask恋爱的一瞬间

    python的三大框架:Flask:轻量级框架 Django:重量级框架 Tornado:性能最好,异步框架 Flask初学 #导包 from flask import Flask #建立flask对 ...

  7. (6)Java数据结构-- 转:JAVA常用数据结构及原理分析

    JAVA常用数据结构及原理分析  http://www.2cto.com/kf/201506/412305.html 前不久面试官让我说一下怎么理解java数据结构框架,之前也看过部分源码,balab ...

  8. Create C++ Class

    创建“目标物体”,是世界场景中的一个物体,当玩家经过时,可以将它拾起,并带至某处 选择Actor为父类,创建FPSObjectiveActor类   注:点击公有按钮就会把头文件放入Public文件夹 ...

  9. python正则下载图片

    import urllib.request import re # 打开图片路径 def open_url(url): #设置请求路径 req = urllib.request.Request(url ...

  10. css3 特效拓展 画个安卓机器人

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...