oracle+dba语句,oracle dba常用语句5

###### 分析日志文件 logmnr ##############

1) 在 init.ora 中 set utl_file_dir 参数

2) 重新启动 oracle

3) create 目录文件

desc dbms_logmnr_d;

dbms_logmnr_d.build;

4) 加入日志文件 add/remove log file

dhms_logmnr.add_logfile

dbms_logmnr.removefile

5) start logmnr

dbms_logmnr.start_logmnr

6) 分析出来的内容查询 v$logmnr_content --sqlredo/sqlundo

实践:

desc dbms_logmnr_d;

/* 对数据表做一些操作,为恢复操作做准备 */

update 表 set qty=10 where stor_id=6380;

delete 表 where stor_id=7066;

/***********************************/

utl_file_dir 的路径

execute dbms_logmnr_d.build('foxdict.ora','$ORACLE_HOME/oracle/admin/fox/cdump');

execute dbms_logmnr.add_logfile('$ORACLE_HOME/oracle/ora_log_file6.log',dbms_logmnr.newfile);

execute dbms_logmnr.start_logmnr(dictfilename=>'$ORACLE_HOME/oracle/admin/fox/cdump/foxdict.ora');

######### tablespace ##############

select * form v$tablespace;

select * from v$datafile;

/* 表空间和数据文件的对应关系 */

select t1.name,t2.name from v$tablespace t1,v$datafile t2 where t1.ts#=t2.ts#;

alter tablespace users add datafile 'path' size 10M;

select * from dba_rollback_segs;

/* 限制用户在某表空间的使用限额 */

alter user user_name quota 10m on tablespace_name;

create tablespace xxx [datafile 'path_name/datafile_name'] [size xxx] [extent management local/dictionary] [default storage(xxx)];

exmple: create tablespace userdata datafile '$ORACLE_HOME/oradata/userdata01.dbf' size 100M AUTOEXTEND ON NEXT 5M MAXSIZE 200M;

create tablespace userdata datafile '$ORACLE_HOME/oradata/userdata01.dbf' size 100M extent management dictionary default storage(initial 100k next 100k pctincrease 10) offline;

/*9i 以后, oracle 建议使用 local 管理,而不使用 dictionary 管理,因为 local 采用 bitmap 管理表空间 ,不会产生系统表空间的自愿争用 ;*/

create tablespace userdata datafile '$ORACLE_HOME/oradata/userdata01.dbf' size 100M extent management local uniform size 1m;

create tablespace userdata datafile '$ORACLE_HOME/oradata/userdata01.dbf' size 100M extent management local autoallocate;

/* 在创建表空间时,设置表空间内的段空间管理模式,这里用的是自动管理 */

create tablespace userdata datafile '$ORACLE_HOME/oradata/userdata01.dbf' size 100M extent management local uniform size 1m segment space management auto;

alter tablespace userdata mininum extent 10;

alter tablespace userdata default storage(initial 1m next 1m pctincrease 20);

/*undo tablespace( 不能被用在字典管理模下 ) */

create undo tablespace undo1 datafile '$ORACLE_HOME/oradata/undo101.dbf' size 40M extent management local;

show parameter undo;

/*temporary tablespace*/

create temporary tablespace userdata tempfile '$ORACLE_HOME/oradata/undo101.dbf' size 10m extent management local;

/* 设置数据库缺省的临时表空间 */

alter database default temporary tablespace tablespace_name;

/* 系统 / 临时 / 在线的 undo 表空间不能被 offline*/

alter tablespace tablespace_name offline/online;

alter tablespace tablespace_name read only;

/* 重命名用户表空间 */

alter tablespace tablespace_name rename datafile '$ORACLE_HOME/oradata/undo101.dbf' to '$ORACLE_HOME/oradata/undo102.dbf';

/* 重命名系统表空间 , 但在重命名前必须将数据库 shutdown, 并重启到 mount 状态 */

alter database rename file '$ORACLE_HOME/oradata/system01.dbf' to '$ORACLE_HOME/oradata/system02.dbf';

drop tablespace userdata including contents and datafiles;---drop tablespce

/*resize tablespace,autoextend datafile space*/

alter database datafile '$ORACLE_HOME/oradata/undo102.dbf' autoextend on next 10m maxsize 500M;

/*resize datafile*/

alter database datafile '$ORACLE_HOME/oradata/undo102.dbf' resize 50m;

/* 给表空间扩展空间 */

alter tablespace userdata add datafile '$ORACLE_HOME/oradata/undo102.dbf' size 10m;

/* 将表空间设置成 OMF 状态 */

alter system set db_create_file_dest='$ORACLE_HOME/oradata';

