跳至主要内容

Shell实际运用和Oracle DataGuard一天小结

在实际生产应用中,其实我可以这么些,首先判断这个人是不是ROOT
那么就需要在脚本中写上这么个判断语句:
#!/bin/sh

#ifroot
if [ "$LOGNAME" != "root" ]
then
echo "You
need to be
root to run this script" >&2
exit 1
else
echo "Yes
indeed
you are $LOGNAME proceed"
fi



return是函数返回,exit是结束进程.
exit(0); /*这个是正常的关闭所有程序 */
exit(1); /*这个就刚好相反,有错误的关闭 */

/dev/null #表示的是类似于windows的回收站,无限大 2>&1#表示将这些在后台处理

同样的语句在solaris下和RH下有点不同,当我使用exit语句时rh下会执行,而solaris直接就是跳出。也是是因为SHELL不同的缘故。

在for in中加” ”就是字符串,数字不加就是数字显示的是竖直排列,家了引号后就是横向排列了。
在使用的时候Sorlaris不支持$()这样的在shell中嵌套的写法,反而是支持``反引号的写法,RH测试两者都支持。

可以用ls wc –l显示文件夹的文件数,用shell的话是做个count
#!/bin/sh
#forcount
counter=0
for files in *
do
counter=`expr $counter + 1`
done
echo "count the `pwd` total files
is $counter"


要想从命令行启动mysqld服务器,你应当启动控制台窗口(或“DOS window”)并输入命令:
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld
根据系统中MySQL安装位置的不同,前面的例子中使用的路径也不同。
在非NT版本的Windows中,在后台启动mysqld。也就是,服务器启动后,你应当可以看见后面的命令提示。如果你用该方法在Windows NT、2000、XP或2003中启动服务器,服务器则在前台运行,在服务器退出前,不会出现命令提示。因此,当服务器运行时,应当打开另一个控制台窗口来运行客户端程序。
下述命令可以停止MySQL服务器:
C:\> C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqladmin -u root shutdown
该命令调用MySQL管理工具mysqladmin连接服务器并告知它关闭服务。该命令使用MySQL root用户连接,这是MySQL权限系统中的默认管理账户。请注意MySQL权限系统中的用户完全独立于Windows下的登录用户。
如果mysqld不能启动,检查错误日志看看服务器是否写入了显示问题原因的任何消息。错误日志位于C:\Program Files\MySQL\MySQL Server 5.1\data目录中。是带后缀.err的文件。还可以尝试将服务器启动为mysqld --console;此时,可以从窗口中获得一些有用的信息,可以帮助解决问题。
最后选项是用--standalone --debug启动mysqld。此时,mysqld 写入日志文件C:\mysqld.trace,应当包含mysqld不启动的原因。
使用mysqld --verbose --help显示mysqld的所有选项。



