創建表
createtablea
(姓名varchar2(10),
狀態int,
更新時間date,
內容varchar2(20));
insertintoavalues('張三',1,to_date('2015-01-02','yyyy-mm-dd'),'測試數據1');
insertintoavalues('李四',1,to_date('2015-01-02','yyyy-mm-dd'),'測試數據2');
insertintoavalues('王五',1,to_date('2015-01-03','yyyy-mm-dd'),'測試數據3');
insertintoavalues('測試',0,to_date('2015-01-03','yyyy-mm-dd'),'測試數據4');
insertintoavalues('臨時',0,to_date('2015-01-03','yyyy-mm-dd'),'測試數據5');
insertintoavalues('管理員',1,to_date('2015-01-04','yyyy-mm-dd'),'測試數據6');
insertintoavalues('錄入員',1,to_date('2015-01-04','yyyy-mm-dd'),'測試數據7');
insertintoavalues('審核',1,to_date('2015-01-06','yyyy-mm-dd'),'測試數據8');
insertintoavalues('發布',0,to_date('2015-01-06','yyyy-mm-dd'),'測試數據9');
createtableb
(姓名varchar2(10),
性別varchar2(2),
工號varchar2(4),
備注varchar2(10));
insertintobvalues('張三','男','0001',null);
insertintobvalues('李四','男','0002',null);
insertintobvalues('王五','男','0003',null);
insertintobvalues('測試','男','0004',null);
insertintobvalues('臨時','男','0005',null);
insertintobvalues('管理員','男','0006',null);
insertintobvalues('錄入員','女','0007',null);
insertintobvalues('審核','女','0008',null);
insertintobvalues('發布','女','0009',null);
insertintobvalues('數據製作','女','0010',null);
insertintobvalues('美工','女','0011',null);
查詢:
selectb.姓名,
b.性別,
b.工號,
casewhena.狀態=1then1elsenullend狀態,
casewhena.狀態=1thena.更新時間elsenullend更新時間,
casewhena.狀態=1thena.內容elsenullend內容
froma,bwherea.姓名(+)=b.姓名;
查詢結果:
B. 幾個簡單常用的oracle許可權查詢腳本
你好:下面語句中有你需要的這個許可權:select any table(如果針對單個用戶的表話,這個沒有,只能一個表一個表的授權)
創建用戶並授權
上接第一步。
在SQL>後面輸入創建用戶的語句:
create user vpetl identified by vpetl
default tablespace TBS_ETL_DATA;
回車,出現「User created.」表示用戶創建成功。
在SQL>後面輸入給用戶授權的語句:
grant connect,resource,alter system,debug connect session,select any table,delete any table,drop any table,alter any table to vpetl;
回車,出現「Grant succeeded.」表示給用戶授權成功。
在SQL>後面輸入給用戶授權的語句:
grant execute on DBMS_LOCK to vpetl;
回車,出現「Grant succeeded.」表示給用戶授權成功。
在SQL>後面輸入給用戶授權的語句:
grant select on v_$session to vpetl;
回車,出現「Grant succeeded.」表示給用戶授權成功。
在SQL>後面輸入給用戶授權的語句:
grant select on v_$ACCESS to vpetl;
回車,出現「Grant succeeded.」表示給用戶授權成功。
在SQL>後面輸入給用戶授權的語句:
grant alter system to vpetl;
回車,出現「Grant succeeded.」表示給用戶授權成功。
在SQL>後面輸入給用戶授權的語句:
grant insert any table,update any table to vpetl;
回車,出現「Grant succeeded.」表示給用戶授權成功。
C. 怎麼寫一個腳本檢查oracle資料庫表空間,如果利用率超過80%,就執行一條加表空間的SQL
您好
SELECT UPPER(F.TABLESPACE_NAME) "表空間名",
D.TOT_GROOTTE_MB "表空間大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空間(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') || '%' "使用比",
F.TOTAL_BYTES "空閑空間(M)",
F.MAX_BYTES "最大塊(M)"
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 1;