===========================================================
Windows域运行Oracle的一大弊端
===========================================================
1. 测试环境:
小机类型:HP RX8640(IA)
操作系统版本:Windows 2003 Server EE
数据库版本:Oracle 9.2.0.8
数据库名称:IATEST
操作系统控制:Windows域
域名称:domain
主机名称:prodoradb.domain.cn
2. 主机配置 - sqlnet.ora文件:
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
SQLNET.AUTHENTICATION_SERVICES= (NTS)
3. 主机配置 - 用户组
ORA_DBA组:
Administrator (本机管理员)
domain/doadmin (域控管理员用户)
domain/dba01 (Oracle的DBA用户)
4. 数据库配置
SQL> select name from v$database;
NAME
---------
IATEST
SQL> show parameter remote
NAME TYPE VALUE
------------------------------------ ----------- ---------
remote_archive_enable string true
remote_dependencies_mode string TIMESTAMP
remote_listener string
remote_login_passwordfile string EXCLUSIVE
remote_os_authent boolean FALSE
remote_os_roles boolean FALSE
查看全文
aluocp
发表于:2008.10.31 15:05
::分类:
(
Oracle原创日志
)
::阅读:(67次)
::
评论
(0)
::
引用 (0)
===========================================================
利用dbms_backup_restore恢复数据库
===========================================================
1. 模拟做一个数据库的RMAN全备
(RMAN备份的日志很重要,特别是数据文件号和名称的对应关系)
C:/Documents and Settings/alex hou>rman target /
恢复管理器: Release 10.2.0.1.0 - Production on 星期二 9月 23 14:07:47 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: ALEX (DBID=1941212992)
RMAN> backup full format 'd:/oracle/oradata/full_%U.bak' database;
启动 backup 于 23-9月 -08
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=138 devtype=DISK
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=D:/ORACLE/ORADATA/ALEX/SYSTEM01.DBF
输入数据文件 fno=00003 name=D:/ORACLE/ORADATA/ALEX/SYSAUX01.DBF
输入数据文件 fno=00002 name=D:/ORACLE/ORADATA/ALEX/UNDOTBS01.DBF
输入数据文件 fno=00004 name=D:/ORACLE/ORADATA/ALEX/USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 23-9月 -08
通道 ORA_DISK_1: 已完成段 1 于 23-9月 -08
段句柄=D:/ORACLE/ORADATA/FULL_01JRAKVT_1_1.BAK 标记=TAG20080923T140901 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:45
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 23-9月 -08
通道 ORA_DISK_1: 已完成段 1 于 23-9月 -08
段句柄=D:/ORACLE/ORADATA/FULL_02JRAL1B_1_1.BAK 标记=TAG20080923T140901 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
完成 backup 于 23-9月 -08
2. 关闭数据库,并删除所有数据文件和控制文件
查看全文
aluocp
发表于:2008.09.23 14:46
::分类:
(
Oracle原创日志
)
::阅读:(59次)
::
评论
(0)
::
引用 (0)
===========================================================
Oracle在各类操作上LOCK_SGA的设置
===========================================================
AIX 5L(AIX 4.3.3以上)
1. aix参数v_pinshm=1,默认是0,表示aix将支持pin住内存,设置方法为
#vmo -p -o v_pinshm=1
2. aix参数maxpin%=内存百分比,默认80%,表示支持的最大的可pin住内存的比例,设置方法为
#vmo -p -o maxpin%=90
3. oracle参数LOCK_SGA=true,表示oracle将使用这部分被pin住的内存,其实就是告诉oracle使用另外一种内存调用方法。
HP UNIX
1. root用户,创建权限配置文件/etc/privgroup
# touch /etc/privgroup
# vi /etc/privgroup
添加"dba MLOCK"到该文件
2. root用户,执行命令
# /etc/setprivgrp -f /etc/privgroup
3. oracle用户,修改Oracle参数lock_sga=true
SOLARIS (solaris2.6以上)
8i版本以上数据库默认使用隐藏参数 use_ism = true,自动锁定SGA于内存中,不用设置lock_sga。
如果设置 lock_sga =true 使用非 root 用户启动数据库将返回错误。
WINDOWS
不能设置lock_sga=true,可以通过设置pre_page_sga=true,使得数据库启动的时候就把所有内存页装载,这样可能起到一定的作用。
aluocp
发表于:2008.09.22 15:35
::分类:
(
Oracle原创日志
)
::阅读:(137次)
::
评论
(0)
::
引用 (0)
===========================================================
使用Logmnr恢复误删的数据
===========================================================
1. 确认测试表T1当前的记录数
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
会话已更改。
SQL> select count(*) from t1;
COUNT(*)
----------
22
2. 测试delete操作,并记录前后时间戳
(实战中,为了尽可能准确定位数据,也需要尽可能准确的获取时间戳)
SQL> select sysdate from dual;
SYSDATE
-------------------
2008-09-22 11:32:25
SQL> delete from t1 where rownum<11;
已删除10行。
SQL> commit;
提交完成。
SQL> select count(*) from t1;
COUNT(*)
----------
12
SQL> select sysdate from dual;
SYSDATE
-------------------
2008-09-22 11:32:45
查看全文
aluocp
发表于:2008.09.22 12:01
::分类:
(
Oracle原创日志
)
::阅读:(131次)
::
评论
(0)
::
引用 (0)
===========================================================
创建测试物理Standby日志
===========================================================
操作系统: Windows
Oracle版本:10.2.0.1
主库SID: ALEX (192.168.217.1)
从库SID: MYDG (192.168.217.201)
一、创建过程:
1、在主库执行force logging
SQL> alter database force logging;
2、设置主库的参数文件和从库的参数文件:
主库确认以下参数:
--主库必要
db_name='alex'
DB_UNIQUE_NAME='alex'
SERVICE_NAMES='alex'
INSTANCE_NAME='alex'
control_files='D:/oracle/oradata/alex/control01.ctl','D:/oracle/oradata/alex/control02.ctl','D:/oracle/oradata/alex/control03.ctl'
LOG_ARCHIVE_CONFIG='DG_CONFIG=(alex,mydg)'
LOG_ARCHIVE_DEST_1='LOCATION=D:/oracle/oradata/alex/archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=alex'
LOG_ARCHIVE_DEST_2='SERVICE=MYDG LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=mydg'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT='%t_%s_%r.arc'
LOG_ARCHIVE_MAX_PROCESSES=30
--主库备库可互换
FAL_CLIENT='alex'
FAL_SERVER='mydg'
STANDBY_FILE_MANAGEMENT='AUTO'
STANDBY_ARCHIVE_DEST='D:/oracle/oradata/alex/standbyarchive'
--主备库不同路径选要
--DB_FILE_NAME_CONVERT='D:/oracle/oradata/mydg','D:/oracle/oradata/alex'
--LOG_FILE_NAME_CONVERT='D:/oracle/oradata/mydg/archive','D:/oracle/oradata/alex/archive'
查看全文
aluocp
发表于:2008.09.18 15:42
::分类:
(
Oracle原创日志
)
::阅读:(88次)
::
评论
(0)
::
引用 (0)
===========================================================
关于Listener Log的信息的深度挖掘
===========================================================
1. 创建一个目录,以创建外部表,目录指向Listener_Log的目录
create directory LISTENER_LOG_DIR
as 'D:/oracle/ora92/network/log'
/
2. 创建一个完全读取Listener Log的外部表
create table full_listener_log
(
line varchar2(4000)
)
organization external (
type oracle_loader
default directory LISTENER_LOG_DIR
access parameters (
records delimited by newline
nobadfile
nologfile
nodiscardfile
)
location ('listener.log')
)
reject limit unlimited
/
查看全文
aluocp
发表于:2008.09.18 15:34
::分类:
(
Oracle原创日志
)
::阅读:(145次)
::
评论
(1)
::
引用 (0)
===========================================================
ORA-08104的错误应对
===========================================================
1. Error产生的操作,以下操作异常中断:
SQL> alter index PCO_PK rebuild online;
2. 再次执行,返回ORA-08104错误信息:
SQL> alter index PCO_PK rebuild online;
ORA-08104: this index object 42808 is being online built or rebuilt
3. 查看对象状态
SQL> select obj#,flags from sys.ind$ where obj#=42808;
OBJ# FLAGS
---------- ----------
42808 514
查看全文
aluocp
发表于:2008.05.16 17:35
::分类:
(
Oracle原创日志
)
::阅读:(127次)
::
评论
(0)
::
引用 (0)
===========================================================
在Oracle 10g下单机Physical Standby
===========================================================
操作系统: Windows
Oracle版本:10.2.0.1
主库SID: ALEX
从库SID: ALUOCP
一、创建过程:
1、在主库执行force logging
SQL> alter database force logging;
2、设置主库的参数文件和从库的参数文件:
主库确认以下参数:
db_name='alex'
DB_UNIQUE_NAME='alex'
control_files='D:/oracle/oradata/alex/control01.ctl','D:/oracle/oradata/alex/control02.ctl','D:/oracle/oradata/alex/control03.ctl'
FAL_CLIENT='alex'
FAL_SERVER='aluocp'
LOG_ARCHIVE_CONFIG='DG_CONFIG=(alex,aluocp)'
LOG_ARCHIVE_DEST_1='LOCATION=D:/oracle/oradata/alex/archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=alex'
LOG_ARCHIVE_DEST_2='SERVICE=aluocp LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=aluocp'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT='log%t_%s_%r.arc'
LOG_ARCHIVE_MAX_PROCESSES=5
STANDBY_ARCHIVE_DEST='D:/oracle/oradata/alex/standbyarchive'
STANDBY_FILE_MANAGEMENT='AUTO'
DB_FILE_NAME_CONVERT='D:/oracle/oradata/aluocp','D:/oracle/oradata/alex'
LOG_FILE_NAME_CONVERT='D:/oracle/oradata/aluocp/archive','D:/oracle/oradata/alex/archive'
查看全文
aluocp
发表于:2008.03.18 20:04
::分类:
(
Oracle原创日志
)
::阅读:(283次)
::
评论
(2)
::
引用 (0)
===========================================================
使用BBED
===========================================================
1. 创建测试表空间
SQL> CREATE TABLESPACE test DATAFILE
2 'Y:/TEST01.DBF' SIZE 10M AUTOEXTEND OFF
3 LOGGING
4 ONLINE
5 PERMANENT
6 EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M
7 BLOCKSIZE 8K
8 SEGMENT SPACE MANAGEMENT AUTO;
Tablespace created
查看全文
aluocp
发表于:2008.01.29 17:29
::分类:
(
Oracle原创日志
)
::阅读:(127次)
::
评论
(0)
::
引用 (0)
===========================================================
自动生成Statspack的脚本
===========================================================
以下为Oracle数据库,自动生成Statspack的脚本。
可以设置在每天的23点许,一次性生成当天的数据库Statspack Report,时间范围为9:00~18:00的工作时间,抓取周期为1小时一次。
以下为sql的脚本,shell部分可以根据具体OS环境确定,笔者环境为Windows 2003 Server。
查看全文
aluocp
发表于:2008.01.24 16:40
::分类:
(
Oracle原创日志
)
::阅读:(213次)
::
评论
(0)
::
引用 (0)
===========================================================
VPD策略实现行级安全性
===========================================================
1. 创建VPD策略用户VPD,测试用户ALEX
SQL> create user vpd
2 identified by vpd
3 default tablespace users
4 temporary tablespace temp
5 /
User created.
SQL> create user alex
2 identified by alex
3 default tablespace users
4 temporary tablespace temp
5 /
User created.
查看全文
aluocp
发表于:2007.08.30 16:34
::分类:
(
Oracle原创日志
)
::阅读:(97次)
::
评论
(0)
::
引用 (0)
===========================================================
控制文件丢失的RMAN恢复
===========================================================
1. 做一次RMAN的数据库全备
C:>rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on 星期一 8月 27 13:58:37 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: ALEX (DBID=1906837469)
RMAN> run{
2> allocate channel c1 type disk;
3> backup full tag 'FullBackup' format 'd:ora_bakALEX_%U.dbf' database include current controlfile;
4> sql 'alter system archive log current';
5> release channel c1;
6> }
查看全文
aluocp
发表于:2007.08.27 15:06
::分类:
(
Oracle原创日志
)
::阅读:(137次)
::
评论
(0)
::
引用 (0)
===========================================================
数据文件坏块的制造和恢复
===========================================================
1. 创建测试用的BLOCK表空间
SQL> create tablespace block
2 datafile 'D:ORACLEPRODUCT10.2.0ORADATAALEXBLOCK.DBF'
3 size 1M;
Tablespace created.
2. 创建测试用户
SQL> create user alex
2 identified by alex
3 default tablespace block
4 temporary tablespace temp;
User created.
SQL> alter user alex quota unlimited on block;
User altered.
SQL> grant connect,resource,dba to alex;
Grant succeeded.
查看全文
aluocp
发表于:2007.08.21 14:28
::分类:
(
Oracle原创日志
)
::阅读:(288次)
::
评论
(0)
::
引用 (0)
===========================================================
ORA-3136的应对
===========================================================
1. 在alert.log中发现:
Thu Aug 9 21:21:17 2007
WARNING: inbound connection timed out (ORA-3136)
2. 同时在sqlnet.ora中发现:
Fatal NI connect error 12170.
VERSION INFORMATION:
TNS for HPUX: Version 10.2.0.3.0 - Production
Oracle Bequeath NT Protocol Adapter for HPUX: Version 10.2.0.3.0 - Production
TCP/IP NT Protocol Adapter for HPUX: Version 10.2.0.3.0 - Production
Time: 09-AUG-2007 21:21:17
Tracing not turned on.
Tns error struct:
ns main err code: 12535
TNS-12535: TNS:operation timed out
ns secondary err code: 12606
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0
Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.×××.×××)(PORT=×××××))
查看全文
aluocp
发表于:2007.08.10 10:54
::分类:
(
Oracle原创日志
)
::阅读:(248次)
::
评论
(0)
::
引用 (0)
===========================================================
Oracle10g RAC环境VoteDisk的添加、删除、备份
===========================================================
1. 查看当前用户
$ whoami
oracle
2. 查看当前VD
$ crsctl query css votedisk
0. 0 /dev/vg02/rora_vote
located 1 votedisk(s).
3. 查看CRS的状态
$ crsctl check crs
CSS appears healthy
CRS appears healthy
EVM appears healthy
查看全文
aluocp
发表于:2007.08.01 13:19
::分类:
(
Oracle原创日志
)
::阅读:(370次)
::
评论
(0)
::
引用 (0)
===========================================================
Oracle10g RAC环境OCR的添加、删除、备份
===========================================================
1. 确认使用root用户操作
# whoami
root
2. 初始化raw分区
# dd if=/dev/zero of=/dev/vg01/rora_vote bs=8192 count=12800
3. 对OCR逻辑备份
# ocrconfig -export /orabackup/rora_ocr_2
查看全文
aluocp
发表于:2007.08.01 13:10
::分类:
(
Oracle原创日志
)
::阅读:(660次)
::
评论
(1)
::
引用 (0)
===========================================================
DBA对ORACLE数据库定期监控参考
===========================================================
DBA应按如下方式对ORACLE数据库系统做定期监控
一、 DBA工作概要:
1. 每天对ORACLE数据库的运行状态,日志文件,备份情况,数据库的空间使用情况,系统资源的使用情况进行检查,发现并解决问题。
2. 每周对数据库对象的空间扩展情况,数据的增长情况进行监控,对数据库做健康检查,对数据库对象的状态做检查。
3. 每月对表和索引等进行Analyze,检查表空间碎片,寻找数据库性能调整的机会,进行数据库性能调整,提出下一步空间管理计划。对ORACLE数据库状态进行一次全面检查。
查看全文
aluocp
发表于:2007.07.31 14:22
::分类:
(
Oracle原创日志
)
::阅读:(161次)
::
评论
(0)
::
引用 (0)
===========================================================
Oralcle 10g数据库做shrink space操作建立了大量redo日志
===========================================================
前天对Oracle 10g上一组表进行shrink space操作,其中一个表为Hash分区,6个global索引,大小约为5G。
操作……
5个小时后完成,archive空间满。
处理……
再用logminer查看archive log,大量的delete和insert操作,郁闷!
Oracle真能忽悠人。
aluocp
发表于:2007.07.30 10:42
::分类:
(
Oracle原创日志
)
::阅读:(120次)
::
评论
(2)
::
引用 (0)
===========================================================
db_file_multiblock_read_count参数对block读取和执行计划的影响
===========================================================
1.继续前一篇的内容,查看db_file_multiblock_read_count对全表扫描读取blocks的变化
SQL> create tablespace aluocp datafile '/disk3/oradata/oradata/ora7a/aluocp.dbf' size 100M
2 extent management local uniform size 256K;
Tablespace created.
SQL> alter table t move tablespace aluocp;
Table altered.
查看全文
aluocp
发表于:2007.07.26 16:40
::分类:
(
Oracle原创日志
)
::阅读:(94次)
::
评论
(0)
::
引用 (0)
===========================================================
使用10046 event trace跟踪全表扫描操作
===========================================================
1.创建测试用表T
SQL> create table t as select * from dba_objects;
Table created.
2.查看T表的Block号和Block数量
SQL> select file_id,block_id,blocks from dba_extents where segment_name='T';
查看全文
aluocp
发表于:2007.07.26 16:31
::分类:
(
Oracle原创日志
)
::阅读:(149次)
::
评论
(0)
::
引用 (0)
===========================================================
关于recovery through resetlogs的测试
===========================================================
1. 设置session变量:
C:>set ORACLE_SID=TEST
C:>set nls_date_format=yyyy-mm-dd hh24:mi:ss
2. 做一次RMAN的全备:
C:>rman target / nocatalog
恢复管理器: 版本10.1.0.2.0 - Production
Copyright (c) 1995, 2004, Oracle. All rights reserved.
已连接到目标数据库 (未启动)
查看全文
aluocp
发表于:2007.07.26 16:28
::分类:
(
Oracle原创日志
)
::阅读:(130次)
::
评论
(0)
::
引用 (0)
===========================================================
Oracle10g RAC配置standby
===========================================================
准备工作:
1.启用归档
在主库上的每个节点都要设置,注:在一台机器设置归档时其他的节点实例都要关闭
sqlplus /nolog
SQL>conn /as sysdba
SQL > alter system set log_archive_dest_1 = "location=<文件位置>"
SQL > alter system set log_archive_format='arch_%t_%s_%r.arc' scope=spfile;
SQL > shutdown immediate
SQL> alter database archivelog;
Database altered.
SQL> archive log start
Statement processed.
SQL> alter database open
Database altered.
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination +ARCH/arch2/
SQL> show parameter archive_start
查看全文
aluocp
发表于:2007.07.26 16:26
::分类:
(
Oracle原创日志
)
::阅读:(306次)
::
评论
(0)
::
引用 (0)
===========================================================
我做高级复制的日志
===========================================================
1.环境说明:
数据库平台和版本:Oracle9i for Windows
主体定义数据库:OCP.WORLD
主体数据库:ALU.WORLD
复制管理员:repadmin
应用用户:repuser
本例复制的对象:rep_test数据表
SQL> conn system/manager@OCP
已连接。
SQL> show parameter
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
compatible string 9.2.0.1.0
job_queue_processes integer 1
global_names boolean TRUE
db_domain string CONS
查看全文
aluocp
发表于:2007.07.26 16:24
::分类:
(
Oracle原创日志
)
::阅读:(170次)
::
评论
(0)
::
引用 (0)
===========================================================
更改Oracle数据库的SID
===========================================================
1.查看数据库当前设置
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
PL/SQL Release 9.2.0.1.0 - Production
CORE 9.2.0.1.0 Production
TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
NLSRTL Version 9.2.0.1.0 - Production
查看全文
aluocp
发表于:2007.07.26 15:43
::分类:
(
Oracle原创日志
)
::阅读:(189次)
::
评论
(0)
::
引用 (0)