ブロックサイズの変更と確認

(12R1)

--ブロックサイズ確認
show parameter db_block_size

デフォルト: 8k
値の範囲: 2k - 32k


--ブロックサイズの変更

DB作成時に初期化パラメータで指定する

vim $ORACLE_HOME/dbs/initorcl.ora
db_name='orcl'
memory_target=800M
db_domain='example.com'
control_files = ('/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl')
db_block_size = 32768


sqlplus / as sysdba


startup nomount;

CREATE DATABASE orcl
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/orcl/redo01a.log','/u01/app/oracle/oradata/orcl/redo01b.log') SIZE 100M BLOCKSIZE 512,
GROUP 2 ('/u01/app/oracle/oradata/orcl/redo02a.log','/u01/app/oracle/oradata/orcl/redo02b.log') SIZE 100M BLOCKSIZE 512,
GROUP 3 ('/u01/app/oracle/oradata/orcl/redo03a.log','/u01/app/oracle/oradata/orcl/redo03b.log') SIZE 100M BLOCKSIZE 512
MAXLOGHISTORY 1
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 1024
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/u01/app/oracle/oradata/orcl/system01.dbf'
SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
SYSAUX DATAFILE '/u01/app/oracle/oradata/orcl/sysaux01.dbf'
SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
DEFAULT TABLESPACE users
DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf'
SIZE 50M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE '/u01/app/oracle/oradata/orcl/temp01.dbf'
SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
UNDO TABLESPACE undo
DATAFILE '/u01/app/oracle/oradata/orcl/undo01.dbf'
SIZE 20M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
USER_DATA TABLESPACE usertbs
DATAFILE '/u01/app/oracle/oradata/orcl/usertbs01.dbf'
SIZE 20M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;


@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
@?/rdbms/admin/utlrp.sql
conn system/oracle
@?/sqlplus/admin/pupbld.sql
conn / as sysdba
create spfile from pfile;
shutdown immediate;
startup;

 

(5.6)

--ブロックサイズ確認
show variables like 'innodb_page_size';

デフォルト: 16k
値の範囲: 4k - 16k

--ブロックサイズの変更

DB初期化時にオプションで指定する

systemctl stop mysqld
rm -rf /var/lib/mysql

mkdir -p /var/lib/mysql

mysql_install_db --datadir=/var/lib/mysql --user=mysql --innodb-page-size=4k

chown -R mysql:mysql /var/lib/mysql

vim /etc/my.cnf

innodb-page-size=4k

systemctl restart mysqld

mysql_secure_installation

 

 

 

(9.6)

http://pgsqldeepdive.blogspot.com/2012/12/ssdpostgresql.html

--ブロックサイズ確認
show block_size;

デフォルト: 8k
値の範囲: 1k - 32k

--ブロックサイズの変更

ビルド時にオプションで指定する

 

--OS標準のPostgreSQLのアンインストール

rpm -e qt-postgresql-4.8.5-13.el7.x86_64
rpm -e qt5-qtbase-postgresql-5.6.1-10.el7.x86_64
rpm -e postgresql-devel-9.2.18-1.el7.x86_64
rpm -e qt3-PostgreSQL-3.3.8b-51.el7.x86_64
rpm -e postgresql-libs-9.2.18-1.el7.x86_64


--ユーザーと作業ディレクトリの作成

mkdir /usr/local/pgsql
useradd postgres
echo postgres | passwd --stdin postgres
chown postgres:postgres /usr/local/pgsql


--インストール作業

yum install -y gcc
yum install -y zlib-devel


cd /usr/local/src
wget https://ftp.postgresql.org/pub/source/v9.6.3/postgresql-9.6.3.tar.gz
tar xvzf postgresql-9.6.3.tar.gz
chown -R postgres:postgres postgresql-9.6.3
su postgres
cd postgresql-9.6.3
./configure --without-readline --prefix=/usr/local/pgsql --with-blocksize=32
make
make install

--環境変数を設定

vim ~/.bashrc

export PATH="$PATH":/usr/local/pgsql/bin
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export MANPATH="$MANPATH":$POSTGRES_HOME/man
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"

source ~/.bashrc

mkdir $PGDATA

--DBを初期化

initdb --no-locale


--Listenアドレスの設定

vim /usr/local/pgsql/data/postgresql.conf

#listen_addresses = 'localhost'

listen_addresses = '*'

log_destination = 'stderr,csvlog'
log_directory = 'pg_log'
logging_collector = on


--ListenIP範囲の設定
vim $PGDATA/pg_hba.conf

host all all 0.0.0.0/0 trust

--起動
pg_ctl status
pg_ctl -w start
pg_ctl status

 

 

固定で8kの模様