本站用于记录日常工作内容,虚拟化云计算,系统运维,数据库DBA,网络与安全。
ORACLE中没有参数文件和控制文件如何通过rman恢复数据库 场景:一个DEV告诉我生产环境下某个用户的表都看不到了,需要恢复,而此时生产库上存储自动备份的参数文件控制文件的磁盘目录文件坏块,所以导致rman备份的只有数据文件和归档日志文件,这种情况下,如何在测试服务器上利用rman恢复数据呢?google了很多资料,咨询了朋友,恢复过程如下:前期准备工作:事先查询好先查询下原来的数据文件路径SQL> select name from v$datafile;NAME--------------------------------------------------------------------------------/home/oradata/stuorcl/system01.dbf/home/oradata/stuorcl/sysaux01.dbf/home/oradata/stuorcl/undotbs01.dbf/home/oradata/stuorcl/users01.dbf/home/oradata/stuorcl/stuorclk01.dbf/home/oradata/stuorcl/plas01.dbf/home/oradata/stuorcl/pl01.dbf/home/oradata/stuorcl/help01.dbf/home/oradata/stuorcl/adobelc01.dbf/home/oradata/stuorcl/sms01.dbf10 rows selected.SQL> 事先获得redo日志文件路径SQL> select member from v$logf...
ISCSI盘符飘逸问题解决环境:VMware Workstation 9 + CentOS 6.4 + Openfiler 2.99在Linux 系统中,使用iscsi挂在共享存储,在系统中可以看到跨在后的盘符/dev/sdb, /dev/sdc ,/dev/sdd等。但是每次重启后,盘符都会变化,如sdb-->sdc,sdc-->sdd,sdd-->sdb。如果是RAC环境,在另外一台机器上,同一块存储,显示的盘符也不一样,如RAC1机器上显示sdc,二在RAC2上显示sdd。如何真的安装RAC,重启机器后,盘符一变,数据库肯定是无法启动的。根据以上可以推断,系统每次启动后,ISCIS程序挂载共享盘,顺序都不是固定的。下面介绍如何顺序加载盘符。1)修改 /etc/iscsi/iscsid.conf文件,将node.startup = automatic 改为node.startup = manual。即:将自动加载共享存储改为手动加载共享存储。2)修改/etc/rc.local,加共享存储脚本加入进去。如下:# 以下搜索共享存储#/sbin/iscsiadm -m discovery -t sendtargets -p 192.168.8.100# 以下按顺序挂载共享存储#/sbin/iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.ocrdata -p 192.168.8.100 -l /sbin/iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.oradata -p 1...
一、架构1.1现有网络 现有网络架构如图一所示,其中服务器网段为192.168.0.x使用专门线路接入internet,192.168.88.x为网络设备网段,其它都是办公网段使用另外的线路接入internet。图一、现有网络结构图1.2 VPN架构 在图一所示的网络架构中搭建一台VPN服务器(192.168.0.x网段),在专门的安全设备上映射该服务器的内网地址(外部VPN拨入输入外网地址)。远程用户成功拨入后,办公网络的用户可以正常访问已拨入的VPN客户端。如图二所示。VPN服务器配置如下: 1、单网卡:192.168.0.47 2、VPN客户段:172.16.0.0 3、Office办公网段:192.168.10.x-192.168.17.x图二、VPN网络结构图1.3 VPN方案 通过使用CentOS6.3(64bit) +OpenVPN(VPN服务器)+OpenSSL(CA证书)+MySQL(验证)的方式组建VPN方案。二、安装配置linux系统2.1安装CentOS系统 通过正常方式安装CentOS6.3的64位版本。可以不安装图形界面,字符界面的组件中建议选上基本的开发工具。可通过以下指令查看系统版本,如图三所示。12cat/etc/issuecat /proc/version图三、linux系统版本2.2配置系统yum源 完成安装后配置系统的yum源有助于后续软件的安装配置,结合国内实际情况采用16...
I couldn’t find any decent documentation online about getting Zabbix configured with an Oracle backend so I decided to write one myself. The oracle installation section of this guide is based on John Smileys guide (available here), but has been adapted for 11GR2.As usual I’ll be basing this on a CentOS 5.4 i386 installation. Please note that to install Oracle you need to have X11 installed. The requirements for an x64 installation are a little different. I prefer to use X11 forwarding over SSH when it’s available I also need to note here that you can’t use su and then have X11 forwarding work.For the record, I’ve never used the Oracle Database product before this week, so I’m sure there’s bad practices all over the place. If there is leave a comment and I’ll sort out my mistakes.Oracle OverviewFor those of you, who like me haven’t had to touch oracle before, I’ve drawn up a pretty picture which outlines how Oracle hangs together in terms of database design and storag...
zabbix下的oracle监控一、orabbix说明 orabbix是一个用来监控oracle数据库性能的zabbix插件工具,通过安装在被监控服务器上客户端上收集数据并传给zabbix服务器端,然后通过调用图形显示。具有以下功能:1、数据库版本2、归档文件3、等待的事件(如文件的I/O,单块的读,多块的读,直接读,SQLNet消息,控制文件I/O,日志写等)4、HitRatio(监控Hit Ratio的触发,表/存储过程,SQLArea,Body)5、逻辑I/O(当前读操作,持续的读操作,块的更改)6、PGA7、SGA(固定的缓冲,JAVA pool,Large Pool,Log Buffer,Shared Pool,Buffer Cache)8、物理I/O(重写操作,数据文件写操作,数据文件读操作)9、SharePool(Pool Dictionary Cache, Pool Free Memory, Library Cache,Sql Area ,Misc.)10、Pin Hit Ratio (monitor Hit Ratio on Trigger, Tables/Procedures, SQLArea,Body)11、Session/Processes (monitor Sessions and processes)12、Session (Active Session, Inactive Sessions, System Session)二、 orabbix安装2.1、Java环境 首先在被监控的服务器安装java环境,可以直接到oracle官网下载对应的包安装。12wget http://download.oracle.com/otn-pub/java...
HP9000磁盘阵列控制器宕机造成oracle数据库数据文件出现坏块的处理 公司的一个重要oracle数据库使用的是HP9000磁盘阵列分配的lun。上个星期,HP9000磁盘阵列的控制器出现宕机,HP工程师到机房重启控制器后,启动oracle数据库出现报错SQL> startup;ORACLE instance started.Total System Global Area 1.2885E+10 bytesFixed Size 2105920 bytesVariable Size 620760512 bytesDatabase Buffers 1.2247E+10 bytesRedo Buffers 14667776 bytesDatabase mounted.ORA-01172: recovery of thread 1 stuck at block 752 of file 69ORA-01151: use media recovery to recover block, restore backup if needed检查数据库状态,发现数据库不能打开SQL> select open_mode from v$database;OPEN_MODE----------MOUNTED报错提示第69个数据文件出现坏块执行恢复命令SQL> recover datafile 69;Media recovery comple...
Oracle备份与恢复案例By Piner 一. 理解什么是数据库恢复 当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。因此当发生上述故障后,希望能重构这个完整的数据库,该处理称为数据库恢复。恢复过程大致可以分为复原(Restore)与恢复(Recover)过程。 数据库恢复可以分为以下两类: 1.1实例故障的一致性恢复当实例意外地(如掉电、后台进程故障等)或预料地(发出SHUTDOUMABORT语句)中止时出现实例故障,此时需要实例恢复。实例恢复将数据库恢复到故障之前的事务一致状态。如果在在线后备发现实例故障,则需介质恢复。在其它情况Oracle在下次数据库起动时(对新实例装配和打开),自动地执行实例恢复。如果需要,从装配状态变为打开状态,自动地激发实例恢复,由下列处理: (1) 为了解恢复数据文件中没有记录的数据,进行向前滚。该数据记录在在线日志,包括对回滚段的内容恢复。 (2) 回滚未提交的事务,按步1重新生成回滚段所指定的操作。 (...
mysql 使用二进制日志文件恢复数据库在心中一直有个东西梗着,那就是mysql利用二进制日志文件恢复数据库,今天下决心解决这个问题,在网上查了些资料,然后自己的物理机上测试总是失败,开始一直怀疑是网上说的不正确,最后想起来自己的数据库是从5.0.1升级到5.1.49的,也许是因为升级的原因导致日志文件无法恢复,出现下面的错误最后没有办法,在虚拟机上面新装个mysql 5.1.49的数据库进行测试,先启用日志功能:log-bin=bin_log,然后配置假定添加删除相关数据,模拟测试环境(新建表,添加数据,删除数据,添加数据,删除表)use test;create table test(id int auto_increment not null primary key,val int,data varchar(20));insert into test(val,data) values(10,'liang');insert into test(val,data) values(20,'jia');insert into test(val,data) values(30,'hui');flush logs;insert into test(val,data) values(40,'aaa');insert into test(val,data) values(50,'bbb');insert into test(val,data) values(60,'ccc');delete from test where id between 4 and 5;insert into test(val,data) values(70,'ddd');flush logs;insert into test(val,data) values(80,'...
利用 MySql日志文件 恢复数据 1. 以前我错误的认为mysql的日志可以恢复到任何时间的状态,其实并不是这样,这个恢复是有前提的,就是你至少得有一个从日志记录开始后的数据库备份,通过日志恢复数据库实际上只是一个对以前操作的回放过程而已,不用想得太复杂,既然是回放你就得注意了,如果你执行了两次恢复那么就相当于是回放了两次,后果如何你自己应该清楚了吧。 2. 要想通过日志恢复数据库,在你的my.cnf文件里应该有如下的定义,log-bin=mysql-bin,这个是必须的.binlog-do-db=db_test,这个是指定哪些数据库需要日志,如果有多个数据库就每行一个,如果不指定的话默认就是所有数据库. [mysqld] log-bin=mysql-bin binlog-do-db=db_test binlog-do-db=db_test2 3.删除二进制日志: a.mysql> system ls -ltr /var/lib/mysql/bintest*; mysql>reset master(清空所有的二进制日志文件) b.purge master logs to 'bintest.000006';(删除bintest.000006之前的二进制日志文件) c.purge master logs before '2007-08-10 ...
最新评论