您好,登錄后才能下訂單哦!
這篇文章主要介紹“oracle數據庫的結構及基本操作”,在日常操作中,相信很多人在oracle數據庫的結構及基本操作問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”oracle數據庫的結構及基本操作”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
ORACLE數據庫系統是美國ORACLE公司(甲骨文)提供的以分布式數據庫為核心的一組軟件產品,是目前最流行的客戶/服務器(CLIENT/SERVER)或B/S體系結構的數據庫之一。
如圖所示:
SGA---為數據庫提供服務
PGA---為用戶提供服務
整個系統主要分為兩大部分:
(一)實例-管理端
內存結構---SGA:共享池 數據緩沖區 日志緩沖區
后臺進程---維持與數據庫交互
(二)數據庫
數據文件 控制文件 日志文件
完整的數據管理功能
完備關系的產品
分布式處理功能
用ORACLE能輕松的實現數據倉庫的操作
邏輯結構由邏輯存儲結構(表空間,段,范圍,塊)和邏輯數據結構(表、視圖、序列、存儲過程、同義詞、索引、簇和數據庫鏈等)組成,而其中的模式對象(邏輯數據結構)和關系形成了數據庫的關系設計。
段(Segment):是表空間中一個指定類型的邏輯存儲結構,它由一個或多個范圍組成,段將占用并增長存儲空間。
范圍(Extent):是數據庫存儲空間分配的邏輯單位,一個范圍由許多連續的數據塊組成,范圍是由段依次分配的。
數據塊(Block):是數據庫進行IO操作的最小單位,oracle數據庫是以多個Oracle數據庫塊為單位。
表空間
system:系統表空間,存放關于表空間名稱、控制文件、數據文件等管理信息,它屬于sys、system模式。不能刪除或重命名
sysaux:輔助系統表空間,用于減少系統表空間負荷,提高效率
temp:臨時表空間,存放臨時表和臨時數據,用于排序
users:用戶表空間,存放永久性用戶對象及私有信息,也成數據庫表空間。每個數據庫都應有一個用戶表空間,創建用戶時分配給用戶
undo:重做表空間,用來幫助回退未提交的事務數據
數據庫的物理存儲結構是由一些多種物理文件組成,主要有:
控制文件:存儲實例、數據文件及日志文件等信息的二進制文件。
數據文件:存儲數據,以.dbf做后綴。一句話:一個表空間對多個數據文件,一個數據文件只對一個表空間。
重做日志文件:用于進行數據庫的實例恢復。
日志文件:記錄數據庫修改信息。
參數文件:記錄基本參數。
口令文件:允許sysdba、sysoper和sysasm遠程連接到實例并執行管理任務。
歸檔日志文件:使用這些文件好數據庫備份,可以恢復丟失數據文件。
警告文件:show parameter background_dump_dest---使用共享服務器連接
跟蹤文件:show parameter user_dump_dest---使用專用服務器連接
//進入數據庫
su - oracle sqlplus / as sysdba #以最高管理員sysdba登錄 SQL> help index #查看命令列表 SQL> show user #查看當前用戶
//開啟、關閉數據庫(三階段)
SQL>startup #開啟:實例--數據庫裝載--數據庫打開 SQL>shutdown immediate #關閉:數據庫關閉--卸載數據庫--實例
//啟用、關閉監聽
lnsrctl start
lnsrctl stop
dbca
#創建數據庫(如果不彈窗口執行: export DISPLAY=:0.0)
執行成功會跳出創建數據庫頁面,按以下步驟操作
接下來等安裝進度完成即可!
//創建表空間
SQL>create tablespace tbs_work
datafile ‘/orc/app/oracle/oradata/aaa01.dbf’
size 10M autoextend on; #支持自動擴展
//調整表空間大小
方法一:修改空間大小
SQL>alter database datafile
'/orc/app/oracle/oradata/aaa01.dbf'
resize 80M;
方法二:添加數據文件
SQL>alter tablespace tbs_work
add datafile
'/orc/app/oracle/oradata/aaa02.dbf'
size 40M autoextend on;
//表空間權限
alter tablespace tbs_work read only;
alter tablespace tbs_work write read;
//刪除表空間
drop tablespaces tbs_work including contents;
//查詢當前所在容器
SQL> startup
SQL> show con_name
//查詢數據庫所有容器
SQL> show pdbs;
//CDB切換到PDB
SQL> alter pluggable database orclpdb open; #修改可插拔庫orclpdb打開狀態 SQL> alter session set container=orclpdb; #CDB下切換會話到PDB中
//PDB切換到CDB
SQL> shutdown immediate #在PBD中關閉插拔數據庫 SQL> startup #在PBD中開啟插拔數據庫 SQL> alter session set container=cdb$root; #切換會話到CDB
//創建表空間
SQL>create tablespace school 2 datafile '/orc/app/oracle/oradata/school01.dbf' 3 size 100M;
//創建用戶(創建好未賦予權限,所以不能登錄)
SQL> create user c##jack 2 identified by 123123 3 default tablespace school #默認表空間 4 temporary tablespace temp #定義臨時表空間 5 quota unlimited on school #不設定配額 6 password expire; #設定密碼,下次登錄修改
//更改用戶密碼
SQL> alter user c##jack identified by abc123;
//刪除用戶
SQL> drop user c##jack cascade;
//用戶授權
SQL> grant connect, resource to c##jerry; #授予連接和管理數據庫權限
SQL> revoke connect, resource from c##jerry;
//用戶登錄
sqlplus -----c##jerry(用戶名)----123123(密碼)----新密碼---登陸成功
//用戶切換
coon sys/abc123 as sysdba #切換到sysdba
conn---c##jerry---123123 #切換到c##jerry
create table info
2 (
3 id number(4) constraint PK_id primary key, #constraint PK_id:約束-約束名稱
4 name varchar2(10),
5 score number(5,2),
6 born date,
7 address varchar2(50)
8 );
//查看表結構
desc info;
//插入數據
insert into info values(1,'zhangsan',88,to_date('2018-10-9','yyyy-mm-dd'),'nanjing');
//查看表格
select * from info;
事務:在不違反約束的條件下,sql語句要么執行成功,要么都不執行。
//事務提交
insert into info values(2,'lisi',88,null,null); #插入數據
commit; #提交
//事務回滾
insert into info values(3,'wangwu',77,null,null); #插入數據
rollback; #回滾
//設置自動提交
set autocommit on; #自動提交,回滾無效
set autocommit off; #關閉自動提交
到此,關于“oracle數據庫的結構及基本操作”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。