create tablespace userdata;---use OMF status to create tablespace;

drop tablespace userdata;---user OMF status to drop tablespace;

select * from dba_tablespace/v$tablespace/dba_data_files;

/* 将表的某分区移动到另一个表空间 */

alter table table_name move partition partition_name tablespace tablespace_name;

###### ORACLE storage structure and relationships #########

/* 手工分配表空间段的分区 (extend) 大小 */

alter table kong.test12 allocate extent(size 1m datafile '$ORACLE_HOME/oradata/undo102.dbf');

alter table kong.test12 deallocate unused; --- 释放表中没有用到的分区

show parameter db;

alter system set db_8k_cache_size=10m; --- 配置 8k 块的内存空间块参数

select * from dba_extents/dba_segments/data_tablespace;

select * from dba_free_space/dba_data_file/data_tablespace;

/* 数据对象所占用的字节数 */

select sum(bytes) from dba_extents where onwer='kong' and segment_name ='table_name';

############ UNDO Data ################

show parameter undo;

alter tablespace users offline normal;

alter tablespace users offline immediate;

recover datafile '$ORACLE_HOME/oradata/undo102.dbf';

alter tablespace users online ;

select * from dba_rollback_segs;

alter system set undo_tablespace=undotbs1;

/* 忽略回滚段的错误提示 */

alter system set undo_suppress_errors=true;

/* 在自动管理模式下 , 不会真正建立 rbs1; 在手工管理模式则可以建立 , 且是私有回滚段 */

create rollback segment rbs1 tablespace undotbs;

desc dbms_flashback;

/* 在提交了修改的数据后 ,9i 提供了旧数据的回闪操作 , 将修改前的数据只读给用户看 , 但这部分数据不会又恢复在表中 , 而是旧数据的一个映射 */

execute dbms_flashback.enable_at_time('26-JAN- 04:12:17:00 pm ');

execute dbms_flashback.disable;

/* 回滚段的统计信息 */

select end_time,begin_time,undoblks from v$undostat;

/*undo 表空间的大小计算公式 : UndoSpace=[ UR * (UPS * DBS)] + (DBS * 24)

UR :UNDO_RETENTION 保留的时间 ( 秒 )

UPS : 每秒的回滚数据块

DBS: 系统 EXTENT 和 FILE SIZE( 也就是 db_block_size)*/

select * from dba_rollback_segs/v$rollname/v$rollstat/v$undostat/v$session/v$transaction;

show parameter transactions;

show parameter rollback;

/* 在手工管理模式下 , 建立公共的回滚段 */

create public rollback segment prbs1 tablespace undotbs;

alter rollback segment rbs1 online;---- 在手工管理模式

/* 在手工管理模式中 ,initSID.ora 中指定 undo_management=manual 、 rollback_segment=('rbs1','rbs2',...) 、

transactions=100 、 transactions_per_rollback_segment=10

然后 shutdown immediate ,startup pfile=..../???.ora */

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
changefilter.sql oracle的连接数查看和连接用户的查看.sql Sun30新建oracle用户.sql user_job.sql xaview.sql 修改分区索引.SQL 修改数据库核心字符集.txt 僵死进程查询.sql 创建ORACLE表空间.sql 回滚段等待.SQL 在数据库中建JOB.sql 外连接.SQL 外部例程.SQL 建6节点回滚段.SQL 建回滚段.SQL 建立一个与现存数据库相同但不含数据的空库.sql 扩展超过100M查询.sql 整理表空间碎片.sql 新建表.sql 显示数据文件信息.sql 查插入表的性能.sql 查看session正在执行什么SQL.sql 查看session正在等待何种系统资源.sql 查看哪些session正在使用哪些回滚段.sql 查看某个进程正在执行什么SQL语句.sql 查看用户表所占空间的大小.sql 查看系统SGA区状态.sql 查看系统中使用了哪些设备文件.sql 查看系统中每个表空间的使用情况.sql 查看系统中每个表空间的大小.sql 查看系统联接数.sql 查看系统锁.sql 查看表空间使用情况.sql 查看进程占用回滚段的情况.sql 查看那些数据库对象被修改过.sql 用oupput的ora过程.sql 用户命令查询.sql 用户进程查询.sql 监控数据库性能的SQL.sql 看user_job.sql 索引表清除sql生成.sql 索引表空间使用情况查询.sql 索引表空间整理.sql 统计.sql 获取数据库版本信息.sql 表空间使用情况.txt 表空间使用查询.sql 表空间剩余空间查看.sql 表空间回收.sql 过滤表清除sql生成.sql 进程使用回滚段查询.sql 锁表查询.sql

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值