初识Oracle表空间与数据文件
初识Oracle表空间与数据文件,描述oracle数据库的逻辑结构,创建表空间,改变表空间大小,为临时段分配空间,改变表空间状态,改
学习目标
1.描述Oracle数据库的逻辑结构
2.创建表空间
3.改变表空间大小
4.为临时段分配空间
5.改变表空间状态
6.改变表空间的存储设置
首先看一下oracle存储结构:
1.oracle数据库逻辑结构包含哪些东西?
1)表空间
a.一个Oracle数据库逻辑上分为更小的逻辑区域叫做表空间
b.一个表空间同时只属于一个数据库
c.每个表空间由一个或多个系统文件组成,叫做数据文件datafile
d.一个表空间可以有1个或多个段组成
e.当数据库运行时表空间可以是online状态
f.除了SYSTEM表空间或者带有活动回滚段的表空间,其他表空间可以设置为offline状态
g.表空间可以再读写(read-write)和只读(read-only)状态间切换
2)段
a.一个段是在一个表空间中为指定的逻辑存数结构分配的空间。例如,分配给一个表的所有存储就是一个段。
b.一个段只能属于一个表空间,可以跨越多个数据文件
c.一个段由一个或多个区组成
3)区
a.随着段的增长,额外的区将分配给段
b.DBA可以为段手动增加区
c.一个区是连续的oracle块集合
d.一个区只能在一个数据文件中存在
4)块
a.块作为oracle数据库最小的存储单位,数据全部存储在数据块中。
b.一个oracle数据块相当于一个或多个从已存在的数据文件中分配的操作系统块
c.一个标准数据块的大小由数据库创建时的初始化参数DB_BLOCK_SIZE指定
d.为避免不必要的I/O,数据块的大小应该是操作系统块大小的几倍
e.最大的数据块大小取决于操作系统
2.系统表空间与非系统表空间的区别?
1)系统表空间 system tablespaces:
a.随着数据库的创建而创建
b.在所有数据库中必须存在
c.系统表空间包含数据字典,存储程序单元
e.包含系统回滚段
f.最好不要包含用户数据
2)非系统表空间 non-system tablespaces:
a.分离回滚段、临时段、应用数据段和应用索引段
b.通过备份需求分离数据
c.分离动态和静态数据
e.控制用户对象空间分配的数量
f.方便数据库管理
3.如何创建表空间?
使用create tablespace语句,一下是官方示例:
CREATE TABLESPACE userdata
DATAFILE '/u01/oradata/userdata01.dbf' SIZE 100M
AUTOEXTEND ON NEXT 5M MAXSIZE 200M;
CREATE TABLESPACE tablespace
[DATAFILE clause]
[MINIMUM EXTENT integer[K|M]]
[BLOCKSIZE integer [K]]
[LOGGING|NOLOGGING]
[DEFAULT storage_clause ]
[ONLINE|OFFLINE]
[PERMANENT|TEMPORARY]
MINIMUM EXTENT 指定最小区大小,,使用K(千兆)或M(兆)
LOGGING 默认值,指定表空间中对所有表,索引和分区修改写入到redo中
NOLOGGING 与LOGGING相反
ONLINE与OFFLINE 创建完表空间后是否立即可用
PERMANENT 指定表空间可用来保留永久对象
TEMPORARY 指定表空间只能来保留临时对象
AUTOEXTEND 启用数据文件自动扩展
4.管理表空间的方式?
1)本地管理表空间
a.用位图bitmap(在每个数据文件中维护)记录空闲区
b.每个bit对应一个数据块
c.bit值指示空闲和已使用
好处:减少数据字典表的争用;空间分配和回收不发生undo;没有合并需求(减少碎片);
用法举例:
CREATE TABLESPACE userdata
DATAFILE '/u01/oradata/userdata01.dbf' SIZE 500M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K;
[ EXTENT MANAGEMENT
[ DICTIONARY | LOCAL
[ AUTOALLOCATE | UNIFORM [SIZE integer[K|M]] ] ] ]
LOCAL和DICTIONARY 就不解释了。
AUTOALLOCATE 指定表空间由系统管理,用户不能指定区大小
UNIFORM 指定表空间由同一的区大小管理。使用K或M指定大小。
2)数据字典管理表空间
a.默认管理方法
b.空闲区被记录在数据字典表中
CREATE TABLESPACE userdata
DATAFILE '/u01/oradata/userdata01.dbf' SIZE 500M
EXTENT MANAGEMENT DICTIONARY
DEFAULT STORAGE ( initial 1M NEXT 1M );
5.undo表空间
1)undo表空间只能用来存储回滚段
2)创建undo表空间只能使用DATAFILE和EXTENT MANAGEMENT语句
CREATE UNDO TABLESPACE undo1
DATAFILE '/u01/oradata/undo101.dbf' SIZE 40M;
6.temporary表空间
1)用来进行排序操作 SORT_AREA_SIZE(用来设置排序区的大小)
2)不能包含任何永久对象
3)推荐使用本地管理
CREATE TEMPORARY TABLESPACE temp
TEMPFILE '/u01/oradata/temp01.dbf' SIZE 500M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 10M;
4)本地管理临时表空间有临时数据文件tempfiles:
a.临时文件一直是NOLOGGING模式
b.不能设置临时文件为只读read-only
c.不能重命名一个临时文件
d.不能使用ALTER DATABASE命令增加临时文件
e.临时文件对于只读数据库是需要的
f.介质恢复不恢复临时文件
g.备份控制文件时不生成任何临时文件的信息
h.创建控制文件时不能指定任何关于临时文件的信息
7.默认default临时表空间
1)避免使用SYSTEM表空间存储临时数据
2)可以使用CREATE DATABASE和ALTER DATABASE语句创建
3)当使用CREATE DATABSE命令创建,默认临时表空间为本地管理
默认临时表空间的限制:
a.没有指定新的默认临时表空间之前不能删除现有默认临时表空间
b.不能更改默认临时表空间为永久类型
c.不能修改默认临时表空间为offline状态
注:SYSTEM表空间、带有活动回滚段和默认临时表空间不能设置为离线状态

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Bahasa Go ialah bahasa pengaturcaraan yang cekap, ringkas dan mudah dipelajari Ia digemari oleh pembangun kerana kelebihannya dalam pengaturcaraan serentak dan pengaturcaraan rangkaian. Dalam pembangunan sebenar, operasi pangkalan data adalah bahagian yang sangat diperlukan Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Dalam bahasa Go, kami biasanya menggunakan perpustakaan pihak ketiga untuk mengendalikan pangkalan data, seperti pakej sql yang biasa digunakan, gorm, dsb. Di sini kami mengambil pakej sql sebagai contoh untuk memperkenalkan cara melaksanakan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan pangkalan data. Andaikan kami menggunakan pangkalan data MySQL.

