CentOS7安装Oracle11g笔记

  • 下载安装包下载,解压
  • 添加host192.168.192.130 vm_c7
  • 关闭selinux,防火墙
  • 安装依赖包

    1
    yum install gcc make binutils gcc-c++ compat-libstdc++-33elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-develnumactl-devel sysstat unixODBC unixODBC-devel pcre-devel –y
  • 添加安装用户和组

    1
    2
    3
    4
    5
    groupadd oinstall
    groupadd dba
    useradd -g oinstall -G dba oracle
    passwd oracle
    id oracle
  • 修改内核参数配置文件,vim /etc/sysctl.conf,添加内容,执行sysctl -p,其中kernel.shmmax = 1073741824为物理内存的一半

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.shmall = 2097152
    kernel.shmmax = 1073741824
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 9000 65500
    net.core.rmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048576
  • 修改用户限制文件vim /etc/security/limits.conf,添加内容:

    1
    2
    3
    4
    5
    oracle           soft    nproc           2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    oracle soft stack 10240
  • 修改/etc/pam.d/login文件,添加内容:

    1
    2
    session required  /lib64/security/pam_limits.so
    session required pam_limits.so
  • 修改/etc/profile文件,添加内容:

    1
    2
    3
    4
    5
    6
    7
    8
    if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
    else
    ulimit -u 16384 -n 65536
    fi
    fi
  • 创建安装目录

    1
    2
    3
    4
    5
    6
    mkdir -p /data/oracle/product/11.2.0
    mkdir /data/oracle/oradata
    mkdir /data/oracle/inventory
    mkdir /data/oracle/fast_recovery_area
    chown -R oracle:oinstall /data/oracle
    chmod -R 775 /data/oracle
  • 设置oracle用户的环境变量

    1
    2
    su - oracle
    vim .bash_profile

    添加内容:

    1
    2
    3
    4
    5
    ORACLE_BASE=/data/oracle
    ORACLE_HOME=$ORACLE_BASE/product/11.2.0
    ORACLE_SID=ora11
    PATH=$PATH:$ORACLE_HOME/bin
    export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
  • 编辑静默安装响应文件

    1
    2
    3
    cp -R /data/oracle/oraclesetup/database/response/ .
    cd response/
    vim db_install.rsp

    设置内容如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    oracle.install.option=INSTALL_DB_SWONLY
    ORACLE_HOSTNAME=CentOS
    UNIX_GROUP_NAME=oinstall
    INVENTORY_LOCATION=/data/oracle/inventory
    SELECTED_LANGUAGES=en,zh_CN
    ORACLE_HOME=/data/oracle/product/11.2.0
    ORACLE_BASE=/data/oracle
    oracle.install.db.InstallEdition=EE
    oracle.install.db.DBA_GROUP=dba
    oracle.install.db.OPER_GROUP=dba
    DECLINE_SECURITY_UPDATES=true
  • 根据响应文件静默安装Oracle11g

    1
    2
    cd /data/oracle/oraclesetup/database/
    ./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq
  • 安装成功后,按照脚本要求,打开终端,执行脚本

    1
    2
    sh /data/oracle/inventory/db_1/orainstRoot.sh
    sh /data/oracle/product/11.2.0/db_1/
  • 以静默方式配置监听

    1
    netca /silent /responseFile /home/oracle/response/netca.rsp
  • 检查端口是否开启

    1
    netstat -tnulp | grep 1521
  • 以静默方式建立新库,同时也建立一个对应的实例,vim /home/oracle/response/dbca.rsp
    修改配置:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    GDBNAME= "ora11"
    SID =" ora11"
    SYSPASSWORD= " system@2016"
    SYSTEMPASSWORD= "system@2016"
    SYSMANPASSWORD= " system@2016"
    DBSNMPPASSWORD= " system@2016"
    DATAFILEDESTINATION=/data/oracle/oradata
    RECOVERYAREADESTINATION=/data/oracle/fast_recovery_area
    CHARACTERSET= "ZHS16GBK"
    TOTALMEMORY= "1638"
  • 执行配置 dbca -silent -responseFile /home/oracle/response/dbca.rsp

  • 检查实例进程 ps -ef | grep ora_
  • 查看监听状态 lsnrctl status
  • 若找不到监听,修改/data/oracle/product/11.2.0/network/admin/listener.ora,添加

    1
    2
    3
    4
    5
    6
    7
      SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (GLOBAL_DBNAME = ora11)
    (SID_NAME = ora11)
    )
    )
  • 登录后查看实例 sqlplus / as sysdba,执行sqlSQL> select status from v$instance;

  • 修改 /data/oracle/product/11.2.0/bin/dbstart,将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
  • 修改 /data/oracle/product/11.2.0/bin/dbshut,将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
  • 修改/etc/oratab文件,将orcl:/data/oracle/product/11.2.0:N中最后的N改为Y,成为orcl:/data/oracle/product/11.2.0:Y
  • 切换root用户,设置开机启动
  • 设置开机启动

    1
    2
    su -
    vim /etc/rc.d/init.d/oracle

    添加内容:

    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
    50
    51
    52
    53
    #!/bin/bash
    #oracle: Start/Stop Oracle Database 11g R2
    #chkconfig: 345 90 10
    #description: The Oracle Database is an Object-Relational Database ManagementSystem.
    #
    . /etc/rc.d/init.d/functions
    LOCKFILE=/var/lock/subsys/oracle
    ORACLE_HOME=/data/oracle/product/11.2.0
    ORACLE_USER=oracle

    case "$1" in
    'start')
    if [ -f $LOCKFILE ];then
    echo $0 already running.
    else
    echo -n $"StartingOracle Database:"
    su - $ORACLE_USER -c"$ORACLE_HOME/bin/lsnrctl start"
    su - $ORACLE_USER -c"$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
    su - $ORACLE_USER -c"$ORACLE_HOME/bin/emctl start dbconsole"
    touch $LOCKFILE
    fi
    ;;

    'stop')
    if [ ! -f $LOCKFILE ]; then
    echo $0 already stopping.
    else
    echo -n $"StoppingOracle Database:"
    su - $ORACLE_USER -c"$ORACLE_HOME/bin/lsnrctl stop"
    su - $ORACLE_USER -c"$ORACLE_HOME/bin/dbshut"
    su - $ORACLE_USER -c"$ORACLE_HOME/bin/emctl stop dbconsole"
    rm -f $LOCKFILE
    fi
    ;;

    'restart')
    $0 stop
    sleep 5
    $0 start
    ;;

    'status')
    if [ -f $LOCKFILE ]; then
    echo $1 started.
    else
    echo $0 stopped.
    fi
    ;;
    *)
    echo "Usage: $0[start|stop|status]"
    exit 1
    esac
    exit 0

    修改权限chmod 755 /etc/init.d/oracle

  • 设置开机启动chkconfig oracle on

