redo log dump
Graham Thornton在这篇文章中讲述了他亲身经历的两件事,第一件事是这样的:技术支持部门接到用户电话,在我们的BS应用程序中,页面上保存数据时报错,错误原因是主键冲突。开发人员认为主键是在打开页面时,从数据库取的一个序列值sequence,开发人员认为oracle数据库发神经了,取的序列重复了,否则不可能主键冲突。[不可能,绝对不可能!][@more@]作者开始处理这件事情。这个业务表名是order_lines,在数据库中的对象ID,可以通过OBJ$视图查询到;(9i中可以查dba_objects)是38342;技术支持部门接到用户电话的时间是15:21通过这个时间
《Undo, Redo, DataFile看Oracle中的事务过程》学习笔记
参考的这篇文章在网上流传甚广,可惜没找到作者是谁。[@more@] 1:提交当前session中的pending transaction, SQL> show autocommit; autocommit OFF SQL> commit; Commit complete. 2:确定transaction前的scn, SQL> conn /as sysdba SQL> select max(KTUXESCNW*power(2,32)+KTUXESCNB) from x$ktuxe; MAX(KTUXESCNW*POWER(2,32)+KTUXESCNB) ------------------------------------ 3723460 3:数据更新 SQL> conn scott/tiger
oracle9i SQL Scripts
问题:在创建oracle9i 数据库时,要运行脚本来创建数据字典等。这些脚本有哪些?各有什么作用?[@more@]解:references << C:DownloadsB10501_01server.920a96536ch53.htm >>create database ...; 调用了 sql.bsq创建数据字典有三个脚本:catalog.sql 必需catproc.sql 必需catclust.sql RAC必需------------------------------------------------------------------其它常用脚本说明:ScriptName NeededFor Run By Description----------- ------------------------ --------- -------------------------------------catblock
oracle9i补充日志
Supplemental Logging 两大类: 数据库级别 表级别;数据库级别有两类: minimal and identification key logging.[@more@]-- 创建minimal类型ALTER DATABASE ADD SUPPLEMENTAL LOG DATA ; --在LogMiner9.0.1版本中,最小日志默认是打开的,在9.2版本,默认是关闭的。-- 创建 identification key loggingALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE INDEX) COLUMNS;-- 禁用数据库级别的补充日志alter database drop supplemental log data;/**表级补充日志也分两种:无条件日志组(always)和有条件日志组有条件日志组的
《走入》 笔记01
大纲:32位64位的检查进程的优先级zombie processes[@more@]内容:32/64位检查程序32/64位:# dump -ov filename |grep bit# dump -Xany -ov filename |grep bit检查AIX内核32、64位# bootinfo -K cpu是32、64位# bootinfo -y# pmcycles 查看CPU主频# prtconf 查看更多内容Number Of Processors: 4Processor Clock Speed: 4005 MHzCPU Type: 64-bitKernel Type: 64-bitHMT SMT HT技术SMT(Simultaneous Multi_Thread,并发多线程)HMT(Hardware Multi-Thread)HT(Hyper Thread, Intel对并发多线程的称呼)在同一时钟周期内,两条指令流同时在一个
使用bc做进制转换
用法三: 输入16进制 输出10进制[ora:root:/] bcibase=16 输入16进制 输出10进制E0000000-D0000000268435456ibase=A sets to base ten 因为上面的输入是16进制,所以此处A 代表 10268435456/(1024^2)25610-37[@more@]用法一: 输入16进制 输出10进制[ora:root:/] bcibase=A 输入16进制a 输入16进制0 输出10进制A10F 输入16进制15 输出10进制FF16588000F15000A10quit[ora:root:/] 用法二: 输入10进制 输出16进制[ora:root:/] bcobase=16 输出16进制2^3210000000010 输入10进制A 输出16进制16 输入10进制10 输出16进制quit
ipcs 与 svmon 的对应
ipcs 与 svmon 的对应[ora:root:/] ipcs -aSIPC status from /dev/mem as of Sun Jan 6 16:45:21 BEIST 2013T ID KEY MODE OWNER GROUP CREATOR CGROUP NATTCH SEGSZ CPID LPID ATIME DTIME CTIME Shared Memory:m 0 0x58002275 --rw-rw-rw- root system root system 1 134217728 82278 82278 9:03:16 no-entry 9:03:16SID :0x1001a2 m 1048577 0x0d000b4a --rw-rw---- root system root system 1 1440 111022 794846 8:35:39 8:35:39 9:13:00SID :0x3d0878 m 1048578 0x7800000f --rw-rw-rw- root system root system 1 268435456 242144
两个sqlplus 进程使用内存的比较
svmon命令对 两个sqlplus 进程使用内存的比较[@more@][node1:root] svmon -P 7143574 [node1:root] svmon -P 17039518 ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 16MB Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd 16MB 7143574 oracle 171966 22512 4037 151396 Y N N 17039518 oracle 171618 22512 4037 151048 Y N N PageSize Inuse Pin Pgsp Virtua
ps 与 svmon之间关系
试图查找二者数据上的关联,但失败了。[@more@]问题一:下面两个结果中 10289304进程有什么联系?[node1:root] ps gv |head -1; ps gv |sort -nr +6 |head -6PID TTY STAT TIME PGIN SIZE RSS LIM TSIZ TRS %CPU %MEM COMMAND5505052 - A 6:28 59 76240 150432 xx 65710 74212 0.0 4.0 /u01/17536882 - A 6:34 59 76240 150400 xx 65710 74168 0.0 4.0 /u01/117236064 - A 1:16 1 110696 138444 xx 59472 27748 0.1 3.0 /u01/111534552 - A 0:02 10 43232 137004 xx 162230 93984 0.0 3.0 ora_ar13566074 - A 0:02 57 43240 136668 xx 162
转-svmon介绍
IBM Document #: 2311083I17000内容提要:介绍svmon使用及其理论说明:AIX 5L[@more@]参考资料: svmon命令是虚存的的监视命令,svmon可用于确定某个程序、用户、内存段使用实存或虚存的情况。它事实上调用的是svmon_back命令,在使用svmon命令之前,必须确定svmon_back命令可用,该命令位置为 /usr/lib/perf/svmon_back 。 svmon运行于前台,就象一个普通的用户进程一样,因为它在运行过程中可被中断,所以,它无法完全真正地成为内存使用情况的快照。所以,在非常繁忙的系统中,svmon收集的数据和真实的数据有所差距,在svmon进程搜集的过程
svmon 笔记01
Vsid - unique system segment ID.Esid - effective segment 只能在process view 中显示, -S 中看不到Type - segment type: work/persistent/clientDesc - 对段的描述PSize - page size: s=4k m=64k L=16M S=16GInuse - actual number a memory frames in use 单位是pagePin - pages that cannot be stolen by lrud 这个计量单位是pagePgsp - paging space usage 这个计量单位是page Virtual - total number of virtual pages created. 这个如何理解?[@more@]10.0.10.201d$SSH Secure ShellDocumentationzl_ibmIBM资料Understanding AIX
redhat6 安装虚拟带库笔记
操作系统版本[root@node1 ~]# cat /etc/issueRed Hat Enterprise Linux Server release 6.0 (Santiago)先安装一些 scsi和磁带机相关的软件包: zlib-devel lsscsi mt-st mtx 另外需要安装 liblzo2-dev 包 操作系统光盘上没有此安装包 .还是下载RPM包安装快捷http://rpmfind.net/linux/rpm2html/search.php?query=liblzo2.so.2liblzo2_2-2.03-6.el6.i686.rpm上传安装完成。操作过程:[@more@][root@node1 ~]# cd /media/RHEL_6.0 i386 Disc 1/Packages/[root@node1 Packages]# ls ls*lslk-1.29-23.el6.i686.rpm lsscsi-0.23-2.el6.i686.rpm
IE9 32位不能打开链接
问题: win7 64位 操作系统, IE9 64位正常,IE9 32位不能打开链接解决: 开始、运行: netsh winsock reset 重启操作系统[@more@]问题: win7 64位 操作系统, IE9 64位正常,IE9 32位不能打开链接解决: 开始、运行: netsh winsock reset 重启操作系统
sqlplus editor 不能使用 vi
问题现象:AIX 5300-11-01-0944oracle 9.2.0.8.0 单机sqlplus 中设置_editor=vi 之后,当使用ed 编辑sql的buffer 文件afiedt.buf 之后,:q 失去响应 ^d ^c 也没有反应;查询vi进程还在;似乎 vi hang , 为什么?[@more@]问题原因:经过反复查找,发现问题出在rlwrap上。rlwrap工具可以解决linux下sqlplus提供浏览历史命令行的功能,和删除先前输入错误的字母等问题把这个别名从.profile中注释掉,问题解决。# alias sqlplus='/usr/bin/rlwrap sqlplus'alias rman='/usr/bin/rlwrap rman'
plsql tnsnames
plsql developer 读取的是哪个tnsnames.ora文件呢?CMD 进入命令行窗口,echo %TNS_ADMIN%C:Usersww>echo %TNS_ADMIN%C:oracleproduct11.2.0dbhome_1NETWORKADMIN那么plsql dev启动时,读取的就是这个目录下的tnsnames.ora文件。TNS_ADMIN这个变量在何处设置的呢?[@more@] 系统属性/高级/系统环境变量/用户变量中可以设置,此处设置后,保存到注册表中HKEY_CURRENT_USER/Environment/TNS_ADMIN如果这个变量没有设置呢?plsql会根据Tools/Preferences/Oracle/Connection/Oracle Home的设置来查找tnsnames.ora比如此处设置了OraC
rlwrap
rlwrap for Command Line History and Editing in SQL*Plus and RMAN on Linux.linux下安装后,用着确实方便。AIX下能用吗?[@more@] http://www.oracle-base.com/articles/linux/rlwrap.phpThe rlwrap (readline wrapper) utility provides a command history and editing of keyboard input for any other command. This is a really handy addition to SQL*Plus and RMAN on Linux. This article explains how to install rlwrap and set it up for SQL*Plus and RMAN. Thanks for Lutz Hartmann for reminding me of this utility
extend root dir
how to extend root directory红帽5 如何扩展根目录[@more@] # df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/VolGroup00-LogVol00 5.8G 2.2G 3.4G 39% //dev/sda1 99M 11M 83M 12% /boottmpfs 474M 0 474M 0% /dev/shm/dev/sdb1 7.9G 3.5G 4.1G 46% /u01add a disk to linux as /dev/sdc, size 2g# parted /dev/sdcmklabel gptmkpart primary 1 2048quit# pvcreate /dev/sdc1# pvscan# vgscan# vgextend VolGroup00
用户权限相关视图
dba_sys_privsdba_tab_privsdba_role_privssystem_privilege_map[@more@] 1.查看用户或角色系统权限:select * from dba_sys_privs;select * from user_sys_privs;2.查看用户对象权限:select * from dba_tab_privs;select * from all_tab_privs;select * from user_tab_privs;3.查看所有角色:select * from dba_roles; 查看用户或角色所拥有的角色:select * from dba_role_privs;select * from user_role_privs;4.查看Oracle提供的系统权限 select name from sys.system_privilege_map 5.查看一个用户的所有系统权限(包含角色的
flashback data archive
A Flashback Data Archive provides the ability to track and store transactional changes to a table over its lifetime. A Flashback Data Archive is useful for compliance with record stage policies and audit reports. 以下实例操作:[@more@] SQL> select * from v$version;BANNER--------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - ProductionPL/SQL Release 11.2.0.1.0 - ProductionCORE 11.2.0.1.0 ProductionTN
active duplicate
第一步 在红帽5.4下,常规方式安装11gR2的数据库,创建一个数据库al32第二步 确定在同一个主机上执行duplicate复制的数据库名为oradup原库: al32新库: oradup操作系统:红帽5[@more@] 第三步 创建新库所用的dump路径[oracle@czdb oracle]$ cd /u01/app/oracle/diag/rdbms/[oracle@czdb rdbms]$ mkdir -p oradup/oradup/cdump[oracle@czdb rdbms]$ mkdir -p oradup/oradup/trace[oracle@czdb rdbms]$ mkdir -p oradup/oradup/alert第四步 创建新库所用的password文件cd $ORACLE_HOME/dbsorapwd file=orapworadup password=oracle第五步