oracle

1、重启数据库
sqlplus /nolog
conn sys / as sysdba
shutdown immediate;
startup;

2、添加定时任务
-- 声明job变量
variable job1 number;
--?1/1440/60/1000 是1ms执行一次,1/1440 是一分钟统计一次,这里单位为天
begin dbms_job.submit(:job1, '待执行sql语句;',sysdate,'sysdate+1/1440'); end;
/
-- 执行job
begin
dbms_job.run(:job1);
end;
/
-- 删除job,变量方式
variable job1 number;
begin
dbms_job.remove(:job1);
end;
/
-- 查询当前有效地job
select job,what,next_date,next_sec,failures,broken from user_jobs;
-- 删除job,非变量绑定方式
begin dbms_job.remove(39); end;

3、表空间查询
查询当前数据表空间占用
select t.name name,
t.total total,
t.total - u.free used,
u.free free,
round((t.total - u.free) / t.total, 4) * 100 || '%' use_percent
from (
-- 表空间数据文件的大小
select tablespace_name name,
round(sum(user_bytes) / (1024 * 1024), 1) total
from dba_data_files
group by tablespace_name) t,
(
-- 表空间剩余的大小
select tablespace_name name,
round(sum(bytes) / (1024 * 1024), 1) free
from dba_free_space
group by tablespace_name) u
where t.name = u.name(+);

查询当前每张表(索引)数据表空间占用
select us.segment_name,round(sum(us.bytes) / 1024 / 1024,2) space
from user_segments us
-- 不包含条件则查询所有,条件改为us.segment_type = 'INDEX'查询索引
where us.segment_type = 'TABLE'
group by us.segment_name
order by space desc;

4、清理回滚段表空间
创建一个新的回滚段(如果不行,则先将tablespace=''设置为空,删除掉旧的回滚段)
create undo tablespace undotbs1 datafile '/opt/oracle/app/oradata/undotbs1.dbf' size 10m reuse autoextend on;

切换undo表空间
alter system set undo_tablespace=undotbs1 scope=both;

删除旧的表空间
drop tablespace undotbs2 including contents and datafiles;

5、导出建表语句
登陆oracle环境,进入sqlplus,执行如下命令
set pagesize 0
set long 90000
set feedback off

set echo off
spool ./schema.sql
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name) FROM USER_TABLES u;
spool off;
导出结果为当前Schema下所有的建表语句。导出文件为schema.sql(可以自行设置文件路径,最好是绝对路径)

导出索引或者存储过程的语句分别为
SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name) FROM USER_INDEXES u;
select DBMS_METADATA.GET_DDL('PROCEDURE',u.object_name) from user_objects u where object_type = 'PROCEDURE';

注:dbms_metadata.get_ddl('TABLE','TAB1','USER1')
三个参数中,第一个指定导出DDL定义的对象类型(此例中为表类型),第二个是对象名(此例中即表名),第三个是对象所在的用户名。这里默认为当前登录用户名。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值