更多精彩内容请光临www.leonarding.com《Oracle数据结构知多少(一)》一概念篇这里呢我只是把Oracle逻辑结构和物理结构所涉及到的segment段extent区block块的概
更多精彩内容请光临
《Oracle 数据结构知多少(一)》
一 概念篇
这里呢我只是把Oracle逻辑结构和物理结构所涉及到的segment段 extent区 block块的概念和相互管理简要的说明一下。
Segment段:Oracle内部常叫“段对象”,凡是分配存储空间的对象就叫段对象。既可以自动段空间管理ASSM,又可以手动段空间管理MSSM。段属性依赖于块属性。
Extent区:多个区组成一个段,区是Oracle最小的分配单元,区与区不一定是连续的,区可以分布在不同的数据文件上。
Block块:一片连续的块组成一个区,是Oracle最小的IO单元,最小的操作单元,RMAN备份/恢复最小单元,数据库块是操作系统块的整数倍。
数据I/O:由磁盘与内存之间的通道决定的,而不是由数据怎么分割决定的。分割只是善于管理,I/O方面影响不大。(例如 放在一个表空间和放在多个表空间)
一方面I/O通道导致性能下降
一方面latch争用导致性能下降
二 数据库版本
LEO1@LEO1> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
三 实验篇
1.查看一个表空间,有多少个extents,多少blocks,多少空余空间。
查看表空间空间使用情况,我想这是100%DBA每天都要做的工作,现在我把自己常用的表空间查询语句测试一下。
LEO1@LEO1> select df.tablespace_name "表空间名",totalspace "总空间M",freespace "剩余空间M",round((1-freespace/totalspace)*100,2) "使用率%"
from
(select tablespace_name,round(sum(bytes)/1024/1024) totalspace from dba_data_files group by tablespace_name) df,
(select tablespace_name,round(sum(bytes)/1024/1024) freespace from dba_free_space group by tablespace_name) fs
where df.tablespace_name=fs.tablespace_name order by df.tablespace_name ;
表空间名 总空间M 剩余空间M 使用率%
--------------------------------------------------------------------------------------------------------------------
LEO1 400 248 38 业务表空间
SYSAUX 610 38 93.77
SYSTEM 710 18 97.46
UNDOTBS1 165 134 18.79
UNDOTBS2 100 0 100
USERS 5 4 20
查看一个表空间,有多少个extents,多少blocks呢?
LEO1@LEO1> select tablespace_name,file_id,extent_id,block_id,blocks from dba_extents where tablespace_name='LEO1' order by extent_id;
TABLESPACE_NAME FILE_ID EXTENT_ID BLOCK_ID BLOCKS
------------------------------ ---------- ---------- ---------- ----------
LEO1 5 22 39040 128
LEO1 5 22 40192 128
LEO1 5 22 41344 128
LEO1 5 22 42752 128
LEO1 5 22 8576 128

MySQLviewshavelimitations:1)Theydon'tsupportallSQLoperations,restrictingdatamanipulationthroughviewswithjoinsorsubqueries.2)Theycanimpactperformance,especiallywithcomplexqueriesorlargedatasets.3)Viewsdon'tstoredata,potentiallyleadingtooutdatedinforma

ProperusermanagementinMySQLiscrucialforenhancingsecurityandensuringefficientdatabaseoperation.1)UseCREATEUSERtoaddusers,specifyingconnectionsourcewith@'localhost'or@'%'.2)GrantspecificprivilegeswithGRANT,usingleastprivilegeprincipletominimizerisks.3)

MySQLdoesn'timposeahardlimitontriggers,butpracticalfactorsdeterminetheireffectiveuse:1)Serverconfigurationimpactstriggermanagement;2)Complextriggersincreasesystemload;3)Largertablesslowtriggerperformance;4)Highconcurrencycancausetriggercontention;5)M

Yes,it'ssafetostoreBLOBdatainMySQL,butconsiderthesefactors:1)StorageSpace:BLOBscanconsumesignificantspace,potentiallyincreasingcostsandslowingperformance.2)Performance:LargerrowsizesduetoBLOBsmayslowdownqueries.3)BackupandRecovery:Theseprocessescanbe

Adding MySQL users through the PHP web interface can use MySQLi extensions. The steps are as follows: 1. Connect to the MySQL database and use the MySQLi extension. 2. Create a user, use the CREATEUSER statement, and use the PASSWORD() function to encrypt the password. 3. Prevent SQL injection and use the mysqli_real_escape_string() function to process user input. 4. Assign permissions to new users and use the GRANT statement.

MySQL'sBLOBissuitableforstoringbinarydatawithinarelationaldatabase,whileNoSQLoptionslikeMongoDB,Redis,andCassandraofferflexible,scalablesolutionsforunstructureddata.BLOBissimplerbutcanslowdownperformancewithlargedata;NoSQLprovidesbetterscalabilityand

ToaddauserinMySQL,use:CREATEUSER'username'@'host'IDENTIFIEDBY'password';Here'showtodoitsecurely:1)Choosethehostcarefullytocontrolaccess.2)SetresourcelimitswithoptionslikeMAX_QUERIES_PER_HOUR.3)Usestrong,uniquepasswords.4)EnforceSSL/TLSconnectionswith

ToavoidcommonmistakeswithstringdatatypesinMySQL,understandstringtypenuances,choosetherighttype,andmanageencodingandcollationsettingseffectively.1)UseCHARforfixed-lengthstrings,VARCHARforvariable-length,andTEXT/BLOBforlargerdata.2)Setcorrectcharacters


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Zend Studio 13.0.1
Powerful PHP integrated development environment

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft
