CentOS 7靜默安裝Oracle 11g R2資料庫軟體

来源:https://www.cnblogs.com/dbabd/archive/2019/01/09/10245912.html
-Advertisement-
Play Games

正文 之前安裝Oracle 11g R2資料庫軟體都是建立在圖形界面上的,不過現在大部分伺服器上都沒有安裝圖形界面。圖形界面安裝較為方便,安裝選項清晰,步驟明確,但Oracle還支持另一種安裝方式,就是通過響應文件(response file)靜默方式安裝。這對於沒有安裝圖形界面組件的伺服器來說十分 ...


正文

之前安裝Oracle 11g R2資料庫軟體都是建立在圖形界面上的,不過現在大部分伺服器上都沒有安裝圖形界面。圖形界面安裝較為方便,安裝選項清晰,步驟明確,但Oracle還支持另一種安裝方式,就是通過響應文件(response file)靜默方式安裝。這對於沒有安裝圖形界面組件的伺服器來說十分方便,同時對於批量部署也更有效率,靜默方式安裝僅通過命令行方式就可以解決,少去了配置圖形界面的繁瑣,提高了安裝速度。本文就基於CentOS 7上進行靜默安裝Oracle 11g R2資料庫軟體進行梳理總結,不涉及資料庫的創建。

主要安裝步驟參考官方文檔:Oracle Database Quick Installation Guide for Linux x86-64

環境準備

  1. 操作系統(OS):CentOS Linux release 7.5.1804 (Core)
  2. 內核版本(kernel version):3.10.0-862.el7.x86_64
  3. 資料庫版本(Oracle Database):Oracle Database 11g R2(11.2.0.4.0)

安裝準備

硬體環境檢查

  • 記憶體需求

根據官方文檔的描述,得出記憶體需求如下:

Minimum: 1 GB of RAM
Recommended: 2 GB of RAM or more

檢查本機環境記憶體:

# grep MemTotal /proc/meminfo
MemTotal:        3079752 kB
  • SWAP空間需求

SWAP空間要求可以參照如下表格:

可用記憶體 需要的SWAP空間
1G - 2G 可用記憶體*1.5
2G - 16G 等於可用記憶體
16G以上 16G

檢查本機環境SWAP空間:

# grep SwapTotal /proc/meminfo
SwapTotal:       5242876 kB

可用記憶體及對應SWAP空間大小:

# free -m
              total        used        free      shared  buff/cache   available
Mem:           3007          77        2819           8         110        2781
Swap:          5119           0        5119
  • 磁碟空間需求
文件類型 空間大小
安裝文件 企業版:4.7G 標準版:4.6G
數據文件 企業版:1.7G 標準版:1.5G

本次資料庫軟體和數據文件路徑都存放在/data路徑下。

查看本機環境磁碟空間:

# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/system-root   50G   11G   40G  21% /
devtmpfs                 1.5G     0  1.5G   0% /dev
tmpfs                    1.5G     0  1.5G   0% /dev/shm
tmpfs                    1.5G  8.5M  1.5G   1% /run
tmpfs                    1.5G     0  1.5G   0% /sys/fs/cgroup
/dev/sda1                197M  107M   90M  55% /boot
/dev/mapper/data-data     40G  5.5G   35G  14% /data
tmpfs                    301M     0  301M   0% /run/user/0

軟體環境檢查

  • 軟體包需求

根據官方文檔的描述,得出需要安裝的軟體包如下:

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

檢查本機環境軟體包安裝情況:

# rpm -q binutils \
> compat-libcap1 \
> compat-libstdc++-33 \
> gcc \
> gcc-c++  \
> glibc \
> glibc-devel \
> ksh \
> libaio \
> libaio-devel \
> libgcc \
> libstdc++ \
> libstdc++-devel \
> libXi \
> libXtst \
> make \
> sysstat
binutils-2.27-27.base.el7.x86_64
--package compat-libcap1 is not installed
--package compat-libstdc++-33 is not installed
gcc-4.8.5-28.el7_5.1.x86_64
gcc-c++-4.8.5-28.el7_5.1.x86_64
glibc-2.17-222.el7.x86_64
glibc-devel-2.17-222.el7.x86_64
--package ksh is not installed
libaio-0.3.109-13.el7.x86_64
libaio-devel-0.3.109-13.el7.x86_64
libgcc-4.8.5-28.el7_5.1.x86_64
libstdc++-4.8.5-28.el7_5.1.x86_64
libstdc++-devel-4.8.5-28.el7_5.1.x86_64
--package libXi is not installed
--package libXtst is not installed
make-3.82-23.el7.x86_64
--package sysstat is not installed

使用yum安裝缺失的軟體包:

# yum install compat-libcap1 compat-libstdc++-33 ksh libXi libXtst sysstat

驅動軟體包安裝:

# yum install unixODBC unixODBC-devel

創建系統用戶及用戶組

  • 創建用戶組oinstall和dba
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba

# grep oinstall /etc/group
oinstall:x:1000:

# grep dba /etc/group
dba:x:1001:
  • 創建用戶oracle
# /usr/sbin/useradd -g oinstall -G dba oracle

# id oracle
uid=1000(oracle) gid=1000(oinstall) groups=1000(oinstall),1001(dba)
  • 為用戶oracle設置密碼

這裡為Oracle用戶設置密碼為:oracle

# passwd oracle
Changing password for user oracle.
New password:          # 輸入oracle
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:   # 再次確認為 oracle
passwd: all authentication tokens updated successfully.

配置內核參數及資源限制選項

編輯文件 /etc/sysctl.conf,在文件末尾添加如下配置:

# Oracle Setting
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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

使配置生效:

# sysctl -p

編輯文件 /etc/security/limits.conf,在文件末尾添加如下配置:

# Oracle Setting
oracle soft nproc 10240
oracle hard nproc 65535
oracle soft nofile 10240
oracle hard nofile 65536
oracle soft stack 10240

編輯文件 /etc/pam.d/login,在文件末尾添加如下配置:

# Oracle Setting
session     required        pam_limits.so

編輯文件 /etc/profile,在文件末尾添加如下配置:

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

編輯文件 /etc/csh.login,在文件末尾添加如下配置:

# Oracle Setting
if ( $USER == "oracle") then
        limit maxproc 16384
        limit descriptors 65536
endif

創建相關目錄

  • 創建ORACLE_BASE目錄
# mkdir -p /data/app/oracle
# chown -R oracle.oinstall /data/app/
# chmod -R 755 /data/app/oracle/
  • 創建ORACLE_HOME目錄
# su - oracle
$ mkdir -p /data/app/oracle/product/11.2.0/db_1
  • 創建Inventory目錄
# su - oracle
$ mkdir -p /data/app/oraInventory

配置Oracle用戶環境變數

編輯文件 /home/oracle/.bash_profile,在文件末尾添加如下配置(忽略註釋信息):

# Oracle Setting
umask 022
export ORACLE_BASE=/data/app/oracle/                     #Oracle Base目錄
export ORACLE_HOME=/data/app/oracle/product/11.2.0/db_1  #Oracle Home目錄
export ORACLE_SID=dbabd                                  #實例SID
export PATH=$PATH:$ORACLE_HOME/bin                       #命令加入系統環境變數中
#export NLS_LANG="SIMPLIFIED CHINESE_CHINA.UTF8"         #如果需要中文顯示設置這項,如果是英文則設置成下麵這項,最好是英文以避免不必要的麻煩。
export NLS_LANG="AMERICAN_AMERICA.UTF8"  
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
alias sqlplus='rlwrap sqlplus'                           #命令history readline功能,需要另外安裝rlwrap的rpm包
alias rman='rlwrap rman'

準備資料庫安裝文件

  • 上傳安裝文件
# rz
rz waiting to receive.
Upload Zmodem
p13390677_112040_Linux-x86-64_1of7.zip                                                  (1330.93 MB, 0:48 min = 27.73 MB/sec)
p13390677_112040_Linux-x86-64_2of7.zip                                                  (1097.97 MB, 0:45 min = 24.40 MB/sec)
  • 解壓安裝文件
# unzip p13390677_112040_Linux-x86-64_1of7.zip -d /tmp/
# unzip p13390677_112040_Linux-x86-64_2of7.zip -d /tmp/
# chown -R oracle.oinstall /tmp/database/

response file(響應文件)準備

/tmp/database/response/目錄下有一份響應文件模板,複製一份至 /data/app目錄下編輯:

$ cd /tmp/database/response/
$ ls
dbca.rsp  db_install.rsp  netca.rsp
$ cp db_install.rsp /data/app/dbabd_install.rsp -ra

