oracle 自动化脚本,分享一些非常有用的oracle脚本

这篇博客详细介绍了Oracle数据库的管理操作,包括默认用户名密码、系统管理员角色、表空间的创建、删除以及调整。内容涵盖用户创建、权限分配、数据文件管理以及查看表空间使用情况的SQL查询。此外,还提供了解锁表、恢复误删数据的方法和监控表空间自动扩展的查询。
摘要由CSDN通过智能技术生成

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 复制管理员

创建数据表空间

createtablespace zfmi

logging

datafile'D:\oracle\oradata\zfmi\zfmi.dbf'size 100m

autoextendon

next32m maxsize 2048m

extent management local;

创建临时表空间

create temporarytablespace zfmi_temp

tempfile'D:\oracle\oradata\zfmi\zfmi_temp.dbf'size 32m

autoextendon

next32m 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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值