浅析Centos7安装Oracle12数据库

        Linux下的Oracle数据库实在是太难安装了,事贼多,我都怀疑能安装成功是不是运气的成分更高一些。这里操作系统是Centos7,Oracle版本是Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production。
Oracle下载链接: https://pan.baidu.com/s/1koFPbw26lxCcsIdPEsuZXQ?pwd=nwvk 提取码: nwvk

1、在虚拟机上安装Centos7
        要求:
                a、物理内存:2G【建议啊】
                b、硬盘:40G【默认20G是不够的】
                c、 swap交换分区:3G【小于3G则Oracle安装检查环境时会提示swap大小不足,当然右上角有相关选项,勾选是可以略过这步的,但没必要,不至于穷到连3G都不能给swap】
                d、带GUI的服务器【不能最小安装,因为Oracle12的安装是带有图形界面的】
                e、为Centos7设置固定IP【这个想当服务器用的都得有固定IP吧】
        开始:
                创建新的虚拟机

                选择【典型】,点击【下一步】按钮

                选择【稍后安装操作系统】,点击【下一步】

                选择【Linux】与【CentOS 7 64位】,点击【下一步】

                改好Centos7要安放的位置后点击【下一步】

                硬盘改为40G,默认的20G不够,点击【下一步】

                点击【自定义硬件】

                点击【关闭】按钮后再点击【完成】按钮。

                点击【编辑虚拟机设置】

                将你的Centos7的镜像文件【我的是CentOS-7-x86_64-DVD-1810.iso】挂载到光盘上准备运行。点击【确定】按钮。

                点击【开启此虚拟机】,等待安装。

                鼠标点击进入安装界面【注:一定要点击进去啊,不会就点击屏幕中央位置,然后鼠标会改变形状】后按向上的方向键,使【Install CentOs 7】选项变白,回车开始安装。这时鼠标是在安装界面里的,要想出来可按【Ctrl+Alt】。

                安装界面语言选择【中文】(鼠标要点入安装界面啊),点击【继续】按钮。
                进入安装选择界面后要多等待一会,程序要检查软件安装依赖关系,这时不要乱点。

                先改日期时间

        亚洲+上海,改完日期与时间后点击左上角【完成】按钮。

                点击【软件选择】,默认是最小安装,这个不行,得改为带GUI的服务器。

                点击【完成】按钮后程序会重新检查软件依赖关系,等会,别乱动,这个看机器性能,我机器慢,等了好几分钟呢。

                点击【安装位置】,我们要手工分区。

                点击【我要配置分区】,再点击【完成】按钮。

                将新挂载点将使用的分区方案改为【标准分区】

                再点击【+】按钮

                首先是挂载【/boot】引导分区,容量1G就够了。点击【添加挂载点】

                将文件系统改为【ext4】格式。再点击左下角的【+】按钮

                其次选择【swap】交换分区,容量3G,这个很重要,点击【添加挂载点】

                文件系统默认是swap格式的,不用动。再点击【+】按钮

                最后挂载【/】根目录,容量不用填。点击【添加挂载点】按钮。

                将文件系统改为【ext4】格式。点击左上角的【完成】按钮

                点击【接受更改】按钮完成安装位置选项。

                点击【KDUMP】按钮

                去掉【启用kdump】选项,点击【完成】按钮。

                点击【网络和主机名】

                修改主机名,再点击【应用】按钮。

                再点击右上角【打开/关闭】按钮

                打开网络连接。这里要记住路由与DNS的地址,后面配置固定IP要用到。点击【完成】按钮。

                点击【SECURITY POLICY】选项。

                点击【打开/关闭】按钮,取消密码安全性限制。

                点击【完成】按钮。

                点击【开始安装】按钮

                先设置root密码

                我设的密码太简单,需要点2次【完成】按钮才能成功。再点击【创建用户】

                密码简单,再点击2次【完成】按钮才创建用户成功。
                耐心等待安装就行......

                漫长的时间啊,终于等到了,点击【重启】按钮。

                这里要接受许可。

                点击【完成】按钮。

                网络和主机名我们前面配置过,这里就不用再配置了。点击【完成配置】按钮。
                
                这里点击【未列出】,我们要用root登录系统。

                输入密码后进入系统界面。

                点击右上角【前进】按钮,再点击【前进】按钮

                这里关闭隐私,再点击【前进】按钮,再点击下一界面的【跳过】按钮,再点击下一界面的开始使用按钮。

                点击右上角的【X】退出。终于进来正常的界面了。