使用脚本中的函数参数作为shell命令,一开始不是很明白现在有点明白了,在刚刚开始的使用你如同平时写脚本一般将函数写进去,例如
findit(){
if [ $# -lt 1 ]
then
echo "usage :findit file"
return
1
fi
find / -name $1
}


然后写完chmod后,在执行下. ./XXX,当你在命令行下用set命令后你会发现他已经被加载到你的用户下,当然了在你退出这个session后,会自动消失的。那么这个使用你在使用这个函数类似于findit他就不会报错,而且也不需要向刚刚执行脚本一样,而他直接已经加载到你的bin下,所以当我使用findit main的时候他会全盘搜索,但是用于我是用其他用户的所以不能找到,因为权限不够。
当使用了unset命令后则可以将已经加载的这个函数去除。Set后他已经不再了

参数输入没怎么细看,有些用的找有些用不着 -、-

scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root 也就是说可以基于SSH进行文件的传输
ssh 下如果我登陆别的服务器或者说是被改变了端口的服务器那么我需要用到的是
ssh –p 10088 192.168.18.91 假如我91的SSH端口是10088

Oracle DATAGUARD
-------------------------------------------------------------------------
我在备份服务器上MOUNT的时候只用了一个CONTROLFILE所以我alter system mount database;的时候怎么也MOUNT不起来。


我在做采用ARCH归档日志的最大性能
SQL>alter system set log_archive_dest_2='SERVICE=dbstandby REOPEN=300'
scope=both;
SQL> alter system set log_archive_dest_state_2=enable
scope=both;
SQL>alter system archive log current;

在做第一句的时候提示不能写pfile,然后用show parameter spfile以后发觉我果然是用pfile启动的,那么之后我就直接修改目前pfile的语句,而
SQL>alter system set log_archive_dest_2='SERVICE=dbstandby REOPEN=300'
scope=both

也改成

SQL>alter system set log_archive_dest_2='SERVICE=dbstandby REOPEN=300'
scope=memory;
在vi中编辑
*.log_archive_dest_2='SERVICE=dbstandby REOPEN=300'
*.log_archive_dest_state_2=enable scope=both



关于如何检查和校验是否备用服务器设置成功
[3] STANDBY_ARCHIVE_DEST
*.standby_archive_dest='/oracle/oracle9i/oradata/archive' 这段在备库的文件中添加表示的是你将传过来的log存放的位置,那么还可以在你ORACLE安装的admin/cdump下找到,alert_log..这个文件中找到,当你在主库做一次log切换的时候例如说你alter system switch logfile;之后那么就会从主库传log到备库上去,而且同时在上面提到的两个log文件中出现。
以上是我白天做了一天的DG的一些错误解析,那么我晚上小小的来解析下。
这个做完大概是MAXIMIZE PERFORMANCE。由于是练手,那么其实在练习过程前,领导已经练习过了做好了大概的pfile,所以在使用之前我并没有自己建立属于自己的PFILE,在我做
SQL>SHOW PARAMETER SPFILE
则显示的空字段,那么我是以PFILE启动的,将文档设为强制
SQL>ALTER DATABASE FORCE LOGGING;
两台机子的环境要设成一样。然后将进行以下步骤
$cd $ORACLE_BASE
$mkdir -p oradata/tbdb/archiv
$mkdir -p
admin/tbdb/bdump
$mkdir -p admin/tbdb/cdump
$mkdir -p admin/tbdb/udump
我因为篇幅的关系我下面就不写了,但是我现在环境下$diff initora9i.ora_pri initora9i_std比较了一下其中
#if change controlfile then edit this
*.control_files='/u01/oracle/oradata/tbdb/control01.ctl',
'/u01/oracle/oradata/tbdb/control02.ctl',
'/u01/oracle/oradata/tbdb/control03.ctl'
#standby database parameter
*.standby_file_management=AUTO
*.remote_archive_enable=TRUE
*.standby_archive_dest='/u01/oracle/oradata/tbdb/archive'
*.fal_server='DBPRIMARY'
*.fal_client='DBSTANDBY'
大概的差距如何具体解释下,在写的过程中,如果你把controlfile改写了后需要把位置改下,同时把备课的时间改写,特别要注意的是fal_server和fal_client的改写,在fal_client这里很重要的就是你以后再实行找到备库的名字。
在主库rman下backup database和logfile,在备库中Oracle

$rm $ORACLE_HOME/dbs/orapw$ORACLE_SID
$orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=test entries=4
我在做的时候按照教程设了两个listener一个1521一个1522端口。在备库上较复杂在主库上则比较简单。
下一步就需要在主库上生成控制文件SQL> alter database create standby controlfile as '路径和控制文件名'在做一次$ scp,例如今天的环境下$scp 路径和名称 192.168.18.92:'路径和名称'。
在备库中启动
SQL> connect / as sysdba Connected to an idle instance.
SQL>startup nomount pfile=路径
SQL>alter database mount standby database;

之后rman了以后进行restore database和restore archivedlog all.
在arch模式下用
SQL>alter system set log_archive_dest_2='SERVICE=dbstandby REOPEN=300'
scope=both;
SQL>alter system set log_archive_dest_state_2=enable scope=both;
SQL>alter system archive log current;
如何验证呢
SQL>SELECT SEQUENCE#,FIRST_TIME,NEXT_TIME FROM V$ARCHIVED_LOG;
这样可以看

当我在tail -10 $ORACLE_BASE/ora9/admin/dbump/alter_.....log这个的时候可以看出他现在正在等哪个,第一次我没有做成功的原因是我不知道如何将日志穿到备库上。而这时候需要老师点播了,在主库上做一次SQL>alter system switch logfile;这时候tail的时候你可以看到已经传到备库了。今天就到这里了。明天最剩下的工作。

评论

此博客中的热门博文

4 steps to delete account in Gerrit DB

4 steps to delete account in DB. Delete from accounts where preferred_email=’’; delete from account_ssh_keys where account_id=''; delete from account_external_ids where external_id='gerrit:*’; delete from account_external_ids where external_id='username:*’; whatever it was in H2 database and postgres db . H2: ssh -p 24198 localhost gerrit gsql Postgres: psql

男人35岁前成功的12条黄金法则

第一章:一个目标 一艘没有航行目标的船,任何方向的风都是逆风 1、你为什么是穷人,第一点就是你没有立下成为富人的目标 2、你的人生核心目标是什么? 杰出人士与平庸之辈的根本差别并不是天赋、机遇,而在于有无目标。 3、起跑领先一步,人生领先一大步:成功从选定目标开始 4、贾金斯式的人永远不会成功 为什么大多数人没有成功?真正能完成自己计划的人只有5%,大多数人不是将自己的目标舍弃,就是沦为缺乏行动的空想 5、 如果你想在35岁以前成功,你一定在25至30岁之间确立好你的人生目标 6、 每日、每月、每年都要问自己:我是否达到了自己定下的目标 第二章:两个成功基点 站好位置,调正心态,努力冲刺,35岁以前成功 (一)人生定位 1、 人怕入错行:你的核心竞争力是什么? 2、 成功者找方法,失败者找借口 3、 从三百六十行中选择你的最爱 人人都可以创业,但却不是人人都能创业成功 4、 寻找自己的黄金宝地 (二)永恒的真理:心态决定命运,35岁以前的心态决定你一生的命运 1、 不满现状的人才能成为富翁 2、 敢于梦想,勇于梦想,这个世界永远属于追梦的人 3、 35岁以前不要怕,35岁以后不要悔 4、 出身贫民,并非一辈子是贫民,只要你永远保持那颗进取的心。中国成功人士大多来自小地方 5、 做一个积极的思维者 6、 不要败给悲观的自己 有的人比你富有一千倍,他们也会比你聪明一千倍么?不会,他们只是年轻时心气比你高一千倍。 人生的好多次失败,最后并不是败给别人,而是败给了悲观的自己。 7、 成功者不过是爬起来比倒下去多一次 8、 宁可去碰壁,也不要在家里面壁 克服你的失败、消极的心态 (1) 找个地方喝点酒 (2) 找个迪厅跳跳舞 (3) 找帮朋友侃侃山 (4) 积极行动起来 第三章:三大技巧 1、管理时间:你的时间在哪里,你的成就就在哪里。 把一小时看成60分钟的人,比看作一小时的人多60倍 2、你不理财,财不理你 3、自我管理,游刃有余 (1) 创业不怕本小,脑子一定要好 (2) 可以开家特色店 (3) 做别人不愿做的生意 第四章:四项安身立命的理念 35岁以前一定要形成个人风格 1、做人优于做事 做事失败可以重来,做人失败却不能重来 (1) 做人要讲义气 (2) 永不气馁 2、豁达的男人有财运,豁达的女人有帮夫运 35岁以前搞定婚姻生活 3、忠诚的原则: