Oracle 常用脚本

  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.2.0\oradata\edwtest\app03.dbf' size 50m; 

  新增数据文件,并且允许数据文件自动增长

alter tablespace app_data add datafile  
'd:\oracle\product.2.0\oradata\edwtest\app04.dbf' size 50m  
autoextend on next 5m maxsize 100m;  

  允许已存在的数据文件自动增长

alter database datafile 'd:\oracle\product.2.0\oradata\edwtest\app03.dbf'    
autoextend on next 5m maxsize 100m;

  手工改变已存在数据文件的大小

alter database datafile 'd:\oracle\product.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; 

 

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