2、为安装Oracle数据库做准备工作
        换yum源:
                我发现yum原来默认的国外镜像网站不好用了,你说操蛋不,我得换成阿里云的镜像网站,你的yum要是没事就可以略过此步。
                鼠标右键点击桌面,右键菜单选择【打开终端】

        我执行yum list提示如下

                真的不好用了啊,必须为yum换源了。

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo


        清除本地yum缓存、索引、头文件、插件

yum clean all

        把服务器的包信息下载到本地电脑缓存起来

yum makecache


                更新已安装软件版本,防止与原来yum源安装的软件依赖发生意外冲突。但不更新linux内核。

yum -y upgrade


         这个时间有点长,等待。更新完成后测试了一下yum,发现OK。

yum search ifconfig


        设置固定IP
                编辑网络配置文件

vim /etc/sysconfig/network-scripts/ifcfg-ens33


        首先将 BOOTPROTO="dhcp" 改为 BOOTPROTO="static",我这里将其注释了然后重新复制一份再修改。
        最后再在最后面补充以下内容

IPADDR="192.168.126.100"
NETMASK="255.255.255.0"
GATEWAY="192.168.126.2"
DNS1="192.168.126.2"


 

        按【esc】键,再按【:wq】保存退出。
        IPADDR是本机固定IP,NETMASK是掩码,GATEWAY是网关,DNS1是首选DNS。前面安装网络与主机名时有下面的界面显示了IP相关信息,我们原样拿过来用就行,我就把IP改了一下,100好记。

        若前面安装忘记了网络相关信息也不怕,点击虚拟机VMware的菜单【编辑】

下的【虚拟网络编辑器】菜单


        点击【NAT】模式,再点击【NAT设置】按钮

        在这里也能看到网络IP相关信息。
        执行下列代码让网络马上生效

systemctl restart network

再执行下面代码查看网络具体信息。

ifconfig

        关闭防火墙:
        关闭防火墙为了防止安装过程中的某些操作被防火墙阻止,确保安装程序可以正常访问所需要的端口与服务。安装完成后再重新启动防火墙并开放oracle的1521端口就行。
        执行下面3条命令

systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service

        【systemctl stop firewalld.service】是关闭防火墙
        【systemctl disable firewalld.service】是禁止防火墙的开机自启
        【systemctl status firewalld.service】是查看防火墙状态

        安装依赖包:

yum install -y binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libX11 libX11.i686 libXau libXau.i686 libXi libXi.i686 libXtst libXtst.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libxcb libxcb.i686 make nfs-utils net-tools smartmontools sysstat unixODBC unixODBC-devel gcc gcc-c++ libXext libXext.i686 zlib-devel zlib-devel.i686

       这些都是要安装Oracle数据库的软件依赖包,好多啊,有些依赖包前面安装系统时已经安装过了,还有些未安装过的。这些依赖包内容可以在Oracle官网上的文档中查到。

        执行下面命令检查依赖包是否全部安装完成

rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils compat-libcap1 compat-libstdc++-33 cpp gcc gcc-c++ glibc glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make mpfr sysstat

        基本上不会有什么问题。

        创建组:

groupadd oinstall
groupadd dba
groupadd oper
groupadd osoper

        这里创建了4个组。

        创建用户并修改密码:

useradd -g oinstall -G dba,oper oracle
passwd oracle

        这里创建oracle用户来管理Oracle数据库的安装及后面的日常操作。该用户隶属于【oinstall】组,附加组是【dba】与【oper】。

        修改内核限制参数:

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


        按【esc】键,再按【:wq】保存退出。
        其中【oracle soft nproc 2047】是单用户可使用进程数量
                【oracle soft nofile 1024】是用户可打开文件数量
                【oracle soft stack 10240】是堆栈设置

        手动配置内核参数:

