一、前期环境准备
1.硬件信息
(1)主机版本
[root@localhost ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.7 (Maipo)
[root@localhost ~]#
(2)CPU
[oracle@localhost soft19]$ cat /proc/cpuinfo | grep "physical id" | uniq |wc -l
8
[root@localhost ~]# cat /proc/cpuinfo | grep "cpu cores" | uniq
cpu cores : 1
(3)内存大小
[root@localhost ~]# cat /proc/meminfo | grep MemTotal
MemTotal: 16413444 kB
2.介质信息
[oracle@localhost ~]$ pwd
/home/oracle
[oracle@localhost ~]$ ls -lrt LINUX.X64_193000_db_home.zip
-rw-r--r-- 1 oracle oinstall 3059705302 Jun 30 2020 LINUX.X64_193000_db_home.zip
[oracle@localhost ~]$
unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
3.环境准备
(1)检查依赖包
rpm -qa binutils compat-libcap1 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
##如果缺少依赖包,并且服务器已配置了 yum,可采用如下方式进行安装
yum install bc \
gcc \
gcc-c++ \
binutils \
compat-libcap1 \
compat-libstdc++ \
dtrace-modules \
dtrace-modules-headers \
dtrace-modules-provider-headers \
dtrace-utils \
elfutils-libelf \
elfutils-libelf-devel \
fontconfig-devel \
glibc \
glibc-devel \
ksh \
libaio \
libaio-devel \
libdtrace-ctf-devel \
libX11 \
libXau \
libXi \
libXtst \
libXrender \
libXrender-devel \
libgcc \
librdmacm-devel \
libstdc++ \
libstdc++-devel \
libxcb \
make \
smartmontools \
sysstat
(2)修改内核参数
cp /etc/sysctl.conf /etc/sysctl.conf_bak_20200327
vi /etc/sysctl.conf ##添加如下内容
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 33554432
kernel.shmmax = 137438953471
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
修改后执行 sysctl -p
(3)禁用防火墙和 selinux
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service
systemctl status NetworkManager.service
##从 RHEL7 开始,使用 systemctl 工具来管理服务程序,包括了 service 和 chkconfig
以下是一些常用命令
systemctl list-unit-files|grep enabled
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service;echo $?
查看已启动的服务列表:systemctl list-unit-files|grep enabled
[oracle@localhost ~]$ cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
[oracle@localhost ~]$
(4)配置 host
vi /etc/hosts
10.135.102.133 localhost
(5)创建用户、组
groupadd -g 501 oinstall
groupadd -g 502 dba
groupadd -g 503 oper
useradd -u 501 -g oinstall -G dba,oper oracle
passwd oracle
(6)创建目录并设置权限
mkdir -p /u01/app/oracle/product/19.3/db_1
chown -R oracle:oinstall /u01/
chmod -R 775 /u01/
(7)修改用户安全限制
vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
##在/etc/pam.d/login 文件添加如下内容
session required pam_limits.so
(8)设置用户环境变量
su - oracle
vi .bash_profile
export ORACLE_SID=ecis
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3/db_1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH:$JAVA_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
source .bash_profile
二、正式安装
##由于当前环境无法使用图形化进行安装,这里将采用静默安装 Oracle 19c 数据库
1.静默安装数据库软件
(1)修改响应文件
cd /u01/app/oracle/product/19.3/db_1/install/response
cat db_install.rsp|grep -v "^#"|grep -v "^$"
mv db_install.rsp db_install.rsp.bak
vi db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/19.3/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
oracle.install.db.rootconfig.executeRootScript=false
oracle.install.db.rootconfig.configMethod=ROOT
(2)安装数据库软件
/u01/app/oracle/product/19.3/db_1/runInstaller -force -silent -noconfig -ignorePrereq -responseFile /u01/app/oracle/product/19.3/db_1/install/response/db_install.rsp
(3)根据安装提示查看安装日志
tail -200f /u01/app/oraInventory/logs/InstallActions2020-03-31_04-49-29PM/installActions2020-03-31_04-49-29PM.log
(4)执行脚本
su - root
[root@localhost ~]# /u01/app/oracle/product/19.3/db_1/root.sh
Check /u01/app/oracle/product/19.3/db_1/install/root_localhost_2020-03-31_17-00-53-190777891.log for the output of root script
2.静默安装数据库
(1)修改响应文件
cd /u01/app/oracle/product/19.3/db_1/assistants/dbca
cat dbca.rsp |grep -v "^#"|grep -v "^$"
mv dbca.rsp dbca.rsp.bak
vi dbca.rsp
gdbName=zjipnm
sid=zjipnm
createAsContainerDatabase=true
numberOfPDBs=1
pdbName=zjipnmpdb
pdbAdminPassword=Gzb$a48ptY
templateName=General_Purpose.dbc
sysPassword=Gzb$a48ptY
systemPassword=Gzb$a48ptY
emExpressPort=5500
datafileDestination={ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/
characterSet=ZHS16GBK
nationalCharacterSet=AL16UTF16
memoryPercentage=40
automaticMemoryManagement=false
totalMemory=12288
(2)安装数据库
dbca -silent -createDatabase -responseFile /u01/app/oracle/product/19.3/db_1/assistants/dbca/dbca.rsp
Prepare for db operation
8% complete
Copying database files
31% complete
Creating and starting Oracle instance
32% complete
36% complete
40% complete
43% complete
46% complete
Completing Database Creation
51% complete
53% complete
54% complete
Creating Pluggable Databases
58% complete
77% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:
/u01/app/oracle/cfgtoollogs/dbca/ECIS.
Database Information:
Global Database Name:ECIS
System Identifier(SID):zjipnmpdb
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/PROD/PROD.log" for
further details.
3.创建监听
(1)响应文件
cd /u01/app/oracle/product/19.3/db_1/assistants/netca
cat netca.rsp|grep -v "^#"|grep -v "^$"
mv netca.rsp netca.rspbak
[GENERAL]
RESPONSEFILE_VERSION="19.0"
CREATE_TYPE="CUSTOM"
[oracle.net.ca]
INSTALLED_COMPONENTS={"server","net8","javavm"}
INSTALL_TYPE=""typical""
LISTENER_NUMBER=1
LISTENER_NAMES={"LISTENER"}
LISTENER_PROTOCOLS={"TCP;1521"}
LISTENER_START=""LISTENER""
NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
NSN_NUMBER=1
NSN_NAMES={"EXTPROC_CONNECTION_DATA"}
NSN_SERVICE={"PLSExtProc"}
NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}
netca -silent -responsefile /u01/app/oracle/product/19.3/db_1/assistants/netca/netca.rsp
[oracle@localhost ~]$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 13-JAN-2021 17:37:44
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 13-JAN-2021 13:39:31
Uptime 0 days 3 hr. 58 min. 12 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/19.3/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "86b637b62fdf7a65e053f706e80a27ca" has 1 instance(s).
Instance "ecis", status READY, has 1 handler(s) for this service...
Service "b8c10d35dc4e8f1ee055000000000001" has 1 instance(s).
Instance "ecis", status READY, has 1 handler(s) for this service...
Service "zjipnm" has 1 instance(s).
Instance "ecis", status READY, has 1 handler(s) for this service...
Service "zjipnmXDB" has 1 instance(s).
Instance "ecis", status READY, has 1 handler(s) for this service...
Service "zjipnmpdb" has 1 instance(s).
Instance "ecis", status READY, has 1 handler(s) for this service...
The command completed successfully
问题1
[oracle@localhost ~]$ sqlplus "/as sysdba"
SQL*Plus: Release 11.2.0.3.0 - Production on Wed Dec 15 10:54:03 2010
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/oracle/app/oracle/product/11.2.0/db_1/dbs/initicare1.ora'
没有initicare1.ora文件
解决此问题的方法就是到cd /u01/app/oracle/admin/zjipnm/pfile/目录下,将init.ora.0132021114328复制到dbs目录下:
cp init.ora.0132021114328 /u01/app/oracle/product/19.3/db_1/dbs/initicare1.ora
问题2
ORA-01102: cannot mount database in EXCLUSIVE mode
1、重启服务器可解决
2、查$ORACLE_HOME/dbs目录:
$ cd $ORACLE_HOME/dbs
$ ls sgadef*
sgadef* not found
$ ls lk*
/opt/oracle/product/ 10.2.0/db_1/dbs/lkSIMPLY
lkSIMPLY
果然,lk<sid>文件没有被删除。将它删除掉
$ rm lk*
再次启动时又遇到下面的错误
ORA-00205: error in identifying control file, check alert log for more info : (
查看共享内存段
[root@simply bdump]# ipcs -map
------ Shared Memory Creator/Last-op --------
shmid owner cpid lpid
786444 root 6490 6438
819213 root 6549 6438
1409040 oracle 31502 16728
根据ID号清楚共享内存段
ipcrm –m 1409040
我这里操作是没有成功的,不过执行了下面的操作就ok了!
查看信号量
[root@simply bdump]# ipcs -s
key semid owner perms nsems
0x17ff6454 360448 oracle 640 154
清除oracle的信号量
[root@simply bdump]# ipcrm -s 360448
再次查询确认
[root@simply bdump]# ipcs -s
------ Semaphore Arrays --------
key semid owner perms nsems
再查询共享内存段也ok了!
[root@simply bdump]# ipcs -m
如果是Oracle进程没有关闭,
$kill -9 <PID>
一、前期环境准备 1.硬件信息 (1)主机版本 [oracle@localhost soft]$ cat /etc/redhat-release CentOS Linux release 7.4.1708(Core) (2)CPU [oracle@localhost soft19]$ cat /proc/cpuinfo | grep "physical id"| uniq | wc -l 2[oracle@localhost soft19]$ cat /proc/cpuinfo | grep "cpu cores"| uniq cpu cores :4 (3)内存大小 [oracle@localhost soft19]$ cat /proc/meminfo | grep MemTotal MemTotal:65806256 kB 2.介质信息 [oracle@localhost soft19]$ pwd /picclife/soft19 [oracle@localhost soft19]$ ls -lrt 19.3_dbok_V982063-01.zip -rw-r--r--1 root root 3059705302 Mar 2719:0219.3_dbok_V982063-01.zip unzip 19.3_dbok_V982063-01.zip -d $ORACLE_HOME 3.环境准备 (1)检查依赖包 rpm -qa binutils compat-libcap1 gcc gcc-c++ glibc glibc-devel ksh libaio libaio- devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel ##如果缺少依赖包,并且服务器已配置了 yum,可采用如下方式进行安装 yum install bc \ gcc \ gcc-c++ \ binutils \ compat-libcap1 \ compat-libstdc++ \ dtrace-modules \ dtrace-modules-headers \ dtrace-modules-provider-headers \ dtrace-utils \ elfutils-libelf \ elfutils-libelf-devel \ fontconfig-devel \ glibc \ glibc-devel \ ksh \ libaio \ libaio-devel \ libdtrace-ctf-devel \ libX11 \ libXau \ libXi \ libXtst \ libXrender \ libXrender-devel \ libgcc \ librdmacm-devel \ libstdc++ \ libstdc++-devel \ libxcb \ make \ smartmontools \ sysstat (2)修改内核参数 cp /etc/sysctl.conf /etc/sysctl.conf_bak_20200327 vi /etc/sysctl.conf ##添加如下内容 fs.aio-max-nr =1048576 fs.file-max =6815744 kernel.shmall =33554432 kernel.shmmax =137438953471 kernel.shmmni =4096 kernel.sem =25032000100128 net.ipv4.ip_local_port_range =900065500 net.core.rmem_default =262144 net.core.rmem_max =4194304 net.core.wmem_default =262144 net.core.wmem_max =1048576 修改后执行 sysctl -p (3)禁用防火墙和 selinux systemctl stop firewalld.service systemctl disable firewalld.service systemctl status firewalld.service systemctl status NetworkManager.service ##从 RHEL7 开始,使用 systemctl 工具来管理服务程序,包括了 service 和 chkconfig 以下是一些常用命令 systemctl list-unit-files|grep enabled 启动一个服务:systemctl start firewalld.service 关闭一个服务:systemctl stop firewalld.service 重启一个服务:systemctl restart firewalld.service 显示一个服务的状态:systemctl status firewalld.service 在开机时启用一个服务:systemctl enable firewalld.service 在开机时禁用一个服务:systemctl disable firewalld.service 查看服务是否开机启动:systemctl is-enabled firewalld.service;echo $? 查看已启动的服务列表:systemctl list-unit-files|grep enabled [root@localhost ~]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted (4)配置 host vi /etc/hosts 10.135.102.133 localhost (5)创建用户、组 groupadd -g 501 oinstall groupadd -g 502 dba groupadd -g 503 oper useradd -u 501-g oinstall -G dba,oper oracle echo "oracle"| passwd --stdin oracle (6)创建目录并设置权限 mkdir -p /picclife/app/oracle/product/19.3/db_1 chown -R oracle:oinstall /picclife/ chmod -R 775/picclife/ (7)修改用户安全限制 vi /etc/security/limits.conf oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 ##在/etc/pam.d/login 文件添加如下内容 session required pam_limits.so (8)设置用户环境变量 su - oracle vi .19cbash_profile export ORACLE_SID=prod export ORACLE_BASE=/picclife/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.3/db_1 export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH:$JAVA_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib export NLS_LANG=american_america.AL32UTF8 source .19cbash_profile 二、正式安装 ##由于当前环境无法使用图形化进行安装,这里将采用静默安装 Oracle 19c 数据库 1.静默安装数据库软件 (1)修改响应文件 /picclife/soft19/install/response/db_install.rsp &/picclife/soft19/inventory/response/db_install.rsp cd /picclife/soft19/install/response cat db_install.rsp|grep -v "^#"|grep -v "^$" cp db_install.rsp db_install.rsp.bak vi db_install.rsp oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_sch ema_v19.0.0 oracle.install.option=INSTALL_DB_SWONLY UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/picclife/app/oraInventory ORACLE_HOME=/picclife/app/oracle/product/19.3/db_1 ORACLE_BASE=/picclife/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.OSDBA_GROUP=dba oracle.install.db.OSOPER_GROUP=oper oracle.install.db.OSBACKUPDBA_GROUP=dba oracle.install.db.OSDGDBA_GROUP=dba oracle.install.db.OSKMDBA_GROUP=dba oracle.install.db.OSRACDBA_GROUP=dba oracle.install.db.rootconfig.executeRootScript=false oracle.install.db.rootconfig.configMethod=ROOT (2)安装数据库软件 /picclife/app/oracle/product/19.3/db_1/runInstaller -force -silent -noconfig -ignorePrereq -responseFile /picclife/app/oracle/product/19.3/db_1/install/response/db_install.rsp (3)根据安装提示查看安装日志 tail -200f /picclife/app/oraInventory/logs/InstallActions2020-03-31_04-49-29PM/installActions2020-03-31_04-49-29PM.log (4)执行脚本 su - root [root@localhost oraInventory]# picclife/app/oracle/product/19.3/db_1/root.sh Check /picclife/app/oracle/product/19.3/db_1/install/root_localhost_2020-03-31_17-00-53-190777891.log for the output of root script 2.静默安装数据库 (1)修改响应文件 /picclife/app/oracle/product/19.3/db_1/assistants/dbca/dbca.rsp cd /picclife/app/oracle/product/19.3/db_1/assistants/dbca cp dbca.rsp dbca.rsp.bak cat dbca.rsp |grep -v "^#"|grep -v "^$" cp dbca.rsp dbca.rsp.bak vi dbca.rsp gdbName=PROD sid=PROD createAsContainerDatabase=true numberOfPDBs=1 pdbName=PRODPDB pdbAdminPassword=Picclife2020 templateName=General_Purpose.dbc sysPassword=Picclife2020 systemPassword=Picclife2020 emExpressPort=5500 datafileDestination={ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/ characterSet=AL32UTF8 nationalCharacterSet=AL16UTF16 memoryPercentage=40 automaticMemoryManagement=false totalMemory=30720 (2)安装数据库 dbca -silent -createDatabase -responseFile /picclife/app/oracle/product/19.3/db_1/assistants/dbca/dbca.rsp Prepare for db operation 8% complete Copying database files 31% complete Creating and starting Oracle instance 32% complete 36% complete 40% complete 43% complete 46% complete Completing Database Creation 51% complete 53% complete 54% complete Creating Pluggable Databases 58% complete 77% complete Executing Post Configuration Actions 100% complete Database creation complete. For details check the logfiles at:/picclife/app/oracle/cfgtoollogs/dbca/PROD. Database Information: Global Database Name:PROD System Identifier(SID):PROD Look at the log file "/picclife/app/oracle/cfgtoollogs/dbca/PROD/PROD.log"for further details.3.创建监听 (1)响应文件 /picclife/app/oracle/product/19.3/db_1/assistants/netca/netca.rsp cd /picclife/app/oracle/product/19.3/db_1/assistants/netca cat netca.rsp|grep -v "^#"|grep -v "^$"[GENERAL] RESPONSEFILE_VERSION="19.0" CREATE_TYPE="CUSTOM"[oracle.net.ca] INSTALLED_COMPONENTS={"server","net8","javavm"} INSTALL_TYPE=""typical"" LISTENER_NUMBER=1 LISTENER_NAMES={"LISTENER"} LISTENER_PROTOCOLS={"TCP;1521"} LISTENER_START=""LISTENER"" NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"} NSN_NUMBER=1 NSN_NAMES={"EXTPROC_CONNECTION_DATA"} NSN_SERVICE={"PLSExtProc"} NSN_PROTOCOLS={"TCP;HOSTNAME;1521"} netca -silent -responsefile /picclife/app/oracle/product/19.3/db_1/assistants/netca/netca.rsp [oracle@localhost admin]$ lsnrctl status LSNRCTL for Linux: Version 19.0.0.0.0- Production on 31-MAR-202020:18:43 Copyright (c)1991,2019, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 19.0.0.0.0- Production Start Date 31-MAR-202020:18:35 Uptime 0 days 0 hr.0 min.7 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /picclife/app/oracle/product/19.3/db_1/network/admin/listener.ora Listener Log File /picclife/app/oracle/diag/tnslsnr/fs-3z3- vm0326/listener/alert/log.xml Listening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Services Summary... Service "PROD" has 1instance(s). Instance "prod", status READY, has 1handler(s)for this service... Service "PRODXDB" has 1instance(s). Instance "prod", status READY, has 1handler(s)for this service... Service "a2258757226171cde0530100007fd4a0" has 1instance(s). Instance "prod", status READY, has 1handler(s)for this service... Service "prodpdb" has 1instance(s). Instance "prod", status READY, has 1handler(s)for this service... The command completed successfully 4.开启 pdb SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ------------------------------------------------------------2 PDB$SEED READ ONLY NO 3 PRODPDB MOUNTED SQL> alter pluggable database PRODPDB open; Pluggable database altered. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ------------------------------------------------------------2 PDB$SEED READ ONLY NO 3 PRODPDB read write