unix_12c_db_init
sample 1: add a new cdb
1.for the new db Aprod
please apply two new direcotry in Cdb3/Cdb4
/Aprod 50G
/Aprodlog 20G
Aproddb 目前挂载在Cdb4,相关信息如下:
文件系统:
/dev/vg_Aproddb/Aproddb 52101120 79414 48770357 0% /Aproddb
/dev/vg_Aproddblog/Aproddblog 20840448 71752 19470660 0% /Aproddblog
VIP: 192.168.4.124
4.
##在listener.ora 文件 找到正确的listener.ora 如listener1
###dbca -slient LISTENERS listener1
export ORACLE_SID=Aprod
export pdb_name=pBprod
export file_dest=/Aproddb/data
dbca -silent -createDatabase -templateName New_Database.dbt -gdbname $ORACLE_SID -sid $ORACLE_SID \
-SysPassword oracle123 -systemPassword oracle123 -createAsContainerDatabase true -numberofPDBs 1 \
-pdbName $pdb_name -pdbAdminPassword oracle123 -datafileDestination $file_dest -responseFile NO_VALUE \
-characterset AL32UTF8 -memoryPercentage 10 -emConfiguration none -storageType FS -listener listener1
5.
UAT:
/uniuatdb/data/system01.dbf
/uniuatdb/data/pdbseed/system01.dbf
/uniuatdb/data/sysaux01.dbf
/uniuatdb/data/pdbseed/sysaux01.dbf
/uniuatdb/data/undotbs01.dbf
/uniuatdb/data/users01.dbf
/uniuatdb/data/pBuat/system01.dbf
/uniuatdb/data/pBuat/sysaux01.dbf
SELECT total.tablespace_name,
Round(total.MB, 2) AS Total_MB,
Round(total.MB - free.MB, 2) AS Used_MB,
Round(( 1 - free.MB / total.MB ) * 100, 2)
|| '%' AS Used_Pct
FROM (SELECT tablespace_name,
Sum(bytes) / 1024 / 1024 AS MB
FROM dba_free_space
GROUP BY tablespace_name) free,
(SELECT tablespace_name,
Sum(bytes) / 1024 / 1024 AS MB
FROM dba_data_files
GROUP BY tablespace_name) total
WHERE free.tablespace_name = total.tablespace_name;
CDB
SYSAUX 2048 1247 60.89% 801
732
SYSTEM 1024 799.44 78.07% 224.56
224
UNDOTBS1 1024 27.37 2.67% 996.63
970
USERS 128 1.37 1.07% 126.63
126.63
SQL> conn system/oracle123@pBuat
Connected.
SQL> /
----------
B_DATA 2048 1.44 0.07% 2046.56
2045.69
B_IDX 1024 1 0.10% 1023
1023
SYSAUX 634.41 597.78 94.23% 36.63
25
SYSTEM 307.2 266.26 86.67% 40.94
40.19
6.
ORA_ORAENV=/usr/local/bin/ora_oraenv
SIDs on this machine are;
xprprod
pcc
corpprod
bizprod
oasprod
bpsprod
tgpsprod
wrlprod
icomprod
--
ADD /ETC/ORATAB
7. parmeter
-totalMemory 2048 \
-sampleSchema true \
-initparams audit_file_dest='/u01/app/oracle/admin/UXOCDB/adump' \
-initparams compatible='12.1.0' \
-initparams db_create_file_dest='+DATA' \
-initparams db_create_online_log_dest_1='+DATA' \
-initparams db_create_online_log_dest_2='+FRA' \
-initparams db_recovery_file_dest='+FRA' \
-initparams diagnostic_dest='/u01/app/oracle' \
-initparams parallel_max_servers=8 \
-initparams processes=400
8.
cd /Aproddb/
mkdir pfile
cd /opt/oracle12c/product/12.1/dbs
sqlplus / as sysdba
create pfile='/opt/oracle12c/product/12.1/dbs/initAprod.ora' from spfile;
mv *Aprod* /Aproddb/pfile
--in db3/db4,sync /etc/listener.ora
ln -s /Aproddb/pfile/initAprod.ora initAprod.ora
ln -s /Aproddb/pfile/orapwAprod orapwAprod
SQL> shutdown immediate
SQL> startup
10.
192.168.4.124 pBprod
192.168.4.124 pAprod
--in db3/db4. sync /etc/listener.ora and /etc/tnsnames.ora local_listener
pBprod =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL=IPC)(KEY= REGISTER_pBprod))
(ADDRESS = (PROTOCOL = TCP)(HOST = pBprod)(PORT = 15021))
(ADDRESS = (PROTOCOL = TCPS)(HOST = pBprod)(PORT = 15022))
)
SID_LIST_pBprod=
(SID_LIST =
(SID_DESC =
(SID_NAME=Aprod)
(ORACLE_HOME=/opt/oracle12c/product/12.1)
)
(SID_DESC =
(GLOBAL_DBNAME = pBprod)
(SID_NAME = Aprod)
(ORACLE_HOME=/opt/oracle12c/product/12.1)
)
)
SECURE_REGISTER_pBprod = (IPC)
SECURE_CONTROL_pBprod =(TCPS,IPC)
ADMIN_RESTRICTIONS_pBprod = ON
DIAG_ADR_ENABLED_pBprod = OFF
pAprod =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL=IPC)(KEY= REGISTER_pAprod))
(ADDRESS = (PROTOCOL = TCP)(HOST = pAprod)(PORT = 15021))
(ADDRESS = (PROTOCOL = TCPS)(HOST = pAprod)(PORT = 15022))
)
SID_LIST_pAprod=
(SID_LIST =
(SID_DESC =
(SID_NAME=Aprod)
(ORACLE_HOME=/opt/oracle12c/product/12.1)
)
(SID_DESC =
(GLOBAL_DBNAME = pAprod)
(SID_NAME = Aprod)
(ORACLE_HOME=/opt/oracle12c/product/12.1)
)
)
SECURE_REGISTER_pAprod = (IPC)
SECURE_CONTROL_pAprod =(TCPS,IPC)
ADMIN_RESTRICTIONS_pAprod = ON
DIAG_ADR_ENABLED_pAprod = OFF
sqlplus system/oracle123@//192.168.4.124:15021/Aprod
sqlplus system/oracle123@//192.168.4.124:15021/pBprod
sqlplus system/oracle123@//192.168.4.125:15021/pAprod
sqlplus system/oracle123@//192.168.4.124:15021/Aprod
create pluggable database pAprod from pBprod
FILE_NAME_CONVERT=('/Aproddb/data/Aprod/pBprod','/Aproddb/data/Aprod/pAprod');
11.
DB scripts: /etc/cmcluster/Aproddb/ora12c.sh,请修改脚本内容。
--------------
ORA_ver=12.1.0.2
SID_NAME=Aprod
ORACLE_HOME=/opt/oracle12c/product/12.1
LISTENER=yes
--modify LISTENER_NAME to LISTENER_PDB*_NAME
LISTENER_PDB1_NAME=pBprod
LISTENER_PDB2_NAME=pAprod
--
LISTENER_PASS=
MONITOR_INTERVAL=30
PACKAGE_NAME=Aprod
TIME_OUT=30
set -A MONITOR_PROCESSES ora_pmon_${SID_NAME} ora_dbw0_${SID_NAME} ora_ckpt_${SID_NAME} ora_smon_${SID_NAME} ora_lgwr_${SID_NAME} ora_reco_${SID_NAME}
HOST=`hostname`
DATE=`date`
PATH=${ORACLE_HOME}/bin:/sbin:/usr/bin:/usr/sbin:/etc:/bin
export ORACLE_SID=${SID_NAME}
export ORACLE_HOME
----modify LISTENER_NAME to LISTENER_PDB*_NAME
su oracle -c "${ORACLE_HOME}/bin/lsnrctl start ${LISTENER_PDB1_NAME}"
if [[ $? != 0 ]]
then
print "Oracle lsnrctl start failed."
else
print "Oracle lsnrctl start done."
fi
su oracle -c "${ORACLE_HOME}/bin/lsnrctl start ${LISTENER_PDB1_NAME}"
if [[ $? != 0 ]]
then
print "Oracle lsnrctl start failed."
else
print "Oracle lsnrctl start done."
fi
----modify LISTENER_NAME to LISTENER_PDB*_NAME
su oracle -c "${ORACLE_HOME}/bin/lsnrctl stop ${LISTENER_PDB1_NAME}"
if [[ $? != 0 ]]
then
print "Oracle lsnrctl start failed."
else
print "Oracle lsnrctl start done."
fi
su oracle -c "${ORACLE_HOME}/bin/lsnrctl stop ${LISTENER_PDB1_NAME}"
if [[ $? != 0 ]]
then
print "Oracle lsnrctl start failed."
else
print "Oracle lsnrctl start done."
fi
----modify LISTENER_NAME to LISTENER_PDB*_NAME
su oracle -c ${ORACLE_HOME}/bin/lsnrctl <<EOF
set password ${LISTENER_PASS}
stop ${LISTENER_PDB1_NAME}
exit
EOF
su oracle -c ${ORACLE_HOME}/bin/lsnrctl <<EOF1
set password ${LISTENER_PASS}
stop ${LISTENER_PDB2_NAME}
exit
EOF1
备份脚本信息:
/macro/dbbackup_total.sh -- > /macro/Aprod_dbbackup.sh DB scripts /home/oracle/utility/backup_rman/rman_backup.sh
no need to change
13:
env
/Aproddblog
/Aproddblog/dump
/Aproddb/data/Aprod
pBprod
ALTER PROFILE DEFAULT LIMIT
PASSWORD_LIFE_TIME 180
PASSWORD_GRACE_TIME 7
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LOCK_TIME 1
PASSWORD_VERIFY_FUNCTION null;
done
12
SQL> show parameter diag
NAME TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
diagnostic_dest string
/opt/oracle12c/
--change diag /opt/oracle12c/ to /Aproddb
--chanege db_recovery_file_dest to none
--chanege audit_file_dest to /Aproddb/adump
audit_file_dest string
/tgpsproddb/adump
core_dump_dest string
/tgpsproddb/diag/rdbms/tgpspro
d/tgpsprod/cdump
--chanege audit_file_dest to /Aproddb/adump
--change log_archive_dest_1 to LOCATION=/Aproddblog
--change log_archive_format to Aprod_%r_%t_%s.arc
--in db3/db4 sync /etc/tnsnames.ora local_listener
LISTENER_APROD =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.110)(PORT = 15035))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.124)(PORT = 15021))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.125)(PORT = 15021))
)
14. local
--clean tnsnames.ora
0 17 1,10,23 * * /home/oracle/utility/macro/tns_log_back_12c.sh pBprod.log >>/home/oracle/utility/log/tns_log_back_12c.log 2>&1
0 17 1,10,23 * * /home/oracle/utility/macro/tns_log_back_12c.sh pAprod.log >>/home/oracle/utility/log/tns_log_back_12c.log 2>&1
check:
ls -ltr /opt/oracle12c/product/12.1/network/log/*<name>*
--clean achive log
vi /home/oracle/utility/macro/call_autopurge_arch.sh
${SCRIPT_DIR}/autopurge_archlog.sh Aprod /Aproddb 24
check:
ls -tlr /Aproddblog/*.gz
--compress archive log
/home/oracle/utility/macro/compress_all.sh
$PRG_NAME Aprod /Aproddblog 10
check:
ls -tlr /Aproddblog/*.gz
--clean trace file_dest and clean adump
/home/oracle/utility/macro/pfdblist
Aprod /Aproddb/diag/rdbms/Aprod/Aprod/trace .trc 4
Aprod /Aproddb/diag/rdbms/Aprod/Aprod/trace .trm 4
Aprod /Aproddb/adump .aud 2
---check alert.log
no need change ,only add rows /etc/oratab
----detect_blocker.sh
no need change
0,5,10,15,20,25,30,35,40,45,50,55 0-23 * * * /home/oracle/utility/blocker/detect_blocker.sh bizprod 120 > /home/oracle/utility/trace/detect_blocker_bizprod.log 2>&1
15.
---for prod for 12c
加入监控体系
10,25,40,55 * * * * /home/oracle/utility/macro/chk_conn_12c.sh 15 >> /database/log/mon_chk_conn_12c.log 2>&1
-EDIT line 26
check:
sqlplus c##oper/oper123@tnsname
35 8 * * * /home/oracle/monitor/segment_size/all.sh > /database/log/segment_size/tbs_unix_all.log 2>&1
-EDIT line 15 and 35
cd /database/log/segment_size
mkdir log_Aprod
check:
17,
双机切换:
16.
-listeners
PAPROD=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.125)(PORT = 15021))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pAprod)
)
)
LISTENER_APROD =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.110)(PORT = 15035))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.124)(PORT = 15021))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.125)(PORT = 15021))
)
pBprod =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.124)(PORT = 15021))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pBprod)
)
)
sample2:
sample 2 : add pdb to a exist cdb
1.
clone db
cd /centrproddb/data/centrprod
mkdir pdbprod
ls -l
---CREATE PLUGGABLE DATABASE pdbprod FROM PDB$SEED;
--sampe
--
create pluggable database pdbprod admin user pdb_admin
identified by pdbadm_123 roles=(CONNECT)
file_name_convert=('/centrproddb/data/centrprod/pdbseed','/centrproddb/data/centrprod/pdbprod')
/
select con_id, NAME, OPEN_MODE,DBID, CON_UID from V$PDBS;
alter pluggable database pdbprod close;
alter pluggable database pdbprod open read write;
SQL> select con_name, instance_name,state,restricted from dba_pdb_saved_states;
SQL> alter pluggable database all save state;
lsnrctl status
2.config listener add service pdbprod
edit /etc/hosts
new_vip pdbprod
edit /etc/listener.ora
/etc/tnsnames.ora
sync to another node
3.
DB scripts: /etc/cmcluster/Aproddb/ora12c.sh,请修改脚本内容。
--------------
ORA_ver=12.1.0.2
SID_NAME=Aprod
ORACLE_HOME=/opt/oracle12c/product/12.1
LISTENER=yes
--modify LISTENER_NAME to LISTENER_PDB*_NAME
LISTENER_PDB1_NAME=pBprod
LISTENER_PDB2_NAME=pAprod
LISTENER_PDB3_NAME=pdbprod
--
LISTENER_PASS=
MONITOR_INTERVAL=30
PACKAGE_NAME=Aprod
TIME_OUT=30
set -A MONITOR_PROCESSES ora_pmon_${SID_NAME} ora_dbw0_${SID_NAME} ora_ckpt_${SID_NAME} ora_smon_${SID_NAME} ora_lgwr_${SID_NAME} ora_reco_${SID_NAME}
HOST=`hostname`
DATE=`date`
PATH=${ORACLE_HOME}/bin:/sbin:/usr/bin:/usr/sbin:/etc:/bin
export ORACLE_SID=${SID_NAME}
export ORACLE_HOME
----modify LISTENER_NAME to LISTENER_PDB*_NAME
su oracle -c "${ORACLE_HOME}/bin/lsnrctl start ${LISTENER_PDB1_NAME}"
if [[ $? != 0 ]]
then
print "Oracle lsnrctl start failed."
else
print "Oracle lsnrctl start done."
fi
su oracle -c "${ORACLE_HOME}/bin/lsnrctl start ${LISTENER_PDB2_NAME}"
if [[ $? != 0 ]]
then
print "Oracle lsnrctl start failed."
else
print "Oracle lsnrctl start done."
fi
su oracle -c "${ORACLE_HOME}/bin/lsnrctl start ${LISTENER_PDB3_NAME}"
if [[ $? != 0 ]]
then
print "Oracle lsnrctl start failed."
else
print "Oracle lsnrctl start done."
fi
----modify LISTENER_NAME to LISTENER_PDB*_NAME
su oracle -c "${ORACLE_HOME}/bin/lsnrctl stop ${LISTENER_PDB1_NAME}"
if [[ $? != 0 ]]
then
print "Oracle lsnrctl start failed."
else
print "Oracle lsnrctl start done."
fi
su oracle -c "${ORACLE_HOME}/bin/lsnrctl stop ${LISTENER_PDB1_NAME}"
if [[ $? != 0 ]]
then
print "Oracle lsnrctl start failed."
else
print "Oracle lsnrctl start done."
fi
su oracle -c "${ORACLE_HOME}/bin/lsnrctl stop ${LISTENER_PDB3_NAME}"
if [[ $? != 0 ]]
then
print "Oracle lsnrctl stop failed."
else
print "Oracle lsnrctl stop done."
fi
----modify LISTENER_NAME to LISTENER_PDB*_NAME
su oracle -c ${ORACLE_HOME}/bin/lsnrctl <<EOF
set password ${LISTENER_PASS}
stop ${LISTENER_PDB1_NAME}
exit
EOF
su oracle -c ${ORACLE_HOME}/bin/lsnrctl <<EOF1
set password ${LISTENER_PASS}
stop ${LISTENER_PDB2_NAME}
exit
EOF1
su oracle -c ${ORACLE_HOME}/bin/lsnrctl <<EOF2
set password ${LISTENER_PASS}
stop ${LISTENER_PDB3_NAME}
exit
EOF2
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PENRSPROD READ WRITE NO
4 PIPAMPROD READ WRITE NO
3. config user and tablespace
done
4.db server crontab -e
add listern keep and sync to another node
0 12 1,10,20 * * /home/oracle/utility/macro/tns_log_back_12c.sh pprod.log >>/home/oracle/utility/log/tns_log_back_12c.log 2>&1
5.
---for prod for 12c
加入监控体系
10,25,40,55 * * * * /home/oracle/utility/macro/chk_conn_12c.sh 15 >> /database/log/mon_chk_conn_12c.log 2>&1
-EDIT line 26
check:
sqlplus c##oper/oper123@tnsname
35 8 * * * /home/oracle/monitor/segment_size/all.sh > /database/log/segment_size/tbs_unix_all.log 2>&1
-EDIT line 15 and 35
cd /database/log/segment_size
mkdir log_Aprod
check:
PS:
refer http://blog.sina.com.cn/s/blog_5d6df58d0101sotr.html
unix 区分大小写以及 \ and /
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/centrproddb/data/centrprod/system01.dbf
/centrproddb/data/centrprod/pdbseed/system01.dbf
/centrproddb/data/centrprod/sysaux01.dbf
/centrproddb/data/centrprod/pdbseed/sysaux01.dbf
/centrproddb/data/centrprod/undotbs01.dbf
/centrproddb/data/centrprod/users01.dbf
/centrproddb/data/centrprod/penrsprod/system01.dbf
/centrproddb/data/centrprod/penrsprod/sysaux01.dbf
/centrproddb/data/centrprod/penrsprod/penrsprod_users01.dbf
/centrproddb/data/centrprod/pipamprod/system01.dbf
/centrproddb/data/centrprod/pipamprod/sysaux01.dbf
NAME
--------------------------------------------------------------------------------
/centrproddb/data/centrprod/penrsprod/enrs_data_f01.dbf
/centrproddb/data/centrprod/penrsprod/enrs_idx_f01.dbf
/centrproddb/data/centrprod/pipamprod/ipam_data_f01.dbf
/centrproddb/data/centrprod/pipamprod/ipam_idx_f01.dbf
/centrproddb/data/centrprod/pipamprod/test.dbf
16 rows selected.
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
/centrproddb/data/centrprod/system01.dbf
/centrproddb/data/centrprod/sysaux01.dbf
/centrproddb/data/centrprod/undotbs01.dbf
/centrproddb/data/centrprod/users01.d
unix_12c_db_init的更多相关文章
随机推荐
- 自定义View实现跟随手指的小球
package com.pingyijinren.test; import android.content.Context; import android.graphics.Canvas; impor ...
- 使用GSON解析JSON文件
package com.pingyijinren.test; /** * Created by Administrator on 2016/5/19 0019. */ public class App ...
- [bzoj1717][Usaco2006 Dec]Milk Patterns 产奶的模式_后缀数组_二分答案
Milk Patterns 产奶的模式 bzoj-1717 Usaco-2006 Dec 题目大意:给定一个字符串,求最长的至少出现了$k$次的子串长度. 注释:$1\le n\le 2\cdot 1 ...
- android 深入浅出 群内“每日一问” 问答总结
永远不变的就是变. 俗话说的好,环境改变人生. 常常面对的是一群积极奋进的人,那么你的心态和生活也会变的充满斗志.青春在于折腾,趁我们还年轻,拿出你的激情.踏着泪水载着梦,才干拥有自己的一片天空. 上 ...
- JavaScript错误处理和堆栈追踪
转自:https://github.com/dwqs/blog/issues/49 有时我们会忽略错误处理和堆栈追踪的一些细节, 但是这些细节对于写与测试或错误处理相关的库来说是非常有用的. 例如这周 ...
- 【转】Linux软连接和硬链接
再次温习一下,操作的不多.虽然感觉都会!!!! 这次再次操作一遍!! 通过上面的测试发现,删除f1之后,软连接f3就无效了,硬链接f3则不受影响. ls -F可以看到文件的类型. 连接文件的作用? - ...
- 戴尔PowerEdge服务器RAID控制卡的配置
示例演示环境:PowerEdge R620 + H710p Raid控制卡 + 9 x 300G 10k SAS 硬盘 H310.H710.H810的配置方法与H710P大致相同,在此不再累述. 特 ...
- Apple Swift编程语言新手教程
文件夹 1 简单介绍 2 Swift入门 3 简单值 4 控制流 5 函数与闭包 6 对象与类 7 枚举与结构 1 简单介绍 今天凌晨Apple刚刚公布了Swift编程 ...
- iOS 基于 MVC 的项目重构总结
关于MVC的争论 关于MVC的争论已经有非常多,对此我的观点是:对于iOS开发中的绝大部分场景来说,MVC本身是没有问题的,你觉得的MVC的问题,一定是你自己理解的问题(资深架构师请自己主动忽略本文) ...
- MongoDb 学习教程
MongoDB教程首页 MongoDB 介绍 MongoDB 优点 MongoDB 安装(Window/Linux) MongoDB 数据模型 MongoDB 创建数据库 MongoDB 删除数据库 ...