CentOS6安装ceph笔记

安装前准备

  • 准备三台机器,分别修改hostname,vim /etc/sysconfig/network,分别修改成ceph-node1,ceph-node2,ceph-node3

    1
    HOSTNAME=ceph-node1
  • 在ceph-node1上设置免密码ssh登录

    1
    2
    3
    ssh-keygen
    ssh-copy-id ceph-node2
    ssh-copy-id ceph-node3
  • 在ceph-node1的机器上修改hosts,vim /etc/hosts

    1
    2
    3
    192.168.57.101 ceph-node1
    192.168.57.102 ceph-node2
    192.168.57.103 ceph-node3
  • 将hosts复制到cehp-node2,ceph-node3上

    1
    2
    scp /etc/hosts root@cehp-node2:/ect/hosts
    scp /etc/hosts root@cehp-node3:/ect/hosts
  • 三台机器分别使用国内的163的yum镜像

    1
    2
    3
    4
    5
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    cd /etc/yum.repos.d/
    wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
    mv CentOS6-Base-163.repo CentOS-Base.repo
    yum makecache
  • 三台机器分别升级系统

    1
    yum update
  • 三台机器同步时间

    1
    2
    3
    ntpdate pool.ntp.org
    service ntpd restart
    chkconfig ntpd on
  • 添加ceph的yum源,vim /etc/yum.repos.d/ceph.repo,内容如下:

  • 使用国内ceph镜像,ceph最版本不提供centos6的包,只能安装hammer之前的版本。

    1
    2
    export CEPH_DEPLOY_REPO_URL=http://mirrors.163.com/ceph/rpm-hammer/el6
    export CEPH_DEPLOY_GPG_URL=http://mirrors.163.com/ceph/keys/release.asc

owncloud私有云盘安装笔记

安装笔记

服务器环境centos6.8,其他的操作系统会不同,请看官方文档。

  1. php的版本必须5.4或5.4以上,安装php,mysql,apache我用操作系统自带的,操作系统若有之前版本php需卸载。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    yum install centos-release-SCL
    yum install php54 php54-php php54-php-gd php54-php-mbstring
    yum install php54-php-mysqlnd
    service httpd restart
    chkconfig httpd on

    yum install mysql-server mysql mysql-devel
    service mysqld start
    chkconfig mysqld on
  2. 下载owncloud

    1
    2
    3
    wget https://download.owncloud.org/community/owncloud-9.1.0.tar.bz2 --no-check-certificate
    tar -jxvf owncloud-9.1.0.tar.bz2
    mv owncloud /var/www/

