最近因为在玩这一块的东西,但是网上没看到特别详细的资料,所以写个博客记录下,方便以后查看!!
这里就不介绍PDB这些概率了,直入主题。首先列出我所知道的几种创建PDB的方式。
1,通过DBCA 弹出图形界面创建。
2,通过根据seed创建PDB。
3,通过已知的PDB创建新的PDB。
4,通过xml的方式创建PDB。
下面记录的是使用第二种 根据seed创建PDB
1,转换oracle 用户
[root@localhost ~]# su - oracle
2,登录
[oracle@localhost ~]$ sqlplus / as sysdba
3,使用下面命令创建PDB
SQL> CREATE PLUGGABLE DATABASE crp ADMIN USER crpadmin IDENTIFIED BY 123456 FILE_NAME_CONVERT = ('/home/oracle/app/oracle/oradata/orcl/pdbseed/', '/home/oracle/app/oracle/oradata/orcl/crp/');
4,查看新创建的PDB 状态, status 为NEW, OPEN_MODE为MOUNTED
SQL> select pdb_id,pdb_name,status from cdb_pdbs where pdb_name='CRP';
PDB_ID PDB_NAME STATUS
---------- ------------------------------ ----------
37 CRP NEW
SQL> select pdb_id,pdb_name,status from cdb_pdbs where pdb_name='CRP';
select con_id,name,open_mode from v$pdbs where name='CRP';
CON_ID NAME OPEN_MODE
---------- ------------------------------ ----------
37 CRP MOUNTED
5,将pdb数据库改成open状态
SQL> alter pluggable database CRP open;
Pluggable database altered.
6,再次查询状态 发现OPEN_MODE变成了 READ WRITE
SQL> select con_id,name,open_mode from v$pdbs where name='CRP';
CON_ID NAME OPEN_MODE
---------- ------------------------------ ----------
37 CRP READ WRITE
7,使用本地管理员账号测试连接报ORA-12541 TNS: no listener 错,没有启动监听
SQL>conn crpadmin/123456@192.168.1.9:1521/crp ;
8,下面开始关联监听,首先切换到PDB CRP
SQL>alter session set container=CRP;
Session altered.
9,动态添加监听(这里还有静态添加方式,但是我没成功)
SQL>alter system set listener_networks='(( NAME=crp)(LOCAL_LISTENER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))))' scope=spfile;
System altered.
SQL> alter system register;
System altered.
10,查看监听状态
[oracle@localhost ~]$ lsnrctl status LISTENER
LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 16-JUN-2020 14:11:07
Copyright (c) 1991, 2014, 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 12.1.0.2.0 - Production
Start Date 15-JUN-2020 18:56:57
Uptime 0 days 19 hr. 14 min. 10 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /home/oracle/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
Listener Log File /home/oracle/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)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=localhost)(PORT=5500))(Security=(my_wallet_directory=/home/oracle/app/oracle/admin/orcl/xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "crp.localdomain" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
11,在listener.ora 里面添加服务,下面贴出我的listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(SID_NAME = orcl)
)
(SID_DESC =
(GLOBAL_DBNAME = pdborcl)
(SID_NAME = orcl)
)
(SID_DESC =
(GLOBAL_DBNAME = crp)
(SID_NAME = orcl)
)
)
12, 重启服务lsnrctl stop,lsnrctl start
13,再次连接
SQL> conn crpadmin/123456@192.168.1.9:1521/crp
Connected.
本文详细介绍了在Oracle数据库中创建可插拔数据库(PDB)的过程,包括通过seed创建PDB的具体步骤,从用户切换、SQL命令执行到监听器配置与服务注册,最后实现了远程连接验证。
1万+

被折叠的 条评论
为什么被折叠?



