oracle数据库使用的一些技巧(5)

2019-05-24 14:12

alter tablespace xxxx offline(如果非归档加drop); 2:用os命令移动数据文件mv or move

3:alter tablespace xxxx rename datafile 'xxxx' to 'xxxxx'; 4:alter tablespace xxxx online;

[Q]如果管理联机日志组与成员

[A]以下是常见操作,如果在OPA/RAC下注意线程号 增加一个日志文件组

Alter database add logfile [group n] '文件全名' size 10M; 在这个组上增加一个成员

Alter database add logfile member '文件全名' to group n; 在这个组上删除一个日志成员

Alter database drop logfile member '文件全名'; 删除整个日志组

Alter database drop logfile group n;

[Q]怎么样计算REDO BLOCK的大小

[A]计算方法为(redo size + redo wastage) / redo blocks written + 16 具体见如下例子

SQL> select name ,value from v$sysstat where name like '%redo%'; NAME VALUE

---------------------------------------------------------------- ---------- redo synch writes 2 redo synch time 0 redo entries 76 redo size 19412

redo buffer allocation retries 0 redo wastage 5884

redo writer latching time 0 redo writes 22

redo blocks written 51 redo write time 0

redo log space requests 0 redo log space wait time 0 redo log switch interrupts 0 redo ordering marks 0

SQL> select (19412+5884)/51 + 16 '\Redo black(byte) ------------------ 512

[Q]控制文件包含哪些基本内容

[A]控制文件主要包含如下条目,可以通过dump控制文件内容看到

DATABASE ENTRY

CHECKPOINT PROGRESS RECORDS REDO THREAD RECORDS LOG FILE RECORDS DATA FILE RECORDS TEMP FILE RECORDS TABLESPACE RECORDS LOG FILE HISTORY RECORDS OFFLINE RANGE RECORDS ARCHIVED LOG RECORDS BACKUP SET RECORDS BACKUP PIECE RECORDS BACKUP DATAFILE RECORDS BACKUP LOG RECORDS DATAFILE COPY RECORDS

BACKUP DATAFILE CORRUPTION RECORDS DATAFILE COPY CORRUPTION RECORDS DELETION RECORDS PROXY COPY RECORDS INCARNATION RECORDS

[Q]如果发现表中有坏块,如何检索其它未坏的数据

[A]首先需要找到坏块的ID(可以运行dbverify实现),假设为,假定文件编码为。运行下面的查询查找段名:

SELECT segment_name,segment_type,extent_id,block_id, blocks from dba_extents t where

file_id =

AND between block_id and (block_id + blocks - 1)

一旦找到坏段名称,若段是一个表,则最好建立一个临时表,存放好的数据。若段是索引,则删除它,再重建。

create table good_table as

select from bad_table where rowid not in (select rowid

from bad_table where substr(rowid,10,6) = ) 在这里要注意8以前的受限ROWID与现在ROWID的差别。 还可以使用诊断事件10231

SQL> ALTER SYSTEM SET EVENTS '10231 trace name context forever,level 10'; 创建一个临时表good_table的表中除坏块的数据都检索出来 SQL>CREATE TABLE good_table as select * from bad_table; 最后关闭诊断事件

SQL> ALTER SYSTEM SET EVENTS '10231 trace name context off '; 关于ROWID的结构,还可以参考dbms_rowid.rowid_create函数。

[Q]怎么知道那些表没有建立主键

[A]一般的情况下,表的主键是必要的,没有主键的表可以说是不符合设计规范的。 SELECT table_name FROM User_tables t WHERE NOT EXISTS (SELECT table_name FROM User_constraints c WHERE constraint_type = 'P' AND t.table_name=c.table_name) 其它相关数据字典解释 user_tables 表

user_tab_columns 表的列 user_constraints 约束

user_cons_columns 约束与列的关系 user_indexes 索引

user_ind_columns 索引与列的关系

[Q]我创建了数据库的所有用户,我可以删除这些用户吗

[A]ORACLE数据库创建的时候,创建了一系列默认的用户和表空间,以下是他们的列表 ·SYS/CHANGE_ON_INSTALL or INTERNAL

系统用户,数据字典所有者,超级权限所有者(SYSDBA) 创建脚本:?/rdbms/admin/sql.bsq and various cat*.sql 建议创建后立即修改密码 此用户不能被删除 ·SYSTEM/MANAGER

数据库默认管理用户,拥有DBA角色权限 创建脚本:?/rdbms/admin/sql.bsq 建议创建后立即修改密码 此用户不能被删除 ·OUTLN/OUTLN

优化计划的存储大纲用户

