月度归档:2015年06月

Oracle 11g Dataguard switchover切换测试

如果参数设置合理我们的物理standby是可以进行平滑切换的,

SQL> select *from v$version;

BANNER
——————————————————————————–
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
PL/SQL Release 11.2.0.4.0 – Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 – Production
NLSRTL Version 11.2.0.4.0 – Production

具体进行切换的步骤如下:
1、 在主库查看v$database中的 switchover_status字段。
SQL> select database_role,switchover_status from v$database;

DATABASE_ROLE SWITCHOVER_STATUS
—————- ——————–
PRIMARY TO STANDBY
2、 转换主库角色到备库角色使用语句
SQL> alter database commit to switchover to physical standby with session shutdown wait;

Database altered.

SQL> shutdown immediate;
ORA-01012: not logged on
3、 关闭数据库并且启动到mount阶段
shutdown immediate;
startup mount;

—以下为备库操作
4、在备库查看v$database中的 switchover_status字段,看是否为to_primary

SQL> select database_role,switchover_status from v$database;

DATABASE_ROLE SWITCHOVER_STATUS
—————- ——————–
PHYSICAL STANDBY SESSIONS ACTIVE
SQL> alter database commit to switchover to primary ;
alter database commit to switchover to primary
ERROR at line 1:
ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected
SQL> alter database commit to switchover to primary with session shutdown wait;
Database altered.

5、在备库执行
alter database commit to switchover to primary with session shutdown wait;
来进行角色切换
6、关闭备库,启动备库
sql> shutdown immediate;
sql> startup;
7、使用强制归档选项
alter database force logging;
8、在原来主库上开启日志应用
alter database recover managed standby database disconnect from session;

iscsiadm简单使用

配置iSCSI Initiator
— 安装initiator
# yum -y install iscsi-initiator-utils
设置开机启动
# chkconfig iscsid on
# chkconfig iscsi on

–设置InitiatorName
[root@ntsmsdb1 ~]# vi /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2015-03.com.palmyou:tdxt2015

–配置iscsi存储
[root@ntsmsdb1 ~]# iscsiadm -m discovery -d 2 -t st -p 10.168.200.240
10.168.200.240:3260,1 iqn.2001-05.com.equallogic:0-1cb196-162e52606-a7300000ca95513d-tdxtdbbak
[root@ntsmsdb1 ~]# iscsiadm -m node -T iqn.2001-05.com.equallogic:0-1cb196-162e52606-a7300000ca95513d-tdxtdbbak –login
Logging in to [iface: default, target: iqn.2001-05.com.equallogic:0-1cb196-162e52606-a7300000ca95513d-tdxtdbbak, portal: 10.168.200.240,3260] (multiple)
Login to [iface: default, target: iqn.2001-05.com.equallogic:0-1cb196-162e52606-a7300000ca95513d-tdxtdbbak, portal: 10.168.200.240,3260] successful.

[root@ntsmsdb1 ~]# iscsiadm -m node –T iqn.2001-05.com.equallogic:0-1cb196-162e52606-a7300000ca95513d-tdxtdbbak -p 110.168.200.240 –op update -n node.startup -v automatic

–卸载iscsi存储
[root@ntsmsdb1 ~]# iscsiadm -m node –logoutall=all
Logging out of session [sid: 2, target: iqn.2001-05.com.equallogic:0-1cb196-162e52606-a7300000ca95513d-tdxtdbbak, portal: 10.168.200.240,3260]
Logging out of session [sid: 3, target: iqn.2001-05.com.equallogic:0-1cb196-dc6282933-5e19fee090c5513d-tdxtdb, portal: 10.168.200.244,3260]
Logout of [sid: 2, target: iqn.2001-05.com.equallogic:0-1cb196-162e52606-a7300000ca95513d-tdxtdbbak, portal: 10.168.200.240,3260] successful.
Logout of [sid: 3, target: iqn.2001-05.com.equallogic:0-1cb196-dc6282933-5e19fee090c5513d-tdxtdb, portal: 10.168.200.244,3260] successful.

[root@ntsmsdb1 ~]# iscsiadm -m node –op delete –targetname iqn.2001-05.com.equallogic:0-1cb196-162e52606-a7300000ca95513d-tdxtdbbak
[root@ntsmsdb1 ~]# iscsiadm -m node –op delete –targetname iqn.2001-05.com.equallogic:0-1cb196-dc6282933-5e19fee090c5513d-tdxtdb
[root@ntsmsdb1 ~]#
–iscsi操作总结
增加iscsi存储
(1)发现iscsi存储:iscsiadm -m discovery -t st -p ISCSI_IP
(2)查看iscsi发现记录:iscsiadm -m node
(3)登录iscsi存储:iscsiadm -m node -T LUN_NAME -p ISCSI_IP -l
(4)开机自动: iscsiadm -m node –T LUN_NAME -p ISCSI_IP –op update -n node.startup -v automatic

删除iscsi存储
(1)登出iscsi存储 iscsiadm -m node -T LUN_NAME -p ISCSI_IP -u
(2)对出iscsi所有登录 iscsiadm -m node –logoutall=all
(3)删除iscsi发现记录:iscsiadm -m node -o delete -T LUN_NAME -p ISCSI_IP

登入需验证码的节点
(1)开启认证
iscsiadm -m node -T LUN_NAME -o update –name node.session.auth.authmethod –value=CHAP
*.使用-o同–op
(2)添加用户
iscsiadm -m node -T LUN_NAME –op update –name node.session.auth.username –value=[用户名]
(3)添加密码
iscsiadm –m node –T LUN_NAME –op update –name node.session.auth.password –value=[密码]

Linux无法登录,显示module is unknown

早上有个同事反映使用vmware控制台登陆某台Centos操作系统时,出现无法登录,并显示一闪而过的错误信息module is unknown,用户名与密码均正确,使用ssh命令行工具是可以登陆的。

于是检查日志信息如下:

[root@ntsmsdb1 log]# tail -200f /var/log/secure

Jun 4 09:41:28 ntsmsdb1 login: PAM adding faulty module: /lib/security/pam_limits.so
Jun 4 09:42:04 ntsmsdb1 unix_chkpwd[2571]: password check failed for user (root)
Jun 4 09:42:04 ntsmsdb1 login: pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=tty1 ruser= rhost= user=root
Jun 4 09:42:05 ntsmsdb1 login: FAILED LOGIN 1 FROM (null) FOR root, Authentication failure
Jun 4 09:42:10 ntsmsdb1 login: pam_unix(login:session): session opened for user root by LOGIN(uid=0)
Jun 4 09:42:10 ntsmsdb1 login: Module is unknown
Jun 4 09:42:12 ntsmsdb1 login: PAM unable to dlopen(/lib/security/pam_limits.so): /lib/security/pam_limits.so: cannot open shared object file: No such file or directory
Jun 4 09:42:12 ntsmsdb1 login: PAM adding faulty module: /lib/security/pam_limits.so
Jun 4 09:42:14 ntsmsdb1 login: pam_unix(login:session): session opened for user root by LOGIN(uid=0)
Jun 4 09:42:14 ntsmsdb1 login: Module is unknown
Jun 4 10:05:56 ntsmsdb1 sshd[2266]: pam_unix(sshd:session): session closed for user root
Jun 4 10:08:43 ntsmsdb1 login: PAM unable to dlopen(/lib/security/pam_limits.so): /lib/security/pam_limits.so: cannot open shared object file: No such file or directory
Jun 4 10:08:43 ntsmsdb1 login: PAM adding faulty module: /lib/security/pam_limits.so
Jun 4 10:08:44 ntsmsdb1 login: pam_unix(login:session): session opened for user root by LOGIN(uid=0)
Jun 4 10:08:45 ntsmsdb1 login: Module is unknown

解决办法:

session required /lib/security/pam_limits.so 修改为==》
session required /lib64/security/pam_limits.so

 

hadoop在Centos上的安装

