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的更多相关文章

随机推荐

  1. python类变量以及应用场景

    类变量是python 中class 的变量,区别于实例的变量.我们通过一些例子具体了解一下 先看下面的例子 >>> class Demo(object): ... v1 = 1 .. ...

  2. sqlit中使用到的查询语句

    近期使用sqlite查询比較多,包含连表查询等. 记录一下.以免忘记! 1.先依据时间排序后选择前十条: select * from MyBill order by  createTime desc ...

  3. how to get geometry type of layer using IMapServer3 and IMapLayerInfo? (C#)

    http://forums.arcgis.com/threads/11481-how-to-get-geometry-type-of-layer-using-IMapServer3-and-IMapL ...

  4. HDD

    硬盘 SCSI ★ Host adapter ★ SCSI standard ★ Bus socket ★ Signal fashion ★ SCAM ★ Bus main control ★ Dri ...

  5. 总结react中遇到的坑和一些小的知识点

    在使用react 中经常会遇到各种个样的问题,如果对react不熟悉则会对遇到的问题感到莫名其妙而束手无策,接下来分析一下react中容易遇到的问题和注意点. 1.setState()是异步的this ...

  6. hdu oj 3127 WHUgirls(2009 Asia Wuhan Regional Contest Online)

    WHUgirls Time Limit: 3000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total ...

  7. vue中slot的笔记

    一言以蔽之:本来写在子组件里边的内容默认是不显示的,如果想相对于子组件在哪里进行显示,则使用slot标签代表占位符,代替那部分内容,是行间元素还是块级元素取决于原先的那个标签. 参考的连接是:http ...

  8. Redis集群主备模式部署

    网上有非常多用Ruby安装Redis-cluster的文章.可是在实际环境下不想安装Ruby,所以本文主要介绍了用Redis命令部署Redis集群.而且为集群中每个master实例添加一个slave实 ...

  9. MySQL-插入数据(INSERT)

    Insert语句可将一行或多行插入到表中. INSERT语法: INSERT INTO table(column1,column2...) VALUES (value1,value2,...); 首先 ...

  10. BestCoder Round #56 /hdu5464 dp

    Clarke and problem 问题描述 克拉克是一名人格分裂患者.某一天,克拉克分裂成了一个学生,在做题. 突然一道难题难到了克拉克,这道题是这样的: 给你nn个数,要求选一些数(可以不选), ...