创建表
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;