Oracle 常用脚本
程序员文章站
2022-05-03 22:49:08
ORACLE 默认用户名密码 创建数据表空间 创建临时表空间 删除用户以及用户所有的对象 删除表空间 查看表空间使用情况 查看表空间是否具有自动扩展的能力 给表空间增加数据文件 新增数据文件,并且允许数据文件自动增长 允许已存在的数据文件自动增长 手工改变已存在数据文件的大小 查询误删数据 Orac ......
oracle 默认用户名密码
sys/change_on_install sysdba 或 sysoper 不能以 normal 登录,可作为默认的系统管理员 system/manager sysdba 或 normal 不能以 sysoper 登录,可作为默认的系统管理员 sysman/oem_temp sysman 为 oms 的用户名 scott/tiger normal 普通用户 aqadm /aqadm sysdba 或 normal 高级队列管理员 dbsnmp/dbsnmp sysdba 或 normal 复制管理员
创建数据表空间
create tablespace zfmi logging datafile 'd:\oracle\oradata\zfmi\zfmi.dbf' size 100m autoextend on next 32m maxsize 2048m extent management local;
创建临时表空间
create temporary tablespace zfmi_temp tempfile 'd:\oracle\oradata\zfmi\zfmi_temp.dbf' size 32m autoextend on next 32m maxsize 2048m extent management local;
删除用户以及用户所有的对象
drop user zfmi cascade;
cascade参数是级联删除该用户所有对象,经常遇到如用户有对象而未加此参数则用户删不了的问题,所以习惯性的加此参数
删除表空间
前提:删除表空间之前要确认该表空间没有被其他用户使用之后再做删除
drop tablespace zfmi including contents and datafiles cascade onstraints;
including contents 删除表空间中的内容,如果删除表空间之前表空间中有内容,而未加此参数,表空间删不掉,所以习惯性的加此参数
including datafiles 删除表空间中的数据文件
cascade constraints 同时删除tablespace中表的外键参照
查看表空间使用情况
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 4 desc;
查看表空间是否具有自动扩展的能力
select t.tablespace_name,
d.file_name,
d.autoextensible,
d.bytes,
d.maxbytes,
d.status
from dba_tablespaces t, dba_data_files d
where t.tablespace_name = d.tablespace_name
order by tablespace_name, file_name;
给表空间增加数据文件
alter tablespace app_data add datafile
'd:\oracle\product\10.2.0\oradata\edwtest\app03.dbf' size 50m;
新增数据文件,并且允许数据文件自动增长
alter tablespace app_data add datafile
'd:\oracle\product\10.2.0\oradata\edwtest\app04.dbf' size 50m
autoextend on next 5m maxsize 100m;
允许已存在的数据文件自动增长
alter database datafile 'd:\oracle\product\10.2.0\oradata\edwtest\app03.dbf'
autoextend on next 5m maxsize 100m;
手工改变已存在数据文件的大小
alter database datafile 'd:\oracle\product\10.2.0\oradata\edwtest\app02.dbf'
resize 100m;
查询误删数据
create table rs_eregion_cust_equ_r_01 as
select * from rs_eregion_cust_equ_r as of timestamp to_timestamp('2013-09-26 09:40:00','yyyy-mm-dd hh24:mi:ss');
oracle表解锁
--查询被锁的表
select sn.username, m.sid,sn.serial#, m.type,
decode (m.lmode,
0, 'none',
1, 'null',
2, 'row share',
3, 'row excl.',
4, 'share',
5, 's/row excl.',
6, 'exclusive',
lmode, ltrim (to_char (lmode, '990'))
) lmode,
decode (m.request,
0, 'none',
1, 'null',
2, 'row share',
3, 'row excl.',
4, 'share',
5, 's/row excl.',
6, 'exclusive',
request, ltrim (to_char (m.request, '990'))
) request,
m.id1, m.id2
from v$session sn, v$lock m
where (sn.sid = m.sid and m.request != 0) --存在锁请求,即被阻塞
or ( sn.sid = m.sid --不存在锁请求,但是锁定的对象被其他会话请求锁定
and m.request = 0
and lmode != 4
and (id1, id2) in (
select s.id1, s.id2
from v$lock s
where request != 0 and s.id1 = m.id1
and s.id2 = m.id2)
)
order by id1, id2, m.request;
--执行解锁
alter system kill session 'sid,serial#';
创建用户指定表空间
create user zfmi identified by zfmi
default tablespace zfmi temporary tablespace zfmi_temp;
用户授权
grant dba,connect,resource to zfmi;
上一篇: 创意好评,就是不知道抗揍不