修改後的響應文件內容如下,清除了多餘的空行和註釋語句。

$ cd /data/app/
$ sed -i 's/^#.*$//g' dbabd_install.rsp
$ sed -i '/^$/d' dbabd_install.rsp

文件dbabd_install.rsp修改後如下(實際文件中無以下註釋語句):

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY                        # 只安裝資料庫軟體
ORACLE_HOSTNAME=dbabd                                          # 主機名
UNIX_GROUP_NAME=oinstall                                       # 用戶組
INVENTORY_LOCATION=/data/app/oraInventory                      # Inventory目錄
SELECTED_LANGUAGES=en,zh_CN                                    # 支持語言
ORACLE_HOME=/data/app/oracle/product/11.2.0/db_1               # ORACLE_HOME目錄
ORACLE_BASE=/data/app/oracle/                                  # ORACLE_BASE目錄
oracle.install.db.InstallEdition=EE                            # 安裝版本
oracle.install.db.EEOptionsSelection=false
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=
oracle.install.db.CLUSTER_NODES=
oracle.install.db.isRACOneInstall=
oracle.install.db.racOneServiceName=
oracle.install.db.config.starterdb.type=
oracle.install.db.config.starterdb.globalDBName=
oracle.install.db.config.starterdb.SID=
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
DECLINE_SECURITY_UPDATES=true                                  # 該選項預設為false,需要改成true,忽略安全性更新
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
PROXY_REALM=
COLLECTOR_SUPPORTHUB_URL=
oracle.installer.autoupdates.option=
oracle.installer.autoupdates.downloadUpdatesLoc=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=

關於響應文件更詳細信息可參考官方文檔:Customizing and Creating Response Files

開始安裝

安裝時需要切換到oracle用戶執行如下命令:

$ /tmp/database/runInstaller -silent -force -ignorePrereq -ignoreSysPrereqs -responseFile /data/app/dbabd_install.rsp

輸出如下:

Starting Oracle Universal Installer...

Checking Temp space: must be greater than 120 MB.   Actual 35541 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 5119 MB    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2019-01-09_04-59-02PM. Please wait ...[oracle@dbabd ~]$ You can find the log of this install session at:
 /data/app/oraInventory/logs/installActions2019-01-09_04-59-02PM.log
The installation of Oracle Database 11g was successful.
Please check '/data/app/oraInventory/logs/silentInstall2019-01-09_04-59-02PM.log' for more details.

As a root user, execute the following script(s):
        1. /data/app/oraInventory/orainstRoot.sh
        2. /data/app/oracle/product/11.2.0/db_1/root.sh


Successfully Setup Software.

根據輸出內容,需要root用戶執行兩個腳本:

# /data/app/oraInventory/orainstRoot.sh
Changing permissions of /data/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /data/app/oraInventory to oinstall.
The execution of the script is complete.

# /data/app/oracle/product/11.2.0/db_1/root.sh
Check /data/app/oracle/product/11.2.0/db_1/install/root_dbabd_2019-01-09_17-04-17.log for the output of root script

配置監聽

不只是安裝資料庫軟體可以採取靜默方式安裝,同樣,之前採用netca命令配置資料庫監聽現在也可以通過靜默方式進行配置。與資料庫軟體相同的都是採用response file(響應文件)方式來安裝。

  • 複製編輯響應文件

監聽的響應文件可以保持預設,即跟預設模板文件一致。

$ cp /tmp/database/response/netca.rsp /data/app/dbabd_netca.rsp -ra
$ sed -i 's/^#.*$//g' /data/app/dbabd_netca.rsp
$ sed -i '/^$/d' /data/app/dbabd_netca.rsp

文件dbabd_netca.rsp修改後如下(實際文件中無以下註釋語句):

[GENERAL]
RESPONSEFILE_VERSION="11.2"
CREATE_TYPE="CUSTOM"
[oracle.net.ca]
INSTALLED_COMPONENTS={"server","net8","javavm"}
INSTALL_TYPE=""typical""
LISTENER_NUMBER=1
LISTENER_NAMES={"LISTENER"}        # 監聽名稱
LISTENER_PROTOCOLS={"TCP;1521"}    # 監聽埠
LISTENER_START=""LISTENER""
NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
NSN_NUMBER=1
NSN_NAMES={"EXTPROC_CONNECTION_DATA"}
NSN_SERVICE={"PLSExtProc"}
NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}
  • 靜默配置監聽

在oracle用戶下執行如下命令:

$ $ORACLE_HOME/bin/netca /silent /responsefile /data/app/dbabd_netca.rsp

輸出如下:

Parsing command line arguments:
    Parameter "silent" = true
    Parameter "responsefile" = /data/app/dbabd_netca.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Oracle Net Listener Startup:
    Running Listener Control:
      /data/app/oracle/product/11.2.0/db_1/bin/lsnrctl start LISTENER
    Listener Control complete.
    Listener started successfully.
Listener configuration complete.
Oracle Net Services configuration successful. The exit code is 0

查看監聽狀態:

$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 09-JAN-2019 17:12:19

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                09-JAN-2019 17:09:20
Uptime                    0 days 0 hr. 02 min. 58 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /data/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Listener Log File         /data/app/oracle/diag/tnslsnr/dbabd/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbabd)(PORT=1521)))
The listener supports no services
The command completed successfully

安裝完成

至此,靜默安裝Oracle 11g R2資料庫軟體以及配置監聽就完成了,可以看出靜默安裝有如下優點:

  1. 安裝速度更快,提高了部署的效率;
  2. 不像圖形界面安裝方式需要人工干預,安裝選項通過響應文件傳遞給安裝程式執行;
  3. 減少操作系統資源消耗,避免安裝更多的軟體包。

參考

https://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm
https://docs.oracle.com/cd/E11882_01/em.112/e12255/toc.htm

☆〖本人水平有限,文中如有錯誤還請留言批評指正!〗☆


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • [TOC] 1. Linux用戶及許可權管理 1.1. who 查看當前誰登錄了我 who q: 一共有多少個人登錄了我 先ping通電腦: 遠程登錄電腦: 查看誰登錄了我的電腦: 1.2. 查看當前用戶: whoami 查看當前系統當前賬號的用戶名 1.3. 添加用戶賬號: useradd | 參數 ...
  • /opt/a.sh ` 之後寫一個定時腳本2分鐘捕捉一次 ...
  • 執行計劃的編譯和生成是很耗費資源和時間的,因此,SQL Server會把生成的任一執行計劃緩存起來,以便重用。 一,緩存機制 SQL Server使用特定的緩存機制,以重用之前已經生成的執行計劃: Ad hoc 查詢緩存 參數化Ad Hoc查詢緩存 sys.sp_executesql 執行的查詢,是 ...
  • 主鍵:一般情況下,滿足第一範式的表都有一個主鍵Primary key,用於唯一標示資料庫中的一個欄位。外鍵:外鍵是相對於資料庫設計中的參考完整性而言,它與主鍵之間是彼此依賴的關係。假設現在有兩個表,產品分類表ProductCategory(主鍵c_id)和產品表Product(主鍵p_id),每類產 ...
  • 實現日誌表定時生成視圖,為實現日誌數據可視化分析提供基礎 USE [ThreeToOne] GO /****** Object: StoredProcedure [dbo].[WTO_Scan_view1] Script Date: 01/08/2019 15:23:18 ******/ SET A ...
  • 這周裝系統的固態盤壞了,固態硬碟用到壞也是第一次碰到....只能新買個硬碟重裝系統了。到了Oracle資料庫恢復那一步了,其實很簡單。只要沒把資料庫安裝路徑放在系統盤就行。*^____^* 先找到重裝前的那個安裝路徑文件,空間滿足的話可壓縮備份一份,然後重命名那個文件夾,我這裡是下圖紅框的備份 然後 ...
  • 1.創建用戶、賦許可權、刪除用戶 2.修改用戶密碼&解除鎖定(需要DBA許可權) 3.查詢鎖表 4.左右連接去除笛卡爾積 5.增加新的主鍵約束 6.級聯刪除外鍵(刪除父表記錄時,同時刪除子表記錄) 7.修改表名(表名大小寫問題) 8.將本用戶下全部sequence查詢出來,並拼成創建語句 常用sql待續 ...
  • mysql學習【第1篇】:初始MySQL 只會寫代碼的是碼農;學好資料庫,基本能混口飯吃;在此基礎上再學好操作系統和電腦網路,就能當一個不錯的程式員。如果能再把離散數學、數字電路、體繫結構、數據結構/演算法、編譯原理學通透,再加上豐富的實踐經驗與領域特定知識,就能算是一個優秀的工程師了。 為什麼學習 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...