Keluaran terbaharu Apple bagi sistem iOS18, iPadOS18 dan macOS Sequoia telah menambah ciri penting pada aplikasi Photos, yang direka untuk membantu pengguna memulihkan foto dan video yang hilang atau rosak dengan mudah disebabkan pelbagai sebab. Ciri baharu ini memperkenalkan album yang dipanggil "Dipulihkan" dalam bahagian Alat pada apl Foto yang akan muncul secara automatik apabila pengguna mempunyai gambar atau video pada peranti mereka yang bukan sebahagian daripada pustaka foto mereka. Kemunculan album "Dipulihkan" menyediakan penyelesaian untuk foto dan video yang hilang akibat kerosakan pangkalan data, aplikasi kamera tidak disimpan ke pustaka foto dengan betul, atau aplikasi pihak ketiga yang menguruskan pustaka foto. Pengguna hanya memerlukan beberapa langkah mudah

Pemetaan polimorfik hibernate boleh memetakan kelas yang diwarisi ke pangkalan data dan menyediakan jenis pemetaan berikut: subkelas bercantum: Cipta jadual berasingan untuk subkelas, termasuk semua lajur kelas induk. table-per-class: Cipta jadual berasingan untuk subkelas, yang mengandungi hanya lajur khusus subkelas. union-subclass: serupa dengan joined-subclass, tetapi jadual kelas induk menggabungkan semua lajur subclass.

Cara menggunakan MySQLi untuk mewujudkan sambungan pangkalan data dalam PHP: Sertakan sambungan MySQLi (require_once) Cipta fungsi sambungan (functionconnect_to_db) Fungsi sambungan panggilan ($conn=connect_to_db()) Laksanakan pertanyaan ($result=$conn->query()) Tutup sambungan ( $conn->close())

HTML tidak boleh membaca pangkalan data secara langsung, tetapi ia boleh dicapai melalui JavaScript dan AJAX. Langkah-langkah termasuk mewujudkan sambungan pangkalan data, menghantar pertanyaan, memproses respons dan mengemas kini halaman. Artikel ini menyediakan contoh praktikal menggunakan JavaScript, AJAX dan PHP untuk membaca data daripada pangkalan data MySQL, menunjukkan cara untuk memaparkan hasil pertanyaan secara dinamik dalam halaman HTML. Contoh ini menggunakan XMLHttpRequest untuk mewujudkan sambungan pangkalan data, menghantar pertanyaan dan memproses respons, dengan itu mengisi data ke dalam elemen halaman dan merealisasikan fungsi HTML membaca pangkalan data.

Untuk mengendalikan ralat sambungan pangkalan data dalam PHP, anda boleh menggunakan langkah berikut: Gunakan mysqli_connect_errno() untuk mendapatkan kod ralat. Gunakan mysqli_connect_error() untuk mendapatkan mesej ralat. Dengan menangkap dan mengelog mesej ralat ini, isu sambungan pangkalan data boleh dikenal pasti dan diselesaikan dengan mudah, memastikan kelancaran aplikasi anda.

PHP ialah bahasa pengaturcaraan bahagian belakang yang digunakan secara meluas dalam pembangunan laman web Ia mempunyai fungsi operasi pangkalan data yang kuat dan sering digunakan untuk berinteraksi dengan pangkalan data seperti MySQL. Walau bagaimanapun, disebabkan kerumitan pengekodan aksara Cina, masalah sering timbul apabila berurusan dengan aksara Cina bercelaru dalam pangkalan data. Artikel ini akan memperkenalkan kemahiran dan amalan PHP dalam mengendalikan aksara bercelaru bahasa Cina dalam pangkalan data, termasuk punca biasa aksara bercelaru, penyelesaian dan contoh kod khusus. Sebab biasa aksara bercelaru ialah tetapan set aksara pangkalan data yang salah: set aksara yang betul perlu dipilih semasa mencipta pangkalan data, seperti utf8 atau u

Menggunakan fungsi panggil balik pangkalan data di Golang boleh mencapai: melaksanakan kod tersuai selepas operasi pangkalan data yang ditentukan selesai. Tambah tingkah laku tersuai melalui fungsi berasingan tanpa menulis kod tambahan. Fungsi panggil balik tersedia untuk operasi memasukkan, mengemas kini, memadam dan pertanyaan. Anda mesti menggunakan fungsi sql.Exec, sql.QueryRow atau sql.Query untuk menggunakan fungsi panggil balik.
