(转载)windows下端口占用解决方法-查看和杀死占用端口进程

在Windows下启动程序时有时会遇到端口被占用的情况,由于一个端口同时只能运行一个进程,所以要想启动新的程序就要先把占用该端口的进程给kill掉,具体的命令分为以下三步,

以杀死占用了80端口的进程为例:

1、根据端口号“80”查找进程号

netstat -ano|findstr "80"

TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 7796

2、根据进程号“7796”查找进程名

tasklist|findstr 7796

java.exe 7796 Console 1 57,368 K

3、根据进程名杀死进程

taskkill /f /t /im java.exe

成功: 已终止 PID 7796 (属于 PID 9052 子进程)的进程。

4、或者根据pid杀死进程

taskkill /pid 7796

成功: 给进程发送了终止信号,进程的 PID 为 7796。

QQ截图20171011151820.png

from: http://blog.csdn.net/rchm8519/article/details/49991805

ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法

  1. 用sys用户登录

  2. ORACLE_SID=orcl

sqlplus /nolog
connect / as sysdba

  1. 检查flash recovery area的使用情况,可以看见archivelog已经很大了,达到96.62
    SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

  1. 找到recovery目录, show parameter recover
    SQL> show parameter recover;

7 上述结果告诉我们,归档位置用的是默认值
/u01/app/oracle
[root@sha3 10.2.0]# cd $ORACLE_BASE/flash_recovery_area/tt/archivelog
转移或清除对应的归档日志, 删除一些不用的日期目录的文件,注意保留最后几个文件(比如360以后的)


注意:

在删除归档日志后,必须用RMAN维护控制文件,否则空间显示仍然不释放。

  1. [root@sha3 oracle]# rman target sys/db

  1. 检查一些无用的archivelog
    RMAN> crosscheck archivelog all;

  1. 删除过期的归档
    RMAN> delete expired archivelog all;

  2. 再次查询,发现使用率正常,已经降到23.03
    SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

docker初了解

Docker是什么

http://www.runoob.com/docker/docker-tutorial.html

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker架构

Docker优缺点

  • 优点

Docker可以解决虚拟机能够解决的问题,同时也能够解决虚拟机由于资源要求过高而无法解决的问题。Docker能处理的事情包括:

  1. 隔离应用依赖

  2. 创建应用镜像并进行复制

  3. 创建容易分发的即启即用的应用

  4. 允许实例简单、快速地扩展

  5. 测试应用并随后销毁它们

Docker背后的想法是创建软件程序可移植的轻量容器,让其可以在任何安装了Docker的机器上运行,而不用关心底层操作系统,就像野心勃勃的造船者们成功创建了集装箱而不需要考虑装在哪种船舶上一样。

  • 缺点

Docker使用

安装

  • Ubuntu(Debain)环境下安装

sudo apt-get update

sudo apt-get install linux-image-extra

sudo sh -c "echo deb http://get.docker.io/ubuntu docker main\
/etc/apt/sources.list.d/docker.list"

sudo apt-get update

sudo apt-get install lxc-docker

或者使用广发的sh脚本

curl -s https://get.docker.io/ubuntu/ | sudo sh

  • Centos 环境

  • windows

Docker可以用虚拟主机技术运行在Windows上像virtualbox,你可以运行linux在虚拟主机里!

使用镜像

常用docker命令

  • pull

拉取镜像:docker pull ubuntu:latest

列出镜像:docker images

删除镜像:docker rmi [OPTIONS] IMAGE [IMAGE...]

例如:docker rmi -f runoob/ubuntu:v4

  • run

启动一个镜像实例:

docker run -d --name=xpmjs-server  \
-e "HOST=uqcoin.com" \
-v /host/data:/data  \
-v /host/apps:/apps  \
-v /host/config:/config  \
-p 8000:80 -p 4430:443  \
tuanduimao/xpmjs-server:1.4.2

linux下用iptables做本机端口转发方法

概述:公司有一些核心MySQL服务器位于核心机房的内网段,作为运维人员,经常需要去连接这些服务器,因无法直接通过外网访问,给管理造成了不便。

思路:虽然解决此问题的方法及思路有很多,但当下想使用IPTABLES的端口重定向功能解决此问题,比较简单易用,而且扩展性也比较好,依次类推,可以运用到其他的端口转发方面的应用。
网络环境:

公网服务器 :eth0:公网IP eth1:内网IP - 192.168.1.1
MYSQL服务器: eth1:内网IP -192.168.1.2

实现方法:通过访问公网IP的63306端口来实现到内网MYSQL服务器的3306端口的访问
在公网服务器上:
配置脚本:

iptables -t nat -A PREROUTING -p tcp --dport 63306 -j DNAT --to-destination 192.168.1.2:3306
iptables -t nat -A POSTROUTING -d 192.168.1.2 -p tcp --dport 3306 -j SNAT --to 192.168.1.1

允许服务器的IP转发功能:

echo 1 > /proc/sys/net/ipv4/ip_forward

使用方法:

mysql -h 公网IP -p 63306 -uroot -p

Centos 操作如下:
1、 首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0
这样允许iptalbes FORWARD。
2、 service iptables stop 关闭防火墙
3、 配置规则,见上面。
4、service iptables save 将当前规则保存到 /etc/sysconfig/iptables
若你对这个文件很熟悉直接修改这里的内容也等于命令行方式输入规则。
5、 启动iptables 服务, service iptables start

====================================linux================================================
1 vi /etc/sysctl.conf
2 将net.ipv4.ip_forward=0更改为net.ipv4.ip_forward=1
3 sysctl -p(这条命令是使数据转发功能生效)
4 例如:你要将外网访问本地IP(192.168.75.5)的80端口转换为访问192.168.75.3的8000端口,你可以用如下命令:
(1)iptables -t nat -A PREROUTING -d 10.150.133.13 -p tcp --dport 8083 -j DNAT --to-destination 10.150.132.26:80
(2)iptables -t nat -A POSTROUTING -d 10.150.132.26 -p tcp --dport 80 -j SNAT --to-source 10.150.133.13
5 可以使用命令:iptables -t nat --list检查nat列表信息:

#service iptables save  

重启iptables使刚才添加的规则生效

#service iptables restart 
# iptables -t nat -L --line-number //列出规则的编号  
# iptables -t nat -D PREROUTING 1 //删除PREROUTING中的第2条规则 
# iptables -t nat -D POSTROUTING 1 //删除PREROUTING中的第2条规则 

查看oracle 系统临时表空间、undo表空间、SGA和PGA大小

1)检查oracle系统临时表空间大小:
select sum(bytes)/1024/1024 "temp size(M)" from dba_temp_files where tablespace_name='TEMP';

2)查询undo表空间大小
select sum(bytes)/1024/1024 "current undo size(M)" from dba_data_files where tablespace_name='UNDOTBS1';

3)查询SGA和PGA:
SQL> show parameter sga;
获得sga_max_size和sga_target的值
SQL> show parameter pga;
获得pga_aggregate_target的值

参考值:
现场服务器是8G内存,SGA设置为4G,PGA设置为1G
现场服务器是16G内存,SGA设置为10G,PGA设置为2G
现场服务器是32G内存,SGA设置为20G,PGA设置为4G

修改方法:
pfile:
sga_max_size=4G
sga_target=4G
pga_aggregate_target=1G

spfile:
SQL> alter system set sga_max_size=4G scope=spfile;
SQL> alter system set sga_target=4G scope=spfile;
SQL> alter system set pga_aggregate_target=1G scope=spfile;

引自:http://blog.csdn.net/junmail/article/details/5403135