oracle數據庫的基本操作語句
本文主要介紹了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/123456@XE
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