本文主要介紹了oracle資料庫基本的管理資料庫的語句及其概念
1.如何查詢一個角色包括的權限?
a.一個角色包含的系統權限
select * from dba_sys_privs where grantee='CONNECT'
或select * from role_sys_privs where role='CONNECT'
b.一個角色包含的對象權限
select * from dba_tab_privs where grantee='CONNECT'
或select * from role_tab_privs where role='CONNECT'
2.oracle究竟有多少種角色?
select * from dba_roles
3.如何檢視某個使用者具有什麼樣的角色?
select * from dba_role_privs where grantee='SYS'
4.如何顯示目前使用者可以通路的所有資料字典視圖?
select * from dict where comments like '%grant%'
5.如何顯示目前資料庫的全稱?
select * from global_name
6.知道表空間名,顯示該表空間包括的所有表
select * from all_tables where tablespace_name='表空間名'
7.知道表名,顯示該表所屬的表空間
select tablespace_name,table_name from user_tables where table_name='表名'
8.檢視oracle的SGA,PGA,排序區,大型池,JAVA池的大小
show parameter sga_max_size;
show parameter pga_aggregate_target;
show parameter sort_area_size;
show parameter large_pool_size;
9.oracl存儲結構: 執行個體結構:
1.實體存儲結構(資料檔案*.dbf,控制檔案*.ctl,重做日志檔案*.log) 1.記憶體結構
2.邏輯存儲結構 2.程序結構
10.資料檔案*.dbf
儲存表中的記錄和索引等所有的資料,
檢視資料檔案資訊select file_name from dba_data_files;
11.控制檔案*.ctl
二進制檔案,很小,存放資料檔案和日志檔案的資訊
檢視控制檔案資訊select name from V$controlfile
12.重做日志檔案*.log
記錄資料庫修改資訊的檔案
13.表空間
表空間是oracle中最大的邏輯存儲結構,它與實體上的一個活多個資料檔案相對應,每個oracle資料庫
至少擁有一個表空間,表空間的大小等于該表空間的所有資料檔案大小的總和,表空間用于存儲使用者在
資料庫中建立的所有内容,使用者在建立表時,可以指定一個表空間存儲該表,若沒有指定表空間,則oracle
系統将會将使用者建立的内容存儲到預設的表空間中
14.系統預設建立的表空間
1.system 用于存儲系統的資料字典,系統的管理資訊和使用者資料表等
2.sysaux 輔助系統表空間,用于減少系統表空間的負荷,提高系統作業效率
3.temp 臨時表空間
4.undotbsl 撤銷表空間
5.users 使用者表空間,用于存儲永久性使用者對象和私有資訊
檢視系統的表空間select tablespace_name from dba_tablespaces;
15.資料字典
儲存資料庫對象和段的資訊,如表,視圖,索引,包,存儲過程以及使用者,權限,角色,審計和限制等相關資訊
資料字典視圖類型:
1.user視圖:記錄使用者對象的資訊,如user_tables
2.all視圖:記錄使用者對象的資訊以及被授權通路的對象資訊,如all_synonyms
3.dba視圖:記錄資料庫執行個體的所有對象的資訊,如dba_tables
4.V$視圖:記錄與資料庫活動相關的性能統計動态資訊,如v$datafile
5.GV$視圖:記錄分布式環境下所有執行個體的動态資訊,如gv$lock視圖
基本的資料字典;
dba_tables:所有使用者的所有表的資訊
dab_tab_columns:所有使用者的表的字段的資訊
dba_views:所有使用者的所有視圖資訊
dba_synonyms:所有使用者的同義詞資訊
dba_sequences:所有使用者的序列資訊
dba_constraints:所有使用者的表的限制資訊
dba_indexes:所有使用者的表的索引簡要資訊
dba_ind_columns:所有使用者的索引的字段資訊
16.檢視預設連接配接的資料庫
select name from v$database;
17.連接配接資料庫的3種方式
1.通過sqlplus連接配接資料庫
2.通過cmd連接配接資料庫,如sqlplus system/[email protected]
3.通過登入後切換登入使用者的方式,如 connect sys/123456 as sysdba;
如何檢視目前登入的使用者是誰?select user from dual;
18.sql*plus指令
1.help,檢視指令的使用方法,如help desc
2.host 從sql*plus環境切換到作業系統環境,以便執行作業系統的指令
3.clear screen清屏
4.show [all|user|sga|errors|release|parameter]檢視sql*Plus的所有系統變量資訊,目前是那個使用者在
在使用SQL*Plus,顯示SGA的大小,顯示錯誤資訊,顯示資料庫版本号,系統初始化參數資訊
5.describe檢視表,視圖,存儲過程,函數和包等對象的結構
6.A[PPEND] text 将text附加到目前行之後
7.CL[EAR] BUFF[ER]清除緩沖區中的所有行
8.C[HANGE] /old/new 将目前行中的old替換為new
9.I[NPUT text 插入指定的文本text
10.DEL m n 删除從第m行到n行之間的指令行
11.L[IST] n 列出第n行
12.R[UN]或/ 顯示緩沖區中的語句,并運作這些語句
13.n 将第n行當做目前行
14.n text 使用text文本替換第n行資訊
15.0 text在第一行之前插入text文本
16.save SAV[E] [FILE]file_name [CRE[ATE]|REP[LACE]|APP[END]]将緩沖區的内容儲存起來
如:save E:\query.sql
17.GET [FILE] file_name [LIST|NOLIST]擷取save指令儲存的指令
18.START讀取檔案内容到緩沖區中并運作 如:START E:\query.sql或者用@代替START @E:\query.sql
19.ED[IT] [file_name]打開記事本編輯緩沖區檔案
20.SPO[OL] [file_name [CRE[ATE]|REP[LACE]|APP[END]]|OFF|OUT]将SQL*PLUS中的輸出結果
複制到另一個指定的檔案中,如SPOOL D:\query.sql append
19.臨時變量
20.已定義變量
DEF[INE]顯示所有的已定義變量
DEF[INE] variable=value
ACC[EPT] variable 使用者輸入變量 如:ACCEPT test NUMBER FORMAT 9999 PROMPT '你好,輸入一個值' HIDE
21.COLUMN
22.PAGESIZE SET PAGESIZE 20;
23.LINESIZE SET LINESIZE 120;
24.建立簡單報表
TTI[TLE]設定頁眉
BTI[TLE]設定頁腳
25.BREAK和COMPUTE指令
26.建立表空間
如:create tablespace myspace datafle 'D:\app\myspace.dbf' size
10M autoextend on next 5M maxsize 100M;
27.表空間的狀态屬性
1.線上online alter tablespace tablespace_name online;
2.離線offline alter tablespace tablespace_name offline parameter(normal|temporary|immediate|for recover);
3.隻讀read only alter tablespace tablespace_name read only
4.讀寫read write alter tablespace tablespace_name read write
28.修改表空間的大小
1.修改表空間資料檔案的大小 ALTER DATABASE DATAFILE file_name(完整路徑) RESIZE newsize K|M
2.增加表空間的資料檔案 ALTER TABLESPACE tablespace_name ADD DATAFILE file_name SIZE number K|M
3.修改表空間中資料檔案的自動擴充性 ALTER DATABASE DATAFILE file_name AUTOEXTEND ON
29.表空間資料檔案的狀态
1.ONLINE
2.OFFLINE
3.OFFLINE DROP
30.移動表空間中的資料檔案
1.ALTER TABLESPACE tablespace_name OFFLINE
2.移動資料檔案到另一個磁盤
3.RENAME DATAFILE '資料檔案路徑1’ TO '資料檔案路徑2'
4.ALTER TABLESPACE tablespace_name ONLINE
31.重命名表空間
在表空間為ONLINE的情況下,ALTER TABLESPACE tablespace_name RENAME TO new_tablespace_name
32.删除表空間
DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES
33.建立臨時表空間
CREATE TEMPORARY TABLESPACE mytemp TEMPFILE 'D:\mytemp.dbf' SIZE 5M AUTOEXTEND ON NEXT 5M MAXSIZE 20M
34.修改臨時表空間
35.臨時表空間組
檢視臨時表空間組資訊
36.大檔案表空間
CREATE BIGFILE TABLESPACE tablespace_name DATAFILE '路徑' SIZE 10M