YOLO-v8.3实战手册:多类别目标检测项目落地全流程
2026/1/15 1:03:48
基于Oracle 19c第2章“Oracle体系结构”的核心内容(涵盖逻辑/物理存储结构、服务器结构、数据字典等),整理一份包含Oracle安装过程、体系结构相关核心语法知识点及使用方法的教程,每个知识点配套带详细注释的案例代码,并补充综合性实操案例,确保内容具体、全面且可落地。
# 1. 安装依赖包yuminstall-y binutils gcc gcc-c++ libaio-devel sysstat ksh compat-libcap1 libnsl.x86_64# 2. 创建用户和组groupaddoinstallgroupadddbauseradd-g oinstall -G dba oraclepasswdoracle# 设置密码(如oracle123)# 3. 创建安装目录并授权mkdir-p /u01/app/oracle/product/19c/dbhome_1chown-R oracle:oinstall /u01chmod-R775/u01# 4. 配置内核参数(修改/etc/sysctl.conf)cat>>/etc/sysctl.conf<<EOF fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 net.ipv4.ip_local_port_range = 9000 65500 EOFsysctl -p# 生效内核参数# 5. 配置资源限制(修改/etc/security/limits.conf)cat>>/etc/security/limits.conf<<EOF oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 EOFsu- oracle# 1. 解压安装包(假设安装包在/home/oracle目录)unzipLINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19c/dbhome_1/# 2. 编写响应文件cat>/u01/app/oracle/product/19c/dbhome_1/response/db_install.rsp<<EOF oracle.install.option=INSTALL_DB_SWONLY ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1 UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oraInventory SELECTED_LANGUAGES=en,zh_CN ORACLE_HOSTNAME=localhost oracle.install.db.InstallEdition=EE oracle.install.db.OSDBA_GROUP=dba oracle.install.db.OSOPER_GROUP=oinstall DECLINE_SECURITY_UPDATES=true EOF# 3. 执行安装cd/u01/app/oracle/product/19c/dbhome_1/ ./runInstaller -silent -responseFile /u01/app/oracle/product/19c/dbhome_1/response/db_install.rsp -ignorePrereq# 4. 执行Root脚本(安装完成后提示)# 切换到Root用户执行:# /u01/app/oraInventory/orainstRoot.sh# /u01/app/oracle/product/19c/dbhome_1/root.sh# 5. 配置环境变量cat>>~/.bash_profile<<EOF export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=\$ORACLE_BASE/product/19c/dbhome_1 export ORACLE_SID=orcl export PATH=\$ORACLE_HOME/bin:\$PATHexport LD_LIBRARY_PATH=\$ORACLE_HOME/lib:\$LD_LIBRARY_PATHEOFsource~/.bash_profile-- 登录SQL*Plus(SYSDBA权限)CONNECT/ASSYSDBA;-- ==================== 1. 创建表空间(关联物理数据文件) ====================-- 创建永久表空间(用于存储业务数据),指定数据块大小、区管理方式CREATETABLESPACETS_BUSINESS DATAFILE'/u01/app/oracle/oradata/orcl/ts_business01.dbf'-- 物理数据文件路径SIZE100M-- 初始大小100MBAUTOEXTENDONNEXT50M MAXSIZE UNLIMITED-- 自动扩展,每次50MB,无上限BLOCKSIZE8K-- 数据块大小(默认8K,需与数据库块一致)EXTENT MANAGEMENTLOCALAUTOALLOCATE;-- 本地区管理(推荐),自动分配区-- 注释:-- EXTENT MANAGEMENT LOCAL:本地区管理(替代字典管理,性能更高)-- AUTOALLOCATE:Oracle自动分配区大小(适合大多数场景)-- 若为固定区大小,可替换为:UNIFORM SIZE 1M-- ==================== 2. 创建表并指定表空间(段落地) ====================CREATETABLEEMPLOYEE(EMP_ID NUMBER(6)PRIMARYKEY,EMP_NAME VARCHAR2(50)NOTNULL,SALARY NUMBER(8,2))TABLESPACETS_BUSINESS;-- 指定表存储在TS_BUSINESS表空间(段属于该表空间)-- ==================== 3. 表空间扩容 ====================-- 方式1:新增数据文件ALTERTABLESPACETS_BUSINESSADDDATAFILE'/u01/app/oracle/oradata/orcl/ts_business02.dbf'SIZE50M AUTOEXTENDONNEXT20M MAXSIZE200M;-- 方式2:扩展现有数据文件ALTERDATABASEDATAFILE'/u01/app/oracle/oradata/orcl/ts_business01.dbf'RESIZE200M;-- ==================== 4. 查询表空间信息(数据字典) ====================-- 查询所有表空间及状态SELECTTABLESPACE_NAME,STATUS,CONTENTSFROMDBA_TABLESPACESWHERETABLESPACE_NAME='TS_BUSINESS';-- 查询表空间对应的数据文件SELECTFILE_NAME,BYTES/1024/1024ASSIZE_MB,AUTOEXTENSIBLEFROMDBA_DATA_FILESWHERETABLESPACE_NAME='TS_BUSINESS';-- ==================== 5. 删除表空间(含数据文件) ====================DROPTABLESPACETS_BUSINESS INCLUDING CONTENTSANDDATAFILES;-- 同时删除内容和物理数据文件CONNECT/ASSYSDBA;-- ==================== 1. 管理数据文件 ====================-- 查看所有数据文件SELECTFILE_NAME,TABLESPACE_NAME,STATUSFROMDBA_DATA_FILES;-- 离线/在线数据文件(维护用)ALTERDATABASEDATAFILE'/u01/app/oracle/oradata/orcl/ts_business01.dbf'OFFLINE;ALTERDATABASEDATAFILE'/u01/app/oracle/oradata/orcl/ts_business01.dbf'ONLINE;-- ==================== 2. 管理控制文件 ====================-- 查看控制文件位置SHOWPARAMETER CONTROL_FILES;-- 新增控制文件(需先关闭数据库,复制物理文件,再修改参数)-- 1. 关闭数据库SHUTDOWNIMMEDIATE;-- 2. 复制控制文件到新路径(操作系统层面,oracle用户)-- cp /u01/app/oracle/oradata/orcl/control01.ctl /u01/app/oracle/oradata/orcl/control02.ctl-- 3. 修改参数文件ALTERSYSTEMSETCONTROL_FILES='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl'SCOPE=SPFILE;-- 4. 启动数据库STARTUP;-- ==================== 3. 管理重做日志文件 ====================-- 查看重做日志组及成员SELECTGROUP#, MEMBER, STATUSFROMV$LOGFILE;-- 查看重做日志状态SELECTGROUP#, STATUS, ARCHIVEDFROMV$LOG;-- 创建重做日志组ALTERDATABASEADDLOGFILEGROUP4('/u01/app/oracle/oradata/orcl/redo04.log')SIZE50M;-- 切换重做日志(手动触发日志切换)ALTERSYSTEM SWITCH LOGFILE;-- 删除重做日志组(需确保组未被使用)ALTERDATABASEDROPLOGFILEGROUP4;-- 删除物理文件(操作系统层面)-- rm /u01/app/oracle/oradata/orcl/redo04.log-- ==================== 4. 管理服务器参数文件(SPFILE) ====================-- 查看SPFILE位置SHOWPARAMETER SPFILE;-- 动态修改参数(立即生效,重启后保留)ALTERSYSTEMSETSGA_MAX_SIZE=2G SCOPE=BOTH;-- SCOPE=BOTH:内存+SPFILEALTERSYSTEMSETPGA_AGGREGATE_TARGET=512M SCOPE=SPFILE;-- 仅修改SPFILE,重启生效-- 从SPFILE创建文本参数文件(PFILE)CREATEPFILEFROMSPFILE;-- 从PFILE创建SPFILECREATESPFILEFROMPFILE='/u01/app/oracle/product/19c/dbhome_1/dbs/initorcl.ora';CONNECT/ASSYSDBA;-- ==================== 1. 查看SGA/PGA配置 ====================-- 查看SGA各组件大小SELECTCOMPONENT,CURRENT_SIZE/1024/1024ASSIZE_MBFROMV$SGA_DYNAMIC_COMPONENTS;-- 查看PGA使用情况SELECTROUND(PGA_USED_MEM/1024/1024,2)ASUSED_MB,ROUND(PGA_ALLOCATED_MEM/1024/1024,2)ASALLOCATED_MBFROMV$PGASTATWHERECATEGORY='total';-- 修改SGA大小(需重启生效)ALTERSYSTEMSETSGA_TARGET=1G SCOPE=SPFILE;-- ==================== 2. 查看后台进程 ====================-- 查看所有后台进程SELECTNAME,DESCRIPTIONFROMV$BGPROCESSWHEREPADDR!='00';-- 查看进程状态(操作系统层面,oracle用户)-- ps -ef | grep ora_ | grep -v grep-- ==================== 3. 数据字典查询(核心) ====================-- 1. 查看用户表信息SELECTTABLE_NAME,TABLESPACE_NAME,NUM_ROWSFROMDBA_TABLESWHEREOWNER='SYS'ANDTABLE_NAME='EMPLOYEE';-- 2. 查看用户权限SELECTGRANTEE,PRIVILEGE,ADMIN_OPTIONFROMDBA_SYS_PRIVSWHEREGRANTEE='SYSTEM';-- 3. 查看实例状态SELECTINSTANCE_NAME,STATUS,VERSIONFROMV$INSTANCE;-- 4. 查看数据库版本SELECT*FROMV$VERSION;-- 5. 查看警告日志位置(跟踪文件/警告文件)SELECTVALUEFROMV$DIAG_INFOWHERENAME='Diag Trace';-- 跟踪文件目录SELECTVALUEFROMV$DIAG_INFOWHERENAME='Alert Log';-- 警告日志路径整合“表空间管理+物理文件配置+内存调整+数据字典查询”,搭建一个规范的业务表存储环境,并监控服务器结构状态。
-- ==================== 阶段1:创建表空间(逻辑+物理存储) ====================CONNECT/ASSYSDBA;-- 1. 创建业务表空间(指定数据文件、自动扩展)CREATETABLESPACETS_SALES DATAFILE'/u01/app/oracle/oradata/orcl/ts_sales01.dbf'SIZE200M AUTOEXTENDONNEXT50M MAXSIZE500M EXTENT MANAGEMENTLOCALUNIFORM SIZE2M;-- 固定区大小2MB-- 2. 创建索引表空间(单独存储索引,提升性能)CREATETABLESPACETS_SALES_IDX DATAFILE'/u01/app/oracle/oradata/orcl/ts_sales_idx01.dbf'SIZE100M AUTOEXTENDONNEXT20M MAXSIZE300M;-- ==================== 阶段2:创建业务表和索引(段落地) ====================-- 1. 创建销售表,指定表空间CREATETABLESALES(SALE_ID NUMBER(10)PRIMARYKEY,PROD_NAME VARCHAR2(100)NOTNULL,SALE_DATEDATEDEFAULTSYSDATE,AMOUNT NUMBER(10,2))TABLESPACETS_SALES;-- 2. 创建索引,指定索引表空间CREATEINDEXIDX_SALES_DATEONSALES(SALE_DATE)TABLESPACETS_SALES_IDX;-- ==================== 阶段3:调整内存参数(SGA/PGA) ====================-- 1. 查看当前内存配置SHOWPARAMETER SGA_TARGET;SHOWPARAMETER PGA_AGGREGATE_TARGET;-- 2. 动态调整SGA和PGA(生产环境需根据服务器配置调整)ALTERSYSTEMSETSGA_TARGET=1536M SCOPE=BOTH;-- 1.5GALTERSYSTEMSETPGA_AGGREGATE_TARGET=768M SCOPE=BOTH;-- 768M-- ==================== 阶段4:监控存储和进程状态(数据字典) ====================-- 1. 查看表空间使用情况SELECTt.TABLESPACE_NAME,ROUND(d.TOTAL_SIZE/1024/1024,2)ASTOTAL_MB,ROUND((d.TOTAL_SIZE-f.FREE_SIZE)/1024/1024,2)ASUSED_MB,ROUND(f.FREE_SIZE/1024/1024,2)ASFREE_MB,ROUND((d.TOTAL_SIZE-f.FREE_SIZE)/d.TOTAL_SIZE*100,2)ASUSED_RATEFROM(SELECTTABLESPACE_NAME,SUM(BYTES)ASTOTAL_SIZEFROMDBA_DATA_FILESGROUPBYTABLESPACE_NAME)dJOIN(SELECTTABLESPACE_NAME,SUM(BYTES)ASFREE_SIZEFROMDBA_FREE_SPACEGROUPBYTABLESPACE_NAME)fONd.TABLESPACE_NAME=f.TABLESPACE_NAMEWHEREd.TABLESPACE_NAMEIN('TS_SALES','TS_SALES_IDX');-- 2. 查看后台进程状态SELECTNAME,PID,STATUSFROMV$PROCESS pJOINV$BGPROCESS bONp.ADDR=b.PADDRWHEREb.NAMEISNOTNULL;-- 3. 查看重做日志状态SELECTGROUP#, STATUS, BYTES/1024/1024 AS SIZE_MBFROMV$LOG;-- ==================== 阶段5:维护操作(表空间扩容+日志切换) ====================-- 1. 给销售表空间新增数据文件ALTERTABLESPACETS_SALESADDDATAFILE'/u01/app/oracle/oradata/orcl/ts_sales02.dbf'SIZE100M AUTOEXTENDONNEXT30M MAXSIZE UNLIMITED;-- 2. 手动切换重做日志ALTERSYSTEM SWITCH LOGFILE;-- 3. 查看警告日志(确认无异常)SELECTMESSAGE_TEXTFROMV$DIAG_ALERT_EXTWHEREORIGINATING_TIMESTAMP>SYSDATE-1/24-- 近1小时ANDSEVERITY>='WARNING';