您好,登錄后才能下訂單哦!
Oracle中有哪些常用的SQL語句,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
查找數據庫中所有字段 以對應的表
select C.column_name,C.TABLE_NAME from dba_tab_columns C where owner=''
查每個科目class 分數scro前三名
select id, name, class, scro
from (select row_number() over(partition by class order by scro desc) cnt,
id,
name,
class,
scro
from student) a
where a.cnt <= 3;
查找排序后的前三行
select *
from (select rw.*, rownum
from (select *
from student d
where d.class = 'b'
order by d.scro desc) rw
where rw.id >= 1
order by rw.class desc) n
where rownum <= 3
表復制
insert into table_a (id,name,age) select b.id,b.name,b.age from table_b;
--刪除表數據的觸發器
CREATE OR REPLACE PROCEDURE delete_data
IS
BEGIN
delete from test ;
COMMIT;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
NULL;
WHEN OTHERS
THEN
RAISE;
END delete_data;
--定時刪除 每隔5分鐘執行一次的計劃
DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
( job => X
,what => 'delete_data;'
,next_date => to_date('25/08/2008 00:00:00','dd/mm/yyyy hh34:mi:ss')
,interval => 'sysdate+1/24/12'
,no_parse => FALSE
);
SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
COMMIT;
END;
--查看當前oracle計劃
select job,next_date,next_sec,failures,broken from user_jobs;
--刪除一個job
begin
dbms_job.remove(46);--46為job號
end;
--給新表插入舊表對應字段的所有數據
insert into aaa(id,name) select b.id,b.name from bbb;
文章搜索: 【點擊打包該文章】
【到本站論壇,與同行交流】
select * from all_users; ##查看所有用戶
select name from v$database; ##查看當前數據庫
database test; ##進入test數據庫
select * from v$instance; ##查看所有的數據庫實例
shutdown immediate ##關閉數據庫
alter user sys identified by new_password; ##更改用戶密碼
select username,password from dba_users; ##查看當實例中的用戶和密碼
show parameter control_files; ## 查看控制文件;
select member from v$logfile; ##查看日志文件
show parameter ; ## 查看數據庫參數
select * from user_role_privs; ##查看當前用戶的角色
select username,default_tablespace from user_users; ##查看當前用戶的缺省表空間
alter user system identified by [password] ##修改用戶的密碼
ALTER USER "SCOTT" ACCOUNT UNLOCK ##解鎖SCOTT用戶
show parameter processes; ##查看最大會話數
查看當前庫的所有數據表:
SQL> select TABLE_NAME from all_tables;
select * from all_tables;
SQL> select table_name from all_tables where table_name like ‘u’;
TABLE_NAME———————————————default_auditing_options
查看表結構:desc all_tables;
創建用戶并賦予權限
###----------------------------創建用戶并賦予權限------------------------------------####-
create user mpss
identified by "mpss12"
default tablespace TS_MPSS_DATA
temporary tablespace TEMP;
給用戶賦予權限
grant connect to mpss;
grant resource,create session to mpss; 開發角色
grant create procedure to dbuser; #這些權限足夠用于開發及生產環境
給用戶授權
grant dba to spms;--授予DBA權限
grant unlimited tablespace to lxg;--授予不限制的表空間
grant select any table to lxg;--授予查詢任何表
grant select any dictionary to lxg;--授予 查詢 任何字典
刪除用戶
drop user mpss cascade;
建表空間
###---------------------------------建表空間------------------------------------####-
================建立表空間============================
CREATE TABLESPACE "TS_MPSS_DATA"
LOGGING
DATAFILE '/mpss/data/ts_mpss_data.dbf' SIZE 1024M
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
=====================================================
=================建立臨時表空間============================
CREATE
TEMPORARY TABLESPACE "SWVIP" TEMPFILE '/app/oracle/oradata/
sworacle/SWVIP.dbf' SIZE 5M EXTENT MANAGEMENT LOCAL UNIFORM
SIZE 1M
=====================================================
create tablespace TS_MPSS_DATA datafile '/mpss/data/ts_mpss_data.bdf ' size 1024m autoextend on ; ###autoextend on 自動擴展
###------------------------------------------------------------------------------------####-
查看表空間
###----------------------------查看表空間大小------------------------------------####-
SELECT D.TABLESPACE_NAME "Name",
TO_CHAR(((((A.BYTES - DECODE(F.BYTES, NULL, 0, F.BYTES)) / 1024 / 1024)) /(A.BYTES / 1024 / 1024))*100,'99,990.9') "used(%)",
TO_CHAR((DECODE(F.BYTES, NULL, 0, F.BYTES) / 1024 / 1024),'999,990.9') "Free (M)"
FROM SYS.DBA_TABLESPACES D, SYS.SM$TS_AVAIL A, SYS.SM$TS_FREE F
WHERE D.TABLESPACE_NAME = A.TABLESPACE_NAME
AND F.TABLESPACE_NAME (+) = D.TABLESPACE_NAME;
###--------------------------------------------------------------------------------------####-
SELECT D.TABLESPACE_NAME,SPACE "SUM_SPACE(M)",BLOCKS SUM_BLOCKS,SPACE-NVL(FREE_SPACE,0) "USED_SPACE(M)",
ROUND((1-NVL(FREE_SPACE,0)/SPACE)*100,2) "USED_RATE(%)",FREE_SPACE "FREE_SPACE(M)"
FROM
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) SPACE,SUM(BLOCKS) BLOCKS
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) D,
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) FREE_SPACE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
UNION ALL --if have tempfile
SELECT D.TABLESPACE_NAME,SPACE "SUM_SPACE(M)",BLOCKS SUM_BLOCKS,
USED_SPACE "USED_SPACE(M)",ROUND(NVL(USED_SPACE,0)/SPACE*100,2) "USED_RATE(%)",
NVL(FREE_SPACE,0) "FREE_SPACE(M)"
FROM
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) SPACE,SUM(BLOCKS) BLOCKS
FROM DBA_TEMP_FILES
GROUP BY TABLESPACE_NAME) D,
(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES_USED)/(1024*1024),2) USED_SPACE,
ROUND(SUM(BYTES_FREE)/(1024*1024),2) FREE_SPACE
FROM V$TEMP_SPACE_HEADER
GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+) ;
查看表空間物理文件的名稱及大小;
###--------------------表空間物理文件的名稱及大小------------------------####-
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;
###------------------------------------------------------------------------------------####-
查看數據文件放置的路徑
###------------------------------------------------------------------------------------####-
SQL> col file_name format a50
SQL> select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id;
###------------------------------------------------------------------------------------####-
查看數據庫庫對象
select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;
用系統管理員,查看當前數據庫有幾個用戶連接:
SQL> select username,sid,serial# from v$session;
擴表空間
###------------------------------------------------------------------------------------####-
alter tablespace G000 add datafile '/dev/vgbilling/rg000_lv03' SIZE 7500m;
給表G000增加一個7500m的邏輯卷'/dev/vgbilling/rg000_lv03'
###------------------------------------------------------------------------------------####-
檢查被長時間鎖的對象
###------------------------------------------------------------------------------------####-
SQL>select a.session_id,a.process,a.locked_mode,b.object_name,b.object_type,b.status from v$locked_object a,dba_objects b where a.object_id=b.object_id;
###------------------------------------------------------------------------------------####-
文章出處:http://www.diybl.com/course/7_databases/oracle/Oracleshl/200899/141376.html
sys用戶登陸
創建表空間:
SQL> create tablespace lmsstemp datafile 'F:\ORADATA\LMSS\LMSSTEMP01.DBF' SIZE 1
024M extent management local;
給表空間增加數據文件
alter tablespace lmsstemp add datafile 'F:\ORADATA\LMSS\LMSSTEMP02.DBF' SIZE 1
024M;
更改表空間為自動擴展
SQL> alter database datafile 'F:\ORADATA\LMSS\LMSSTEMP01.DBF' autoextend on;
查看表空間信息
SQL> select file_name,tablespace_name,autoextensible from dba_data_files;
授權:
create any table to leon
-- Create the user (用sys執行)
create user xx identified by xx123 default tablespace lmss temporary tablespace TEMP profile DEFAULT;
-- Grant/Revoke role privileges (用sys執行)
grant connect to xx;
--創建視圖給hy用戶(用leon用戶)
create or replace view view_tableName as
select column。。。 from table;
-- Grant/Revoke object privileges
grant select, update on RES_XIM_CARD to hy;
--創建同義詞
create synonym RES_XIM_CARD for YY.RES_XIM_CARD ;
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。