创建脚本:?/rdbms/admin/sql.bsq 建议创建后立即修改密码 此用户不能被删除

---------------------------------------------------

·SCOTT/TIGER, ADAMS/WOOD, JONES/STEEL, CLARK/CLOTH and BLAKE/PAPER. 实验、测试用户,含有例表EMP与DEPT 创建脚本:?/rdbms/admin/utlsampl.sql 可以修改密码

用户可以被删除,在产品环境建议删除或锁定

·HR/HR (Human Resources), OE/OE (Order Entry), SH/SH (Sales History). 实验、测试用户,含有例表EMPLOYEES与DEPARTMENTS 创建脚本:?/demo/schema/mksample.sql

可以修改密码

用户可以被删除,在产品环境建议删除或锁定 ·DBSNMP/DBSNMP

Oracle Intelligent agent

创建脚本:?/rdbms/admin/catsnmp.sql, called from catalog.sql 可以改变密码--需要放置新密码到snmp_rw.ora文件 如果不需要Intelligent Agents,可以删除

--------------------------------------------------- 以下用户都是可选安装用户,如果不需要,就不需要安装 ·CTXSYS/CTXSYS

Oracle interMedia (ConText Cartridge)管理用户 创建脚本:?/ctx/admin/dr0csys.sql ·TRACESVR/TRACE Oracle Trace server

创建脚本:?/rdbms/admin/otrcsvr.sql ·ORDPLUGINS/ORDPLUGINS

Object Relational Data (ORD) User used by Time Series, etc. 创建脚本:?/ord/admin/ordinst.sql ·ORDSYS/ORDSYS

Object Relational Data (ORD) User used by Time Series, etc 创建脚本:?/ord/admin/ordinst.sql ·DSSYS/DSSYS

Oracle Dynamic Services and Syndication Server 创建脚本:?/ds/sql/dssys_init.sql ·MDSYS/MDSYS

Oracle Spatial administrator user 创建脚本:?/ord/admin/ordinst.sql ·AURORA$ORB$UNAUTHENTICATED/INVALID

Used for users who do not authenticate in Aurora/ORB

创建脚本:?/javavm/install/init_orb.sql called from ?/javavm/install/initjvm.sql ·PERFSTAT/PERFSTAT

Oracle Statistics Package (STATSPACK) that supersedes UTLBSTAT/UTLESTAT 创建脚本:?/rdbms/admin/statscre.sql 第三部分、备份与恢复 menu

[Q]如何开启/关闭归档 [Q]怎样设置定时归档 [Q]不同版本怎么导出/导入 [Q]不同的字符集之前怎么导数据 [Q]怎么样备份控制文件 [Q]控制文件损坏如何恢复 [Q]怎么样热备份一个表空间

[Q]怎么快速得到整个数据库的热备脚本

[Q]丢失一个数据文件,但是没有备份,怎么样打开数据库

[Q]丢失一个数据文件,没有备份但是有该数据文件创建以来的归档怎么恢复 [Q]联机日志损坏如何恢复

[Q]怎么样在恢复的时候移动数据文件,恢复到别的地点 操作系统重装,如何恢复数据库?

[Q]执行exec dbms_logmnr_d.build('Logminer.ora','file directory'),提示下标超界,怎么办

[Q]执行execute dbms_logmnr.start_logmnr(DictFileName=>'DictFileName')提示ORA-01843:无效的月份,这个是什么原因 [Q]怎么样创建RMAN恢复目录

[Q]Rman的format格式中的%s类似的东西代表什么意义 第三部分、备份与恢复

[Q]如何开启/关闭归档

[A]如果开启归档,请保证log_archive_start=true开启自动归档,否则只能手工归档,如果是关闭了归档,则设置该参数为false

注意:如果是OPS/RAC环境,需要先把parallel_server = true注释掉,然后执行如下步骤,最后用这个参数重新启动 1、开启归档

a. 关闭数据库shutdown immediate b. startup mount

c. alter database archivelog d. alter database opne 2、禁止归档

a. 关闭数据库shutdown immediate b. startup mount

c. alter database noarchivelog d. alter database open 归档信息可以通过如下语句查看 SQL> archive log list

Database log mode Archive Mode Automatic archival Enabled

Archive destination E:\\oracle\\ora92\\database\\archive Oldest online log sequence 131 Next log sequence to archive 133 Current log sequence 133

[Q]怎样设置定时归档

[A]9i以上版本,保证归档的最小间隔不超过n秒 设置Archive_lag_target = n 单位:秒 范围:0~7200

[Q]不同版本怎么导出/导入


oracle数据库使用的一些技巧(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:胺 值 测 量

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: