蓝皮书的自留地

运筹帷幄,决胜千里

[toc]

oracle expdp/impdp的常用用法总结

1、导出某个用户下的所有东东

schemas=schemas 名称 liups

1
expdp system/liups.com schemas=liups DIRECTORY=DATA\_PUMP\_DIR dumpfile=liups.com.dmp logfile=liups.com.log

2、只导出表结构不导出数据、或者只导出数据不导出表结构

CONTENT 指定要卸载的数据。 有效的关键字值为: [ALL], DATA_ONLY 和 METADATA_ONLY 。 DATA_ONLY :只导出数据 METADATA_ONLY : 只导出表结构(元数据) 只导出表结构不导出数据

阅读全文 »

一. 安装gnome图形化桌面

1
2
3
#yum groupinstall -y "X Window System"
#yum groupinstall -y "Desktop"
#yum groupinstall -y "Chinese Support"

二. 安装vncserver并配置

1.安装vncserver

1
#yum install -y tigervnc-server

2.配置vncserver

1).配置为开机自启动

1
#chkconfig --level 345 vncserver on

2).配置vnc密码

1
2
3
4
#vncserver
You will require a password to access your desktop.
Password:
Verify:

3).配置为使用gnome桌面

修改 /root/.vnc/xstartup文件,把最后的twm &删掉 加上 gnome-session &

4).配置vncserver启动后监听端口和环境参数

修改/etc/sysconfig/vncservers 文件添加以下内容

1
VNCSERVERS="1:root"
阅读全文 »

当发生Too many connections时,即使是DBA也无法登录到数据库,一般的做法是修改配置文件的max_connections参数,然后重启数据库,这样业务就有几秒钟的中断。

还有一个hack的方法,用过gdb直接修改mysqld内存中max_connections的值,具体做法如下:

gdb -ex "set max_connections=5000" -batch -p `pgrep -x mysqld`


原创文章,转载请注明出处:Louis Hust’s Blog

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# 列出规则,供查看
iptables -L -n
# stop iptables, 如果清空规则前没有停止,ssh 会断掉,必须重启系统
/etc/init.d/iptables stop
# 清空规则
iptables -F
# 允许内网ip访问所有端口
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
# 允许本地回环接口(即运行本机访问本机)
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
# 允许访问22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 允许访问80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 允许所有ip访问80端口
iptables -A INPUT -p tcp -s 0/0 --dport 80 -j ACCEPT
# 允许本地发起的连接返回数据到任意端口。本地作为客户端可以发起到任何ip和端口的请求,这条规则确保能够收到返回
#------------------when conntrack unkonw error use this
# sudo /sbin/iptables -A OUTPUT -m state --state NEW,ESTABLISHED -j ACCEPT
# sudo /sbin/iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
# sudo /sbin/iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
#---------------------------------------------------------------
iptables -A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
# 允许80端口返回数据
iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
# 允许返回数据给所有ip所有端口 允许所有本机向外的访问
iptables -A OUTPUT -j ACCEPT
# 除上面允许的规则,抛弃所有INPUT请求 (注意:如果22端口未加入允许规则,SSH链接会直接断开。)
iptables -P INPUT DROP
# 除上面允许的规则,抛弃所有FORWARD请求
iptables -P FORWARD DROP
# 除上面允许的规则,抛弃所有OUTPUT请求
iptables -P OUTPUT DROP
# 备份
iptables-save > /etc/iptables/iptables.rules
# (cat /etc/sysconfig/iptables > /etc/iptables/iptables.rules )
# 保存(ArchLinux系统下的路径可能和其他系统下的路径不同)
sudo /etc/rc.d/init.d/iptables save
# 重新启动
sudo service iptables restart
# (/etc/init.d/iptables restart)
# 列出规则,供查看
iptables -L -n
# iptables 安装后 iptables 命令无效,可能是因为该用户的PATH不包括/sbin和/usr/sbin, 可用 sudo /sbin/iptables 运行

文章转自:http://www.badnotes.com/2013/10/03/iptables/

[toc]

今天查找Oracle Enterprise Manager Cloud Control  的信息发现13c已经发布了,Oracle Enterprise Manager Cloud Control  12c还没使用呢,13c竟然发布了。。

下载及介绍: http://www.oracle.com/technetwork/oem/enterprise-manager/downloads/index.html

Oracle Enterprise Manager Downloads

Oracle Enterprise Manager Cloud Control 13c Release 2 Plug-in Update 1 (13.2.0.0) New!

Enterprise Manager Base Platform (Full Installers for OMS, Agent, Repository, Management Plug-ins)

Download for Linux x86-64 (64-bit) Download for Windows x86-64 (64-bit) Download for Solaris Operating System (SPARC) Download for Solaris Operating System (x86-64) Download for IBM AIX on POWER Systems (64-bit) Download for HP-UX Itanium (64-bit)

Additional Required Software for Oracle Enterprise Manager Cloud Control 13c Release 2 Plug-in Update 1 (13.2.0.0)

阅读全文 »

oracle中经常碰到误删除数据的情况,之前都是通过as of timestamp 进行查询,然后进行update等反操作,今天发现可以直接flashbak table to 误操作之前的一个时间点,但是需要开始行迁移即:

1
alter table[schema.]table_name enable row movement;

语法:flashback table [schema.]table_name[,…n] to {[scn] [timestamp] [[enable disable] triggers]}

https://docs.oracle.com/cd/B28359\_01/server.111/b28286/statements\_9012.htm

当然这样的话就直接还原到误删除 的时间点了,有时候不确定是什么时候的误删除,可以通过as of timestamp 查询一下数据是否符合要求,如果符合要求就可以使用

1
2
SQL> FLASHBACK TABLE scott.dept TO TIMESTAMP (SYSTIMESTAMP - INTERVAL '11' minute);
Flashback complete.

既可。

1、skip-grant-tables 我们常用的方法是使用skip-grant-tables选项,为了安全起见,通常加上skip-networking,mysqld 不侦听任何TCP/IP连接请求。

1)修改my.cnf配置文件,在mysqld选项中添加skip-grant-tablesskip-networking

2)再重启mysqld server

阅读全文 »

linux下kill掉某个用户的所有进程的简单快捷的方法,某日一用户最大连接数超限了,无法正常登录,只能用root kill掉其所有的进程,简单的命令如下:

1
2
3
1. pkill # pkill -u  username 

2. killall # killall -u username

然后轻松搞定,用root修改最大连接数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/sh
# chkconfig: 345 10 10
# description: Oracle dgstart / dbshut
#
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_UNQNAME=liupsdg
export ORACLE_SID=liups
export ORACLE_OWNER=oracle
LOGFILE=$ORACLE_BASE/dgstartup.log
echo "[$(date "+%F %T")]:########begin#######" >> ${LOGFILE}
echo "[$(date "+%F %T")]:/etc/init.d/oracle Begin 2 run:" >> ${LOGFILE}
if [ ! -f ${ORACLE_HOME}/bin/dgstart ] || [ ! -f ${ORACLE_HOME}/bin/dbshut ]; then
echo "Error: Missing the script file ${ORACLE_HOME}/bin/dbstart or ${ORACLE_HOME}/bin/dbshut!" >> ${LOGFILE}
echo "#################################" >> ${LOGFILE}
exit
fi
start(){
echo "[$(date "+%F %T")]:Startup Database..."
su - ${ORACLE_OWNER} -c "${ORACLE_HOME}/bin/dgstart ${ORACLE_HOME}"
touch /var/lock/subsys/oracle
echo "[$(date "+%F %T")]:Startup Database Done."
su - ${ORACLE_OWNER} -c "$ORACLE_HOME/bin/emctl start dbconsole"
}
stop(){
echo "[$(date "+%F %T")]:Shutdown Database..."
su - ${ORACLE_OWNER} -c "${ORACLE_HOME}/bin/dbshut ${ORACLE_HOME}"
echo "[$(date "+%F %T")]:Shutdown Database Done."
rm -f /var/lock/subsys/oracle
su - ${ORACLE_OWNER} -c "$ORACLE_HOME/bin/emctl stop dbconsole"
}
case "$1" in
'start')
start >> ${LOGFILE}
;;
'stop')
stop >> ${LOGFILE}
;;
'restart')
stop >> ${LOGFILE}
start >> ${LOGFILE}
;;
*)
echo "Usage: 'basename $0' start|stop|restart"
exit 1
esac
echo "[$(date "+%F %T")]:Finished." >> ${LOGFILE}
echo "[$(date "+%F %T")]:########end#######" >> ${LOGFILE}
exit 0
0%