centos7安装Oracle 11g数据库

news2024/9/22 21:30:08

目录

  • 一、安装前准备
    • 1、安装前置工具(安装过可以忽略)
    • 2、更配yum源
        • 2.1、备份原有源;
        • 2.2、下载阿里云base源和epel源;
        • 2.3、清理yum缓存
        • 2.4、生成新的缓存
        • 2.5、更新系统中所有软件到最新版(按需谨慎操作)
    • 3 修改主机名: oracle配置文件中需要
    • 4、配置网络 : 非必要
      • 4.1、修改网络配置文件,设置静态IP。
      • 4.2、重启网络服务后,可使用下面的命令查询当前IP地址是否修改成功。
    • 5、配置hosts文件
    • 5、关闭防火墙
  • 二、系统环境准备
    • 1. 检测是否符合安装Oracle 11g的环境需求(2核CPU 、2G内存、8G的硬盘空间)
        • 1.1 查看cpu详细信息:lscpu
        • 1.2 查看内存详细信息: free -h
        • 1.3 查看存储盘详细信息 : lsblk
        • 1.4确保服务器能访问外网:ping baidu.com
    • 2. 检测是否已安装Oracle
        • 2.1查看是否有Oracle的进程:
        • 2.2检查是否有Oracle用户 : id oracle
    • 3. 创建用户组
    • 4. 创建安装目录:
    • 5. 修改目录权限:
  • 三、安装依赖包
  • 四、下载Oracle11g安装包
    • 1、在Oracle官方网站下载 Oracle database 11g 的安装包
    • 2、创建/data/u01/software目录
    • 3、上传安装包到目录下,解压
  • 五、静默安装Oracle11G数据库
    • 1、修改内核配置文件
    • 2、修改用户限制
    • 3、修改/etc/pam.d/login 文件
    • 4、修改环境变量
    • 5、设置oracle用户环境变量
        • 5.1、切换oracle用户
        • 5.2、编辑配置文件
        • 5.3、使配置生效:
    • 6、修改静默安装响应文件
        • 6.1、复制一份响应文件:
        • 6.2、修改响应文件
        • 6.3、修改完成,保存退出。
    • 7、执行安装
        • 7.1、切换到解压的安装包目录:
        • 7.2、执行安装命令:
        • 7.3、安装过程中可以再开启一个终端,使用命令查看实时安装日志
        • 7.4、当出现如下信息时,需要再开启一个终端,以root用户执行这两个脚本。
        • 7.5、脚本执行完成后,再回到oracle安装的终端界面,回车。此时显示“Successfully Setup Software.”则Oracle已经安装完成。
        • 7.6、使用sqlplus登录验证,成功登录。
  • 六、创建数据库实例
    • 1、修改响应配置文件:
    • 2、编辑完成,保存退出。
    • 3、检查配置:
    • 4、安装创建:
    • 5、查看默认实例
    • 6、启动监听:
    • 7、连接测试
  • 七、配置oracle开机自启
      • 至此,Centos7中的Oracle11g安装完成,整个流程已经过验证,只要按照步骤操作基本不会出现问题。
  • 有些服务器 需要外网访问,可视情况设置:
  • 八、数据库管理
    • 1、进入Oracle数据库
    • 2、数据表及表空间:
    • 3、3.创建用户并赋予表空间权限
        • 注:刚刚创建完的新用户是没有任何权限的,甚至连登录数据库的权限都没有。这时使用conn 用户名/密码 会提示没有权限。在新建一个用户之后还要对这个用户进行授权操作。当然是要使用有能力授权的用户,如sys、system。角色是指由系统权限集合。通常给某个用户授予权限时如果没有角色存在的话,那么需要一条一条的操作,角色的存在就是使得授权变得很方便。通常一个角色由多个系统权限组成。常用的角色有三个connect(7种权限)、dba、resource(在任何表空间建表)。
    • 4、授予用户管理权限:
        • 注意:在给其他用户修改密码时,需要具有DBA的权限或拥有alter user的系统权限。
    • 5.想让B用户对A用户库进行操作,那就授权给B用户(不强制执行)
    • 6.退出数据库
  • 九、oracle(11g) 数据库设置ID自增功能(一共两个步骤):
  • 十、遇到oracle(11g) 数据表被上锁,无法正常更新表数据怎么处理?
    • 1.用sql命令行查询目前所有被锁的表:
    • 2.通过sql命令解锁指定进程:
  • 十一、遇到oracle(11g) 表中数据查询后发现中文字符乱码怎么转义?

一、安装前准备

1、安装前置工具(安装过可以忽略)

[root@server01 ~]# yum -y install yum-utils net-tools wget vim unzip lrzsz

2、更配yum源

2.1、备份原有源;
[root@server01 ~]# mkdir /etc/yum.repo-bak

[root@server01 ~]# mv /etc/yum.repos.d/* /etc/yum.repo-bak
2.2、下载阿里云base源和epel源;
[root@server01 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

[root@server01 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
2.3、清理yum缓存
[root@server01 ~]# yum clean all
2.4、生成新的缓存
[root@server01 ~]# yum makecache

此处可能会遇到错误:

“Could not resolve host: mirrors.aliyun.com;未知的错误”

解决方法:

修改配置文件添加nameserver地址,重新执行生成缓存

[root@server01 ~]# vi /etc/resolv.conf

nameserver 8.8.8.8

nameserver 114.114.114.114
2.5、更新系统中所有软件到最新版(按需谨慎操作)
[root@server01 ~]# yum -y update

3 修改主机名: oracle配置文件中需要

[root@localhost oracle]# hostname
localhost.localdomain
[root@localhost oracle]# hostnamectl set-hostname szkj.member.s01
[root@localhost oracle]# systemctl restart network
[root@localhost oracle]# source /etc/profile
[root@localhost oracle]# hostname
szkj.member.s01
[root@localhost oracle]# 

在这里插入图片描述

4、配置网络 : 非必要

4.1、修改网络配置文件,设置静态IP。

[root@server01 ~]# cd /etc/sysconfig/network-scripts/

[root@server01 ~]# vi ifcfg-ens32

[root@server01 ~]# systemctl restart network

4.2、重启网络服务后,可使用下面的命令查询当前IP地址是否修改成功。

[root@server01 ~]# ifconfig

[root@server01 ~]# ip addr show

[root@server01 ~]# hostname –I

5、配置hosts文件

[root@server01 ~]# vi /etc/hosts
在这里插入图片描述

5、关闭防火墙

二、系统环境准备

1. 检测是否符合安装Oracle 11g的环境需求(2核CPU 、2G内存、8G的硬盘空间)

1.1 查看cpu详细信息:lscpu

在这里插入图片描述

1.2 查看内存详细信息: free -h

在这里插入图片描述

1.3 查看存储盘详细信息 : lsblk

在这里插入图片描述

1.4确保服务器能访问外网:ping baidu.com

2. 检测是否已安装Oracle

2.1查看是否有Oracle的进程:

在这里插入图片描述

2.2检查是否有Oracle用户 : id oracle

在这里插入图片描述

3. 创建用户组

3.1建立oracle用户和用户组

# 创建oninstall用户组:

groupadd oninstall

# 创建dba用户组:
groupadd dba

创建主用户组为oninstall 附加组为dba和oper用户组的oracle用户:

useradd -g oninstall -G dba oracle

passwd oracle   # 'ltkj.com'
或 echo "ltkj.com" | passwd --stdin oracle

在这里插入图片描述

4. 创建安装目录:


[root@server01 ~]# mkdir -p /data/db/oracle/product/11.2.0/dbhome_1

[root@server01 ~]# mkdir /data/db/oracle/{oradata,inventory,fast_recovery_area}

5. 修改目录权限:

[root@server01 ~]# chown -R oracle:oninstall  /data/db/oracle

[root@server01 ~]# chmod -R 775  /data/db/oracle

在这里插入图片描述

三、安装依赖包

[root@server01 ~]# yum -y install gcc gcc-c++ make binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static glibc glibc-common glibc-devel ksh libaio libaio-devel libgcc libstdc++ numactl-devel sysstat unixODBC unixODBC-devel kernel-headers pcre-devel readline rlwrap

如果提示有包没有找到,可以单独进行下载,上传至服务器,使用命令rpm –ivh进行安装。

四、下载Oracle11g安装包

1、在Oracle官方网站下载 Oracle database 11g 的安装包

https://edelivery.oracle.com/osdc/faces/SoftwareDelivery;jsessionid=NuAH5JL9Du6Cc7McbCYsS8W8oMNqhLE6o1l7bdONyEEaauT71Wp_!83811957
或 百度网盘

2、创建/data/u01/software目录

[root@server01 ~]# mkdir -p /usr/local/soft/oracle

3、上传安装包到目录下,解压

rz


 [root@localhost oracle]# cd /usr/local/soft/oracle

[root@localhost oracle]# unzip p10404530_112030_Linux-x86-64_1of7.zip 

 [root@localhost oracle]# unzip p10404530_112030_Linux-x86-64_2of7.zip

在这里插入图片描述

五、静默安装Oracle11G数据库

1、修改内核配置文件

[root@localhost oracle]# vim /etc/sysctl.conf

在尾部添加下面配置:

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

在这里插入图片描述

使配置文件生效:

[root@localhost oracle]# sysctl -p

在这里插入图片描述

2、修改用户限制

[root@localhost oracle]# 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

在这里插入图片描述

3、修改/etc/pam.d/login 文件

[root@localhost oracle]# vim /etc/pam.d/login

添加下面内容:

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

在这里插入图片描述

4、修改环境变量

[root@server01 ~]# vim /etc/profile

添加下面内容:

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

在这里插入图片描述
环境变量生效:

[root@localhost oracle]# source /etc/profile

5、设置oracle用户环境变量

5.1、切换oracle用户
[root@localhost oracle]# su - oracle
密码:
上一次登录:三 8月 14 10:14:23 CST 2024pts/0 上
[oracle@localhost ~]$ 
5.2、编辑配置文件
[oracle@localhost ~]$ vim .bash_profile 

添加下面内容:

 export ORACLE_BASE=/data/db/oracle
 export ORACLE_HOME=/data/db/oracle/product/11.2.0/dbhome_1
 export ORACLE_SID=orcl
 export ORACLE_PID=ora11g
 export ORACLE_UNQNAME=$ORACLE_SID
 export PATH=$ORACLE_HOME/bin:$PATH
 export NLS_LANG=american_america.AL32UTF8
 alias sqlplus='rlwrap sqlplus'
 alias rman='rlwrap rman'

在这里插入图片描述

5.3、使配置生效:
[oracle@localhost ~]$ source .bash_profile 

6、修改静默安装响应文件

6.1、复制一份响应文件:

[oracle@localhost ~]$ cp -R /usr/local/soft/oracle/database/response/ /home/oracle
[oracle@localhost ~]$ ll
总用量 0
drwxr-xr-x. 2 oracle oninstall 61 8月 14 10:23 response
[oracle@localhost ~]$

[oracle@localhost ~]$ cd response/

6.2、修改响应文件

[oracle@localhost response]$ vim db_install.rsp

修改文件中内容:

29 oracle.install.option=INSTALL_DB_SWONLY

37 ORACLE_HOSTNAME=szkj.member.s01

42 UNIX_GROUP_NAME=oninstall

47 INVENTORY_LOCATION=/data/db/oracle/inventory


86 SELECTED_LANGUAGES=en,zh_CN

91 ORACLE_HOME=/data/db/oracle/product/11.2.0/dbhome_1

96 ORACLE_BASE=/data/db/oracle

107 oracle.install.db.InstallEdition=EE


154 oracle.install.db.DBA_GROUP=dba

160 oracle.install.db.OPER_GROUP=dba

400 DECLINE_SECURITY_UPDATES=true

6.3、修改完成,保存退出。

7、执行安装

7.1、切换到解压的安装包目录:
[oracle@localhost response]$ cd /usr/local/soft/oracle/database
7.2、执行安装命令:
[oracle@localhost database]$ ./runInstaller -silent -force -responseFile /home/oracle/response/db_install.rsp -ignorePrereq

在这里插入图片描述

安装过程大概几分钟,如果服务器配置低可能会久一些;

7.3、安装过程中可以再开启一个终端,使用命令查看实时安装日志
[root@localhost database]# tail -f /data/db/oracle/inventory/logs/installActions2024-08-14_01-30-47PM.log

在这里插入图片描述

7.4、当出现如下信息时,需要再开启一个终端,以root用户执行这两个脚本。

在这里插入图片描述

[root@localhost database]# sh /data/db/oracle/inventory/orainstRoot.sh 

[root@localhost database]# sh /data/db/oracle/product/11.2.0/dbhome_1/root.sh

在这里插入图片描述

7.5、脚本执行完成后,再回到oracle安装的终端界面,回车。此时显示“Successfully Setup Software.”则Oracle已经安装完成。
7.6、使用sqlplus登录验证,成功登录。
[oracle@localhost database]$ sqlplus / as sysdba

在这里插入图片描述

六、创建数据库实例

1、修改响应配置文件:

[oracle@localhost database]$ vim /home/oracle/response/dbca.rsp

修改如下内容:

78 GDBNAME = "orcl"

170 SID = "orcl"

 211 SYSPASSWORD = "orcl.xxxj.xxx"

 222 SYSTEMPASSWORD = "orcl.xxxx.test"

 253 SYSMANPASSWORD = "orcl.xxxj.xxx"

 263 DBSNMPPASSWORD = "orcl.xxxj.xxxx"
 
 362 DATAFILEDESTINATION =/data/db/oracle/oradata
 
 372 RECOVERYAREADESTINATION=/data/db/oracle/fast_recovery_area

 420 #CHARACTERSET = "US7ASCII"
 421 CHARACTERSET = "AL32UTF8"

 556 TOTALMEMORY = "2048"

2、编辑完成,保存退出。

3、检查配置:

[oracle@localhost database]$ egrep -v "(^#|^$)" /home/oracle/response/dbca.rsp

在这里插入图片描述

4、安装创建:

[oracle@localhost database]$ dbca -silent -responseFile /home/oracle/response/dbca.rsp

在这里插入图片描述

5、查看默认实例

[oracle@localhost database]$ env|grep ORACLE_UNQNAME

在这里插入图片描述

6、启动监听:

[oracle@localhost database]$ lsnrctl start

正常的监听启动,如下:
在这里插入图片描述

重启Oracle数据库的操作步骤

1)查看监听器状态:lsnrctl status

2)停止监听器:lsnrctl stop

