崖山从0到1系列01-YCA/YCP培训-01

崖山从0到1系列01-YCA/YCP培训-01
由于项目有崖山数据库需求,所以了解了一下崖山数据库,感觉崖山上手很容易,架构和ORACLE有很大相似之处。尤其是跟ORACLE的强大兼容性,在很多去O项目中,有不俗的成绩。
逛了一下崖山的官网,发现文档很全,很符合我的风哥,照着文档一路下来,基本很顺畅就能安装起来,这里一定要个大赞!
接下里一起带着大家走进崖山的从0到1吧!

第一章崖山db的安装部署-centos7.8安装yashandb23.2.3

–升级Openssl到1.1.1o(源码安装)
备份文件
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak

编译openssl-1.1.1o
官网下载地址:https://github.com/openssl/openssl/tags
tar zxvf openssl-OpenSSL_1_1_1o.tar.gz
cd openssl-OpenSSL_1_1_1o
./config --prefix=/usr/local/openssl
make && make install

建立连接
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
echo “/usr/local/openssl/lib” >> /etc/ld.so.conf
ldconfig -v

验证
openssl version

关闭交换分区

# sysctl -w vm.swappiness=0
# echo "vm.swappiness=0">> /etc/sysctl.conf

调整自动分配本地端口范围
使用cat /proc/sys/net/ipv4/ip_local_port_range查看连接可用的本地端口范围,下限值建议大于30000以减少端口冲突。

# sysctl -w net.ipv4.ip_local_port_range='32768 60999' 
echo "net.ipv4.ip_local_port_range=32768 60999" >> /etc/sysctl.conf

调整进程的VMA上限
使用sysctl -a|grep vm.max_map_count查看当前上限值,建议大于2000000以增大数据库进程可拥有的VMA大小。

# sysctl -w vm.max_map_count=2000000
 echo "vm.max_map_count=2000000" >> /etc/sysctl.conf 

系统限制

#调整资源限制值
将部分资源限制值(使用ulimit -a可查看所有的资源限制值)调整为推荐值或以上。
资源项 推荐值 COMMAND 资源项说明
open files 1048576 ulimit -n 1048576
vi /etc/security/limits.conf后添加

  • soft nofile 1048576
  • hard nofile 1048576 进程打开的文件数
    max user processes 1048576 ulimit -u 1048576
    vi /etc/security/limits.conf后添加
  • soft nproc 1048576
  • hard nproc 1048576 最大用户进程数
    max memory size unlimited ulimit -m unlimited
    vi /etc/security/limits.conf后添加
  • soft rss unlimited
  • hard rss unlimited 进程最大占用内存值
    stack size 8192 ulimit -s 8192
    vi /etc/security/limits.conf后添加
  • soft stack 8192
  • hard stack 8192 进程最大栈

echo "
 * soft nofile 65536
 * hard nofile 65536
 * soft nproc 65536
 * hard nproc 65536
 * soft rss unlimited
 * hard rss unlimited
 * soft stack 8192
 * hard stack 8192
" >> /etc/security/limits.conf

配置大页内存
启用大页内存
执行如下命令查看当前大页内存配置:(回显信息以实际为准)

$ grep -i huge /proc/meminfo
AnonHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

估算大页内存需求。首先估算YashanDB的大页内存需求:

配置参数 默认值
DATA_BUFFER_SIZE 32M
REDO_BUFFER_SIZE 8M
VM_BUFFER_SIZE 16M
SHARE_POOL_SIZE 64M
LARGE_POOL_SIZE 8M
DBWR_BUFFER_SIZE 4M
WORK_AREA_POOL_SIZE 16M
AUDIT_QUEUE_SIZE 16M
根据配置计算YashanDB所需内存总量UserSize,即上述所有配置项的总和(未配置的项目按默认值计算)

如需规划使用MMS表空间,还需估计MMS表空间所需内存总量MMSSize。

YashanDB至少需要大页内存空间LargePageSize = (UserSize + MMSSize + 64M) * 1.2。

YashanDB需要的大页内存页面数HugePages = Ceil(LargePageSize / Hugepagesize)。

Notice:

若将所有内存都划归大页管理,可能造成系统无法启动或其他异常,请谨慎使用。

配置时,需确保系统内存容量足以支持大页配置的数值。

启用大页内存并根据上述估算值更改相关配置:

本文以大页尺寸 2M、申请16个大页(即规划32M大页内存)为例,生产环境配置请以实际为准。

编辑/etc/sysctl.conf文件:

#vi /etc/sysctl.conf

追加以下配置:

vm.nr_hugepages=16
vm.nr_overcommit_hugepages=0

#关闭透明大页
部分操作系统默认开启了透明大页选项,可执行以下命令确认:

#Red Hat Enterprise Linux 内核
#cat /sys/kernel/mm/redhat_transparent_hugepage/enabled

#其他内核
#cat /sys/kernel/mm/transparent_hugepage/enabled

若显示[always] madvise never或always [madvise] never,则说明透明大页已开启。

若显示always madvise [never],则说明透明大页已关闭。

执行vi /etc/default/grub,在GRUB_CMDLINE_LINUX中添加或修改参数transparent_hugepage=never。

   GRUB_TIMEOUT=5
   GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
   GRUB_DEFAULT=saved
   GRUB_DISABLE_SUBMENU=true
   GRUB_TERMINAL_OUTPUT="console"
   GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet transparent_hugepage=never"
   GRUB_DISABLE_RECOVERY="true"
通过以下指令检查当前系统的引导类型:

# [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS

两种引导的启动文件路径分别为:

BIOS:/boot/grub2/grub.cfg
UEFI:/boot/efi/EFI/<distro_name>/grub.cfg,distro_name为系统发行版本名称,例如ubuntu、fedora、debian等。
执行grub2–mkconfig指令重新配置grub.cfg。

## BIOS 引导
# grub2-mkconfig -o /boot/grub2/grub.cfg
## UEFI 引导
# grub2-mkconfig -o /boot/efi/EFI/<distro_name>/grub.cfg
重启操作系统,使配置永久生效。

# reboot

验证透明大页已关闭:


## Red Hat Enterprise Linux 内核
# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled

## 其他内核
# cat /sys/kernel/mm/transparent_hugepage/enabled
应显示always madvise [never]。

关闭防火墙selinux

systemctl stop firewalld
vi /etc/selinux/config
disabled

–安装yashandb

新建用户
useradd yashan
echo yashan_123 |passwd yashan --stdin

创建用户组
groupadd YASDBA --必须大写
usermod -a -G YASDBA yashan --有了这个用户组,可以使用yasql / as sysdba 登录数据库

创建目录
mkdir -p /app/yasdb_home
mkdir -p /app/yasdb_data
mkdir -p /app/install
chown -R yashan:yashan /app

su - yashan
cd /app
rz
yashandb-personal-23.2.1.100-linux-x86_64.tar.gz
tar -zxvf yashandb-personal-23.2.1.100-linux-x86_64.tar.gz -C ./install

生成参数文件
$install/bin/yasboot package se gen --cluster yashandb -u yashan -p yashan_123 --ip 192.168.127.39 --port 22 --install-path /app/yasdb_home --data-path /app/yasdb_data --begin-port 1688

执行安装:重复安装需要加–force
install/bin/yasboot package install -t hosts.toml -i yashandb-personal-23.2.1.100-linux-x86_64.tar.gz
或者
执行部署并安装插件(插件实现dblink功能及更丰富的内置函数)
$ install/bin/yasboot package install -t hosts.toml -i yashandb-23.2.0.2-linux-x86_64.tar.gz --plugin yashandb-plugins-all-23.2.0.2-linux-x86_64.tar.gz
此步骤会运行yasom yasagent服务

部署数据库
install/bin/yasboot cluster deploy -t yashandb.toml

配置环境变量:

cd /app/yasdb_home/yashandb/23.2.1.100/conf

[yashan@db01 conf]$ vi yashandb.bashrc
export YASDB_HOME=/app/yasdb_home/yashandb/23.2.1.100
export PATH=${YASDB_HOME}/bin:$PATH
export LD_LIBRARY_PATH=${YASDB_HOME}/lib:$LD_LIBRARY_PATH
if command -v rlwrap >/dev/null 2>&1; then
  alias yasql="rlwrap yasql"
fi

export YASDB_DATA=/app/yasdb_data/db-1-1

[yashan@db01 conf]$
[yashan@db01 conf]$ cat yashandb.bashrc >> ~/.bashrc
source ~/.bashrc
env|grep YAS

YASDB_HOME=/app/yasdb_home/yashandb/23.2.1.100
YASDB_DATA=/app/yasdb_data/db-1-1

设置sys用户密码:至少8位,至少包含1个特殊字符,好像没有限制大写字母
[yashan@db01 conf]$ cd /app/yasdb_data/db-1-1/instance
ls
mv yasdb.pwd yasdb1.pwd
[yashan@db01 instance]$ yaspwd file=yasdb.pwd
Enter password for SYS:yas123
YASPW-00002 password complexity failed for SYS user : password must contain at least 8 characters
[yashan@db01 instance]$
[yashan@db01 instance]$ yaspwd file=yasdb.pwd
Enter password for SYS:yasdb123
YASPW-00002 password complexity failed for SYS user : password must contain at least 1 special character
[yashan@db01 instance]$ yaspwd file=yasdb.pwd
Enter password for SYS:yasdb_123

或者使用如下命令设置密码,更简单
yasboot cluster password set -n yashan_123 -c yashandb
yasql / as sysdba

使用YasBoot查看YashanDB数据库状态,显示以下信息表示安装成功

[yashan@db01 instance]$ yasboot cluster status -c yashandb
 host_id  | node_type | nodeid | pid
---------------------------------------
 host0001 | db        | 1-1:1  | 21938
----------+-----------+--------+-------


[yashan@db01 instance]$ ps -ef|grep yas

登陆验证,显示以下信息表示登陆成功

[yashan@db01 instance]$ yasql sys/yashan_123
SQL> select database_name,open_mode from v$database;

DATABASE_NAME                                                    OPEN_MODE
---------------------------------------------------------------- -----------------
yashandb                                                         READ_WRITE

1 row fetched.
SQL>
SQL> select instance_name,status from v$instance;

INSTANCE_NAME                                                    STATUS
---------------------------------------------------------------- -------------
yasdb                                                            OPEN

1 row fetched.

重启服务器,启动服务顺序
注意:数据库服务依赖yasom yasagent服务;
yasboot process yasom start -c yashandb
yasboot process yasagent start -c yashandb
yasboot cluster start -c yashandb
yasql sys/yashan_123

关机顺序(关闭数据库-关闭依赖服务)
yasboot cluster stop -c yashandb
yasboot process yasagent stop -c yashandb
yasboot process yasom stop -c yashandb

查看数据库状态
yasboot cluster status -c yashandb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

king01299

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值