redis总结

安装

1 检查依赖,需要安装gcc-c++,tcl

1
2
yum install gcc-c++
yum install -y tcl

2 下载安装redis

1
2
3
4
wget http://download.redis.io/releases/redis-3.2.1.tar.gz
tar -zxvf redis-3.2.1.tar.gz
cd redis-3.2.1
make&&make install

3 安装完成后/usr/local/bin下会生成几个可执行文件

命令 描述
redis-server Redis服务器端启动程序
redis-cli Redis客户端操作工具。也可以用telnet根据其纯文本协议来操作
redis-benchmark Redis性能测试工具
redis-check-aof 数据修复工具
redis-check-dump 检查导出工具

Haskell入门

Haskell入门

Haskell Platform

基本语法

函数


打开编辑器,输入内容,保存为fun.hs

1
2
3
doubleMe x = x + x
doubleUs x y = doubleMe x + doubleMe y
doubleSmallNumber' x = (if x>100 then x else x+x) + 1

打开命令行,执行:

1
2
3
4
5
6
7
8
9
10
11
ghci> :l fun
ghci> doubleMe 9
9
ghci>doubleUs 10 20
60

ghci>doubleSmallNumber' 10
21
ghci>dou
ghci>doubleSmallNumber' 101
102

openssl加密解密

生成密钥和公钥

1
2
3
4
5
6
7
8
9
10
# 使用 RSA 生成1024位的私钥
# -out: 指定生成的私钥的文件名
# 1024: 为密钥的长度
$ openssl genrsa -out rsa.private 1024

# 使用上面的私钥生成公钥
# -in: 指定输入公钥的文件名
# -out: 指定生成公钥的文件名
# -outform: 指定生成PEM格式的公钥
$ openssl rsa -in rsa.private -out rsa.public -pubout -outform PEM

使用公钥加密,私钥解密

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 生成测试文件 test.txt
$ echo 'hello, world!' > test.txt

# 使用公钥加密文件: test.enc
# -in: 指定被加密的文件
# -inkey: 指定公钥文件
# -pubin: 指定用纯公钥文件加密
# -out: 输出加密后的文件
$ openssl rsautl -encrypt -in test.txt -inkey rsa.public -pubin -out test.enc

# 使用私钥解密: test.dec
# -in: 指定被加密的文件
# -inkey: 指定私钥文件
# -out: 输出解密后的文件
$ openssl rsautl -decrypt -in test.enc -inkey rsa.private -out test.dec

使用私钥加密,公钥解密

1
2
3
4
5
# 生成测试文件 test.plain
$ echo 'hello, world!' > test.plain

openssl rsautl -inkey rsa.private -in test.plain -sign -out test.signed
openssl rsautl -inkey rsa.pub -pubin -in test.signed

sass

FAQ

sass中文注释

在win7系统下,中文注释会出现报错:error style.scss (Line 7: Invalid GBK character “\xE5”)

解决方法
1.打开这个文件:C:\Ruby200\lib\ruby\gems\2.0.0\gems\sass-3.4.13\lib\sass\engine.rb
2.在require 'sass/supports'中添加一行Encoding.default_external = Encoding.find('utf-8')

Centos安装Python 2.7 python-pip

准备工作

下载python包

1
wget http://python.org/ftp/python/2.7.11/Python-2.7.11.tgz

查看是否安装make工具

1
2
3
~#rpm -qa|grep make
automake-1.11.1-4.el6.noarch
make-3.81-20.el6.x86_64

如果没有安装make工具

1
yum -y install gcc automake autoconf libtool make

查看是否安装zlib库

1
2
3
~#rpm -qa|grep zlib
zlib-devel-1.2.3-29.el6.x86_64
zlib-1.2.3-29.el6.x86_64

安装zlib

1
yum install zlib-devel

检查是否安装ssl 库

1
2
3
4
5
6
~#rpm -qa|grep openssl
openssl-devel-1.0.1e-16.el6_5.x86_64
openssl-static-1.0.1e-16.el6_5.x86_64
openssl098e-0.9.8e-17.el6.centos.2.x86_64
openssl-1.0.1e-16.el6_5.x86_64
openssl-perl-1.0.1e-16.el6_5.x86_64

安装openssl

1
yum install openssl*

安装bzip2依赖库

1
yum install -y bzip2*