3)连接数据库:sqlplus sys/密码 as sysdba
或 以管理员模式登录:
sqlplus / as sysdba

4)停止数据库:shutdown immediate

5)启动数据库:startup

6)退出数据库:exit

7)启动监听:lsnrctl start

7、连接测试

Navicat Premium

在这里插入图片描述

七、配置oracle开机自启

1、oracle用户修改Oracle实例配置

[oracle@localhost database]$ vim /etc/oratab

修改下面内容:
将orcl:/data/db/oracle/product/11.2.0/db_1:N 的N改成Y

 23 # orcl:/data/db/oracle/product/11.2.0/dbhome_1:N
 24 orcl:/data/db/oracle/product/11.2.0/dbhome_1:Y

在这里插入图片描述

2、root用户添加开机自启策略

1. # 切换到 root 用户
su - root ,  或再打开一个窗口   以root 登录 

2. # 配置文件权限
[root@localhost oracle]# chmod +x /etc/rc.local 
2-2. # 或者 直接给777
[root@localhost oracle]# chmod 777 /etc/rc.local

3. # 然后编辑
[root@localhost oracle]# vim /etc/rc.local

添加如下内容:

# oracle开机自启

su - oracle -c "dbstart"
su - oracle -c "lsnrctl start"
su - oracle -c "lsnrctl start listenerl"

在这里插入图片描述

至此,Centos7中的Oracle11g安装完成,整个流程已经过验证,只要按照步骤操作基本不会出现问题。

有些服务器 需要外网访问,可视情况设置:

开放1521端口(远程连接Oracle所需)
查看端口是否开放

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

永久开放1521端口号

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

重启防火墙

systemctl restart firewalld.service

查看防火墙状态

systemctl status firewalld.service

八、数据库管理

1、进入Oracle数据库

命令:su - oracle
命令:sqlplus / as sysdba

【进入Oracle数据库后可以操作的常用命令】:

关闭数据库:shutdown immediate

启动数据库:startup

启动监听:lsnrctl  start

停止监听:lsnrctl stop

2、数据表及表空间:

创建表空间:
create tablespace ittbank datafile ‘/u01/app/oracle/oradata/ORCL/ittbank.dbf’ size 300m autoextend on;

【说明】:

create tablespace:创建表空间关键字
MyDataBase:数据库名称(表名称)
datafile '/u01/app/oracle/oradata/MyDataBase.dbf':指定数据库文件目录
size 300m:设置表空间初始大小
autoextend on:参数表示当表空间大小不够用时会自动扩容,所有建议加上autoextend on参数。
末尾带autoextend on参数表示当表空间大小不够用时会自动扩容,所有建议加上autoextend on参数。
————————————————

3、3.创建用户并赋予表空间权限

注:以下命令都需要DBA权限。

  • 创建用户:
    create user ittbank identified by 123456 ;
  • 赋予用户的表空间权限:
    alter user ittbank default tablespace ittbank;;
  • 或者两条命令合并为:
    create user ittbank identified by 123456 default tablespace ittbank;
【说明】:

	create user:oracle创建用户关键词
	username:用户名
	identified by:指定密码关键词
	passwd:自定义密码 
	default tablespace:数据库映射关键词
	MyDataBase:映射的数据库名称
注:刚刚创建完的新用户是没有任何权限的,甚至连登录数据库的权限都没有。这时使用conn 用户名/密码 会提示没有权限。在新建一个用户之后还要对这个用户进行授权操作。当然是要使用有能力授权的用户,如sys、system。角色是指由系统权限集合。通常给某个用户授予权限时如果没有角色存在的话,那么需要一条一条的操作,角色的存在就是使得授权变得很方便。通常一个角色由多个系统权限组成。常用的角色有三个connect(7种权限)、dba、resource(在任何表空间建表)。

4、授予用户管理权限:

grant connect,resource,dba to ittbank ;

  • 删除用户
    drop user“name”cascade;
    注:cascade参数是级联删除该用户所有对象,经常遇到如用户有对象而未加此参数则用户删不了的问题,所以习惯性的加此参数。“name”的引号有无都是一样的。
  • 修改用户密码
    password ittbank( 在用户已经连接的情况下 )或者
    alter user ittbank identified by newpassword
    【说明】:
    
    	grant connect,resource,dba to:将连接数据权限,授权给指定用户
    	grant create session to :将创建会话权限,授权给指定用户
    	username:用户名
    