vim /etc/sysctl.conf

在配置文件末尾插入下面内容

fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500

        按【esc】键,再按【:wq】保存退出。
        刷新内核参数,使其马上生效。

sysctl -p

        修改login配置文件:

vim /etc/pam.d/login

        在配置文件末尾插入下面内容

session required /lib64/security/pam_limits.so
session required pam_limits.so

        按【esc】键,再按【:wq】保存退出。

        修改profile文件:

vim /etc/profile

在配置文件末尾插入下面内容

if [ $USER = "oracle" ] ; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi

        按【esc】键,再按【:wq】保存退出。

        配置环境变量:

        创建Oracle安装软件的存放目录,后面我们会把该文件拷贝到此目录下。

mkdir -p /setup/oracle

        创建Oracle数据库软件安装目录,后面安装时会将Oracle数据库安装到此目录下。

mkdir -p /app/oracle/product/12.1.0/dbhome_1

        配置oracle用户的环境变量,后面我们要用前面创建的oracle用户来专门安装管理Oracle12数据库,因此这里要特意为该用户配置一下环境变量,别的用户是不能管理Oracle数据库的。

vim /home/oracle/.bash_profile

        在配置文件末尾插入下面内容

export ORACLE_BASE=/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH

        按【esc】键,再按【:wq】保存退出。
        刷新配置,使其马上生效。

source /home/oracle/.bash_profile

        进入到Oracle软件存放目录

cd /setup/oracle

        将oracle安装软件拷贝到该目录,我用的是MobaXterm软件,用啥软件都行,能把文件拷贝过来就行。


        拷贝完毕后回到Centos的终端窗口,查看文件

ls

        2个文件都已经拷贝过来了,下面解压这2个文件。
        【注】:若无unzip软件可先安装【yum -y install unzip】

unzip V46095-01_1of2.zip
unzip V46095-01_2of2.zip

        重新查看一下该目录下文件

ls

        2个压缩文件已经解压到 /setup/oracle/database目录下了。

        文件授权:
                后面我们要用oracle用户登录来安装Oracle数据库,而前面的所有操作都是用root用户来完成的,所以必须把Oracle数据库的安装软件授权给oracle用户,否则无权管理这些文件。

chown -R oracle:oinstall /setup/oracle/database/

        查看一下授权后内容

ll

        可以看到 /setup/oracle/databae/ 目录及其下属所有文件都已经改为oracle用户所有了。
        同理我们再把Oracle数据库软件要安装到的目录也更改一下权限,因为该目录也是用root用户建立的,不改不行啊!

chown -R oracle:oinstall /app/

        建议现在重启,然后在虚拟机上以oracle用户登录

reboot

因为改了很多东西,也不知道有没有问题,改没改错,重启看一下。

这里我们用oracle用户登录

        没问题,进来了,由于头一次使用oracle用户登录,需要一些配置,与前面的相同,这里略。
在桌面上按右键选择【打开终端】,这回真的要开始安装Oracle了。
        若不想重启系统的话也没毛病,切换用户即可。

su - oracle

       【
                设置DISPLAY变量:
                我是在虚拟机上直接安装Oracle数据库,因此不用设置DISPLAY变量。但若你是在客户端连接软件上的话那就麻烦了,需安装支持图形界面的软件,还得设置DISPLAY变量
                export DISPLAY=192.168.126.100:0.0
                xclock
        】

        临时将系统换成英文
        因为Oracle安装包提供的jdk内缺少中文字体,安装时显示的都是乱码,因此最简单的方法就是临时将系统的中文改为英文。

export LANG=en_us

        进入Oracle软件存放目录

cd /setup/oracle/database

        显示目录内容

ll

        运行该文件

./runInstaller

        检测通过,可以启动Oralce安装界面了。

        我服了,分辨率不够,看不到安装界面全景啊。继续改!
选择Centos左上角菜单【应用程序】->【系统工具】->【设置】

        点击【设备】

        修改高分辨率

        点击【应用】按钮,再点击【保留更改】按钮。拉动底下向右滚动条,点击右上角的【X】退出即可。这回就能看全了。

        去掉勾选,点击【next】按钮。【上面2图中的下图是从网上找的中文对照,省得看得不习惯】


        选择【yes】按钮


        点击【next】按钮。


        选择【Server class】,点击【next】按钮。

        选择【Single instance database installation】,点击【next】按钮。

        选择【Typical install】典型安装,点击【next】按钮。


        翻译不完全一样,大致对照理解一下就行。输入新数据库登录密码,去掉【Create Container databae】勾选,点击【next】按钮。

        密码太简单,提示安全问题,不管它,选【Yes】继续。

        点击【next】按钮。

        上面是检测安装环境,若是前面swap未设置3G这里就会有提示。我们继续

        没问题,点击【install】按钮

        安装中。。。

        这是2个shell文件,需要以root用户权限来执行
回到终端窗口,先按一下回车显示正常状态,然后切换用户

su

输入密码后执行第一条命令

/app/oraInventory/orainstRoot.sh

再执行第二条命令

/app/oracle/product/12.1.0/dbhome_1/root.sh

这里会有个提示,停顿一下,回车即可。

        回到Oralce安装窗口点击刚才那个弹出窗口中的【ok】按钮,继续安装中。。。

        Oracle安装程序开始创建数据库了


        点击【ok】按钮。


        数据库安装成功,点击【close】按钮结束。

收尾工作:

        【确保我们现在是以root用户登录,刚才前面执行2个shell命令时已经改过了。】
        数据库自启动
                重启linux后oracle数据库是不会自动启动的,得我们手工配置一下才行。
                a、修改Oracle的配置文件

vim /etc/oratab

                        将    【orcl:/app/oracle/product/12.1.0/dbhome_1:N】
                        改为【orcl:/app/oracle/product/12.1.0/dbhome_1:Y】
                        就是将最后一个字母N改为Y就ok了。

                        按【esc】键,再按【:wq】保存退出。

                b、修改Centos的自启动配置文件

vim /etc/rc.d/rc.local

                        rc.local是开机启动文件,通过编辑该文件,用户可以自定义开机启动程序。
                        将需要开机启动的程序命令或脚本路径添加到该文件中,系统启动时该文件将被自动执行。
                        将下面的内容添加到该配置文件中。

su oracle -lc "/app/oracle/product/12.1.0/dbhome_1/bin/dbstart"
su oracle -lc "/app/oracle/product/12.1.0/dbhome_1/bin/lsnrctl start"


                按【esc】键,再按【:wq】保存退出。

                为该启动文件设置可执行权限【默认该文件是没有可执行权限的,不改重启时它不执行啊】

chmod u+x /etc/rc.d/rc.local

启动防火墙

systemctl start firewalld.service

        防火墙很重要,不可能因为Oralce数据库就永远关闭吧,前面安装需要关闭一下,现在安装完事了,只要开放Oracle的1521端口就行了。

systemctl enable firewalld.service

查看一下防火墙现在的状态

systemctl status firewalld.service

开放Oracle数据库的1521端口

firewall-cmd --permanent --add-port=1521/tcp

让设置马上生效

firewall-cmd --reload

查看防火墙是否成功开放了1521端口

firewall-cmd --query-port=1521/tcp

        OK,到此我们的收尾工作已经全部完成,马上重启,看看是否成功!

reboot

我们还是用oracle用户登录,桌面上点击右键,选择【打开终端】。

查看Oracle数据库是否启动,这里我们只要查看是否有Oracle的进程就可以了。

ps -ef | grep pmon

查看Oracle的监听是否启动

lsnrctl status

完全没问题,都正常启动了。


        若Oracle数据库未启动,则需输入下列命令启动。
                sqlplus / as sysdba
                #启动命令
                startup
                #查看启动状态
                select status from v$instance;
                #关闭
                shutdown immediate
        若监听未启动,则需输入下列命令启动。
                lsnrctl start

测试连接:

        用datagrip测试一下连接,成功!

搞定,收工!


        如果,我是说如果连接不成功,总是提示:
ORA-12505: 无法连接到数据库。SID orcl 未注册到 host 192.168.126.100 port 1521 中的监听程序。
        也就是说监听程序不认你给出的SID,拒绝连接。
        问题是给出的SID是正确的,啥毛病也没有啊,但监听就是不认,咋办啊!
        那就硬改一下试试,把SID写死!
        监听程序是listener.ora文件,编辑该文件。

vim /app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora

在后面加上如下内容

SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = orcl)(ORACLE_HOME = /app/oracle/product/12.1.0/dbhome_1/)))

        ‌SID_LIST_LISTENER是Oracle数据库监听器配置文件listener.ora中的一个条目,用于定义静态注册的服务信息。静态注册是指将数据库实例的信息硬编码在监听器配置文件中,以便在数据库实例关闭时也能通过监听器连接到数据库。
        这也是实在没招了啊!
        按【esc】键,再按【:wq】保存退出。
先停止监听程序

lsnrctl stop

再重新启动监听程序

lsnrctl start

        有UNKNOWN提示,不管他。这回再尝试连接数据库,你会发现可能就好用了。写死了当然好用了啊!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/76412.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

02-redis-源码下载

1、进入到官网 redis官网地址https://redis.io/ 2 进入到download页面 官网页面往最底下滑动,找到如下页面 点击【download】跳转如下页面,直接访问:【https://redis.io/downloads/#stack】到如下页面 ​ 3 找到对应版本的源码 https…

2024年博客之星的省域空间分布展示-以全网Top300为例

目录 前言 一、2024博客之星 1、所有排名数据 2、空间属性管理 二、数据抓取与处理 1、相关业务表的设计 2、数据抓取处理 3、空间查询分析实践 三、数据成果挖掘 1、省域分布解读 2、技术开发活跃 四、总结 前言 2024年博客之星的评选活动已经过去了一个月&#xf…

接口请求控制工具

接口请求控制工具 功能说明代理转发安全控制访问控制错误处理配置管理日志管理 技术栈快速开始环境要求配置说明启动服务 工具源码 功能说明 代理转发 支持多路由配置支持静态资源代理灵活的路由规则配置支持请求转发和响应处理支持负载均衡 支持多目标服务器配置提供多种负载…

Linux: 进程认识(组织进程)

进程认识 (一)冯诺依曼体系结构1.概念从数据流向上理解冯诺依曼 (二)操作系统(OS)1.概念2.设计目的3. 如何理解操作系统的 "管理"4.操作系统调用接口 (三) 进程1.概念2.描述进程-PCB3.如何对PCB进行管理? &a…

回文日期1

#include <iostream> using namespace std;bool isLeap(int y){return (y%40&&y%100!0)||(y%4000); }bool check(int year,int month,int day){//判断是否为合法日期if(month>12||month0) return false;if(day>31) return false;if(month2){if(isLeap(year…

安宝特案例 | 某户外机房制造企业应用AR+作业流,规范制造过程,记录施工节点,保障交付质量

行业特点&#xff1a;产品客制化、依赖人工&#xff0c;工程量大、细节多&#xff0c;验收困难 户外通讯机房无疑是现代工业社会的“信息心脏”&#xff0c;承载着信息交换、传输与处理的重任。建设一座质量过关的户外通讯机房是保障通信稳定运行的基石。 通常建设一个户外通信…

deepseek热度已过?

DeepSeek的热度并没有消退&#xff0c;以下是具体表现&#xff1a; 用户使用量和下载量方面 • 日活跃用户量增长&#xff1a;DeepSeek已经成为目前最快突破3000万日活跃用户量的应用程序。 • 应用商店下载量&#xff1a;1月26日&#xff0c;DeepSeek最新推出的AI聊天机器人…

蓝桥杯单片机刷题——通过按键触发串口传输电压值

设计要求 通过内部ADC完成电位器RB2的输出电压检测&#xff0c;并显示在数码管上&#xff1b; 通过串口向PC端返回当前检测的电压值。 按键“S4”定义为发送按键&#xff0c;按下按键S4&#xff0c;串口向PC端发送当前检测的电压值。 串口发送格式&#xff1a; U:1.25V\r\…

DeepSeek 都开源了哪些技术?

DeepSeek作为中国领先的人工智能企业,通过开源策略推动了全球AI技术的普及与创新。以下是其官方公布的主要开源项目及其技术内容、应用场景和社区反馈的详细分析: 1. FlashMLA 技术描述:专为Hopper架构GPU优化的高效MLA(Multi-Layer Attention)解码内核,针对可变长度序列…

【北京市小客车调控网站-注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

【SQL Server 2017】封闭网络下,数据调研所有数据表实战(提效400%)

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 一、Microsoft SQL Server-2017,环境搭建命令二、借助 @@VERSION 函数来查看当前版本三、查询Microsoft SQL Server数据库、表名、表注释四、所有数据表取样(SQL生成),查询前2条数据,数据取样五、执…

【网络协议】WebSocket讲解

目录 webSocket简介 连接原理解析: 客户端API 服务端API&#xff08;java&#xff09; 实战案例 &#xff08;1&#xff09;引入依赖 &#xff08;2&#xff09;编写服务端逻辑 &#xff08;3&#xff09;注册配置类 &#xff08;4&#xff09;前端连接 WebSocket 示例…

路由器端口映射设置方法教程,和无公网IP内网穿透实现外网访问方案步骤

随着网络技术的不断发展&#xff0c;越来越多的个人和企业需要将自己的内部服务器或设备暴露给外部网络访问。这时&#xff0c;内网端口映射公网技术就显得尤为重要。下面&#xff0c;我们将分别详细介绍&#xff0c;有公网IP时如何设置路由器端口映射&#xff0c;和无公网IP内…

Linux 系统中从源码编译安装软件

以下是 Linux 系统中 从源码编译安装软件 的详细步骤和注意事项&#xff0c;帮助你掌握这一高级操作技能&#xff1a; 一、编译安装的核心流程 1. 下载源码包&#xff08;通常为 .tar.gz/.tar.bz2/.tar.xz&#xff09; 2. 解压源码包 3. 进入源码目录 4. 配置编译参数&#xf…

HTTP:二.URI及相关术语

HTTP相关技术和术语 WEB开发语言 **http:**Hyper Text Transfer Protocol 应用层协议,默认端口: 80/tcp WEB前端开发语言: htmlcssjavascripthtml Hyper Text Markup Language 超文本标记语言,编程语言,主要负责实现页面的结构 范例:html 语言 <html> <h…

Java网络编程干货

1.网络编程是什么 了解 在Java语言中&#xff0c;我们可以使用java.net包下的技术轻松开发出常见的网络应用程序&#xff0c;从而把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统&#x…

Java—HTML:CSS选择器

今天我要介绍的知识点内容是Java HTML中的CSS选择器&#xff1b; CSS选择器用于定位HTML元素并为其添加样式。它允许我们控制网页的颜色、字体、布局和其他视觉元素。通过分离内容与样式。 下面我将介绍CSS中选择器的使用&#xff0c;并作举例说明&#xff1b; 选择器基本语…

【2025蓝桥杯】赛前2小时考点梳理C++版

【2025蓝桥杯】赛前2小时考点梳理 1. &#x1f9e9; STL&#xff08;优先级最高&#xff09; 核心容器/函数 vector push_back() / pop_back() / size()string substr(pos, len) / find(str) / queue push() / front() / pop()priority_queue 默认大根堆&#xff0c;小根堆&…

汽车性能的幕后保障:慧通测控电动尾翼综合力学测试浅析

在汽车性能不断追求极致的当下&#xff0c;电动尾翼已成为众多高性能车型以及部分新能源汽车提升空气动力学表现与操控稳定性的关键配置。从炫酷的超跑到注重续航与驾驶体验的新能源车&#xff0c;电动尾翼正逐渐崭露头角。它绝非仅仅是外观上的装饰&#xff0c;而是能在车辆行…

2、文件上传漏洞的防范

原文地址:文件上传漏洞的防范 更多内容请关注&#xff1a;代码安全 PHP安全编码——书写安全的代码 文件上传漏洞的防范 提问 问题1&#xff1a;上传漏洞是怎么产生的&#xff1f; 问题2&#xff1a;是否可以只用js判断文件类型而php不判断&#xff1f; 问题3&#…