[root@Yy86 ~]# uname -a
Linux Yy86 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:27:17 EDT 2006 i686 i686 i386 GNU/Linux
1,安装jdk
chmod +x jdk-6u3-linux-i586.bin
./jdk-6u3-linux-i586.bin
mv jdk1.6.0_03 /usr/local/
2,导入环境变量
export  JAVA_HOME=/usr/local/jdk1.6.0_03
export  CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export  PATH=$JAVA_HOME/bin:$PATH:$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
3,安装Hadoop 及配置
(1)以root登录,在所有节点上分别修改/etc/hosts,添加如下内容:  
192.168.1.102  hadoop.master
192.168.1.101  hadoop.slave1
(2)用root登陆,建立hadoop用户 
useradd hadoop
passwd zhong
(3)进入hadoop目录,使用如下命令:(注意权限问题)(所有节点上都要执行)
  注意:如果是master和salve的IP有变化的话,需要重新执行此步。
(出现问题可使用root账户查看/var/log/secure日志文件)
su – hadoop             #进入hadoop用户目录
ssh-keygen -t rsa      #建立ssh目录,敲回车到底,这个命令将为hadoop上的用户
hadoop生成其密钥对,询问其保存路径时直接回车采用默认路径,当提示要为生成的密钥输入passphrase的时 候,直接回车,
也就是将其设定为空密码。生成的密钥对id_rsa,id_rsa.pub,默认存储在/root/.ssh目录下
chmod 755 .ssh           #赋予755权限
cd .ssh
#ls –l
id_rsa  id_rsa.pub
(4)这一步骤仅在master上执行,下列命令会提示你输入slave1的密码,按照提示输入即可,如果失败可重新尝试执行命令
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#把公用密匙添加到authorized_keys 文件中(此文件最后一定要赋予644权限)
ssh hadoop.slave1 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
#上面条命令是把其他slave节点的公钥拷贝到master节点中的authorized_keys,#有几个slave节点就需要运行几次命令,slave1是节点名称
scp ~/.ssh/authorized_keys hadoop.slave1:~/.ssh/authorized_keys
#把authorized_keys文件拷贝回每一个节点,slave1是节点名称
(5)在master上连接所有slave节点,输入如下命令,上有几个slave节点就要输入几次,
注意每次输入后,要返回master节点,重新输入命令:
    ssh hadoop.slave1  #需要选择yes/no 选择yes即可
此时 ls .ssh 结果如下:
authorized_keys  id_rsa  id_rsa.pub  known_hosts
(6)Hadoop的安装到目录/usr/local  .        
tar  -xvfz  hadoop-0.20.2.tar.gz
mv hadoop-0.20.2 /usr/local/
(7)配置环境变量(.bash_profile)  
export  HADOOP_HOME=/usr/local/hadoop-0.20.2
export PATH=$PATH:$HADOOP_HOME/bin
(8)修改Hadoop的配置文件,在hadoop文件的conf文件夹中 
A 、masters文件里添加如下内容:
192.168.1.102
B、slaves文件添加如下内容:
192.168.1.101
注:配置IP的地方尽量不要用主机名,否则不通用,易出问题。
(9)修改以下共3个xml配置文件:
首先hadoop-env.sh中添加如下语句:
export JAVA_HOME=/usr/local/jdk1.6.0_03
core-site.xml添加如下语句在<configuration></configuration>之间:
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.1.102:9000</value>
</property>
注意,这样配成IP 192.168.1.102,不要用主机名master, 否则eclipse里连接不上。
先要在操作系统上创建该目录:/home/hadoop/tmp
 <property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>
mapred-site.xml添加如下语句在<configuration></configuration>之间:
<property>
<name>mapred.job.tracker</name>
<value>192.168.1.102:9001</value>
</property>
hdfs-site.xml添加如下语句在<configuration></configuration>之间,
replication 默认为3,如果不修改,datanode 少于三台就会报错
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
10、配置好的hadoop和jdk发送到其他节点上:
scp -r /usr/local/hadoop-0.20.2 hadoop.slave1:/usr/local/
scp -r /usr/local/ jdk1.6.0_03  hadoop.slave1:/usr/local/
(11)配置好后在master机器上进入hadoop的bin目录 格式化文件系统(一定要)              ./hadoop namenode -format  #格式化文件系统
./start-all.sh             #启动namenode上的hadoop
  确保9001和9000端口是通的。
jps  查看是否启动正常!