注意:在给其他用户修改密码时,需要具有DBA的权限或拥有alter user的系统权限。
  • 查看当前用户的角色
    select * from user_role_privs;
    select * from session_privs;
    查看当前用户的系统权限和表级权限
    select * from user_sys_privs;
    select * from user_tab_privs;
    查询用户表
    select name from dba_users;
    修改用户口令
    alter user “name” identified by “password”;
    显示当前用户
    show user;

删除表空间:
drop tablespace ittbank including contents and datafiles;
修改表空间大小(注:修改=可以增大,可以减小。)
alter database datafile ‘/u01/app/oracle/oradata/ORCL/ittbank.dbf’ resize 200m;
增加表空间大小(注:增加=只能增大,不能减少。)
alter tablespace ittbank add datafile ‘/u01/app/oracle/oradata/ORCL/ittbank.dbf’ size 2048m;
查询数据库文件:
select * from dba_data_files;
查询当前存在的表空间:
select * from vKaTeX parse error: Expected group after '_' at position 267: …t(*) from sys.v_̲session;
pl/sql
[declare
/申明部分,一般是变量及常量/]
[ begin
/执行部分,流程结构控制,sql部分/]
[exception
/异常处理部分/]
end

set serveroutput on //打开输出开关
begin
dbms_output.put_line(‘hello world!’); //输出结果
end;
修改连接数:(注:要重启数据库)
alter system set processes=1000 scope=spfile;
shutdown immediate;
startup;

5.想让B用户对A用户库进行操作,那就授权给B用户(不强制执行)

grant all privileges to Buser;

【说明】:

	grant :授权关键字
	all:全部权限
	privileges to:指定授权人关键字
	Buser:授权人用户名

6.退出数据库

命令:exit;

九、oracle(11g) 数据库设置ID自增功能(一共两个步骤):

1.给要实现ID自增的数据表创建一个序列

SQL> CREATE SEQUENCE "序列名称"

increment by 1    ----- 每次递增:1  

start with 1       ----- 从哪开始:1 

nomaxvalue      ----- 递增最大值:没有 

minvalue 1       ----- 递增最小值:1  

NOCYCLE;      ----- 不循环  

2.给要实现ID自增的数据表创建一个触发器

SQL> CREATE OR REPLACE TRIGGER "触发器名称"

BEFORE INSERT ON "要实现ID自增的数据表名称"

FOR EACH ROW  

BEGIN  

SELECT "之前创建的序列名称".nextval INTO :new."要实现ID自增数据表中的ID字段名"  FROM dual;  

END;  

这2个SQL执行完成后,您的数据表就可以实现ID自增的效果了。

十、遇到oracle(11g) 数据表被上锁,无法正常更新表数据怎么处理?

1.用sql命令行查询目前所有被锁的表:

select b.owner TABLEOWNER,b.object_name TABLENAME,c.OSUSER LOCKBY,c.USERNAME LOGINID, c.sid SID, c.SERIAL# SERIAL from v$locked_object a,dba_objects b,v$session c where b.object_id = a.object_id AND a.SESSION_ID =c.sid;

2.通过sql命令解锁指定进程:

alter system kill session 'SID,SERIAL' immediate; 

解锁被锁数据表后,数据表可恢复正常更新。

十一、遇到oracle(11g) 表中数据查询后发现中文字符乱码怎么转义?

<?php
 
//变量字符类型检测;
$fileType = mb_detect_encoding($appPath , array('UTF-8','GBK','LATIN1','BIG5')); 
//变量强行转换utf-8
$appPath = mb_convert_encoding($appPath ,'utf-8' , $fileType);
 
?>

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

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

相关文章

做代理海外仓赚钱?代理仓如何实现盈利?

随着跨境电商与物流的火热&#xff0c;海外仓作为跨境贸易的新基建&#xff0c;也成为了一门生意。具体来说海外仓商业模式是一种通过在跨境贸易中设置离岸仓库&#xff0c;为客户提供包括商品存储、包装、发货、退货和售后服务等一系列跨境电商服务的商业模式。 海外仓的成本主…

跟《经济学人》学英文:2024年08月10日这期 A history-lover’s guide to the market panic over AI

A history-lover’s guide to the market panic over AI Past technologies offer clues to what comes next 原文&#xff1a; Andrew Odlyzko, a professor of mathematics at the University of Minnesota, has a side hustle: he has become one of the world’s foremo…

19523 最长上升子序列长度

### 分析 1. **问题描述**&#xff1a; - 给定一个序列&#xff0c;要求找到最长上升子序列的长度。 - 子序列可以是不连续的&#xff0c;但必须保持顺序。 2. **解决方案**&#xff1a; - 使用动态规划&#xff08;Dynamic Programming, DP&#xff09;来解决这个问…

RCE---无字母数字webshell

<?php if(isset($_GET[code])){$code $_GET[code];if(strlen($code)>35){die("Long.");}if(preg_match("/[A-Za-z0-9_$]/",$code)){die("NO.");}eval($code); }else{highlight_file(__FILE__); } 分析代码&#xff1a;传参不大于35&…

让可视化大屏摆脱面子工程的12个方法

提到可视化大屏&#xff0c;很多老铁就认为这是面子工程&#xff0c;花里胡哨&#xff0c;没啥用处&#xff0c;这固然和认知有关系&#xff0c;那么有没有办法让可视化大屏摆脱这种认知吗&#xff0c;千汇数据工场介绍往日经验&#xff0c;与大家探讨下。 可视化大屏面子工程…

C语言典型例题37

《C程序设计教程&#xff08;第四版&#xff09;——谭浩强》 例题3.5 按照按照考试成绩的等级输出百分制分数段&#xff0c;A等为85分以上&#xff0c;B等为70~84分&#xff0c;C等为 60~69分&#xff0c;D等在60分以下&#xff0c;成绩的等级从键盘输入 代码&#xff1a; //…

2024最新上门按摩系统源码APP打包教程!

**xhadmin、免费、开源、可商用** 上门按摩这两年很火&#xff0c;某宝、某鱼上盗版系统盛行&#xff0c;大都是留有后门的系统&#xff0c;加密授权&#xff0c;根本二开不了。 近期很多人反馈我们的上门按摩系统APP打包困难&#xff0c;今天我手把手教大家如何打包上门按摩A…

【CanMVK230】CanMV K230 开箱

【CanMVK230】CanMV K230 开箱 CanMV 是什么CanMV K230开发板硬件资源能做什么 开箱&#xff01;配套资料其他学习资料 K230我买到啦~。话不多说&#xff0c;开始分享我的使用过程。欢迎大神指点。 CanMV 是什么 CanMV开源项目由嘉楠科技&#xff08;Canaan&#xff09;官方创建…

【关于CVE-2024-38077 Windows Server 2012和Windows Server 2018安装安全补丁指南】

文章目录 背景问题描述产生原因解决方案解决步骤1. 安装BypassESU工具2. 补丁安装方法一&#xff1a;使用 Windows 更新功能方法二&#xff1a;手动下载补丁并安装 补丁验证方法一&#xff1a;在“控制面板”-“程序”-”程序和功能”-“已安装更新”中检查是否存在 KBS040434 …

<Linux>进程概念-下

文章目录 目录 前言 一、环境变量 1. PATH 2. HOME 3. 其他环境变量 系统调用接口--getenv 4. 命令行参数 4.1 双参数main 4.2 三参数main 5. 设置环境变量 5.1 本地环境变量 5.1.1 内建命令 5.2 固定环境变量 6. 取消环境变量 7. 小总结 二、程序地址空间 1. 空间划分 2. 进…

haproxy负载均衡(twenty-eight day)

官网&#xff1a; https://www.haproxy.com/ 自由及开放源代码软件 HAPrOxy是一个使用C语言编写的自由及开旅酒代码软性&#xff0c;其提供高可用性、负我均衡&#xff0c;以及基于TCP和HTTP的应用程座代理 HAProxy特别适用于那些负载特大的webi些站点通常又需要会话保挂或七层…

单片机中时钟源(Clock Source)和时基源(Timebase Source)和的联系和区别

问题描述 在单片机中&#xff0c;时钟源&#xff08;Clock Source&#xff09;和时基源&#xff08;Timebase Source&#xff09;是两个与时间相关的基本概念&#xff0c;它们在单片机的时钟系统设计中扮演着重要角色。 区别与联系 1.区别 1.1定义 时钟源&#xff1a;是单片机…

【C语言篇】编译和链接以及预处理介绍(上篇)

文章目录 前言翻译环境和运行环境翻译环境编译预处理&#xff08;预编译&#xff09;编译词法分析语法分析语义分析 汇编 链接 运行环境预处理&#xff08;预编译&#xff09;详解预定义符号#define定义常量#define定义宏带有副作用的宏参数宏替换的规则宏和函数的对比 写在最后…

【git】gitee 提交错误,如何回退

文章目录 查看提交记录设定退回到位置提交 查看提交记录 git log git log如下图所示共2次提交记录 最近一次是错误提交&#xff08;笔者提交是在错误的工作路径上传了&#xff09; 设定退回到位置 git reset --hard hash值 git reset --soft 83fcc380d5250599eca********…

rabbit消息队列

一&#xff1a;消息队列简介 1&#xff1a;主流的消息队列 目前主流的几大消息队列有&#xff1a;RabitMQ、ActiveMQ、RocketMQ、Kafka、ZeroMQ等&#xff0c;也有一些小众的比如Beanstalk&#xff0c;当然我们之前学过的Redis也可以实现消息队列的功能。 &#xff08;1&…

Android全面解析之Context机制(一) :初识Android context

什么是Context 回想一下最初学习Android开发的时候&#xff0c;第一用到context是什么时候&#xff1f;如果你跟我一样是通过郭霖的《第一行代码》来入门android&#xff0c;那么一般是Toast。Toast的常规用法是&#xff1a; Toast.makeText(this, "我是toast", To…

详解【网路编程】之Socket套接字编程

谢谢帅气美丽且优秀的你看完我的文章还要点赞、收藏加关注 没错&#xff0c;说的就是你&#xff0c;不用再怀疑&#xff01;&#xff01;&#xff01; 希望我的文章内容能对你有帮助&#xff0c;一起努力吧&#xff01;&#xff01;&#xff01; 1、Socket套接字 Socket 是一个…

4G 和 5G 中的单域注册(VoLTE和VoNR适用)VoNR 中的 CSRetry

目录 1. 4G 和 5G 中的单域注册&#xff08;VoLTE和VoNR适用&#xff09; 1.1 主要内容 1.2 什么是 4/5G 网络中的单域注册 1.3 为什么需要单域注册 1.4 单域注册主要参数之&#xff1a;Dual-Registration-5G-Indicator 1.5 单域注册主要参数之&#xff1a;DualRegistrat…

基于微信小程序地图实现点位标注、覆盖物、地图聊天

目录 小程序部分map标签的使用获取用户经纬度并转换地址地图点击事件覆盖物标注点击并实现弹窗交互数据库及接口部分数据库表结构设计API搭建小程序接口使用注意事项wx.getLocation深入控制地图小程序部分 map标签的使用 创建小程序的步骤这里不再重复赘述,在wxml页面中放一个…

EtherCAT运动控制器PT/PVT实现用户自定义轨迹规划

ZMC408CE硬件介绍 ZMC408CE是正运动推出的一款多轴高性能EtherCAT总线运动控制器&#xff0c;具有EtherCAT、EtherNET、RS232、CAN和U盘等通讯接口&#xff0c;ZMC系列运动控制器可应用于各种需要脱机或联机运行的场合。 ZMC408CE支持8轴运动控制&#xff0c;最多可扩展至32轴…