一、oracle 监听
1、监听介绍
在创建Oracle数据库期间,Oracle Net Configuration Assistant创建名为listener的本地监听器。
diff
--监听器通过称为动态服务注册的功能进行数据库服务的注册
--监听器监听以下TCP/IP协议地址:ADDRESS= (protocol=TCP) (host=host_ name) (port=1521) )
--无需任何配置,即可通过监听立即访问数据库实例
--lsnrctl status listener或lsnrctl status
2、配置动态服务注册
(1)默认情况下,Oracle数据库实例配置为使用动态服务注册(服务注册),将可用服务自动提供给监听器。
css
--LREG进程轮询监听器以查看它们是否正在运行,如果是,则进行注册数据库服务信息。
(2)默认情况下,动态服务注册将所有PDB服务注册到同一个监听器。
diff
--如果停止该监听器,则停止对所有PDB服务的访问。
(3)配置动态服务注册的一般步骤:
diff
--确保INSTANCE NAME、 LOCAL LISTENER、 REMOTE LISTENER和SERVICE NAMES初始化参数被正确的配置。
--在服务器端tnsnames.ora文件中配置协议地址(服务端)。
(4)使用ALTER SYSTEM REGISTER命令立即启动服务注册
3、配置静态服务注册
(1)静态服务注册是配置监听器以获取其服务的方法
diff
--手动获取信息
--您可以为特定的PDB创建监听器。
--某些服务(如外部服务)可能需要静态服务注册
--过程和异构服务(用于非Oracle系统) 。
(2)监听器不知道静态注册的服务
diff
--对于静态注册,监听器不知道其数据库服务是否存在与否。
--它只知道它支持他们。
--监听器控件实用工具显示服务状态为未知。
(3)配置静态服务注册的一般步骤: 在listener.ora中,定义一个监听器及其协议地址。
在listener.ora中,还创建一个sid_ list_ 节,该节列出监听器的数据库服务。
4、更改默认监听端口(标准端口1521)的方法
1、只是静态注册方式修改端口 只修改listener.ora文件
2、如果需要动态注册且进行端口修改 LREG可以监听到
(1)先修改listener.ora
(2)修改LOCAL_LISTENER、REMOTE_LISTENER和SERVICE_NAMES
(3)修改服务端的tnsnames.ora
二、启动、关闭Oracle数据库
2、Oracle数据库启动
1、启动阶段
shutdown->nomount->mount->open
2、启动指令
csharp
sqlplus / as sysdba
startup
startup force :强制启动
3、Oracle数据库关闭
1、关闭模式
中止(abort)、立即(immediate)、正常(normal)、事务性(transactional)
2、关闭指令
arduino
shutdown abort:中止
shutdown immediate:立即
shutdown normal:正常
shutdown transactional:事务性
4、 通过pfile、spfile启动并设置初始化参数
1、通过spfile启动
数据库实例默认通过spfile启动
bash
//查看数据库是否通过spfile自动,若有值代表通过spfile启动
show parameter spfile
//默认spfile存放位置
$ORACLE_HOME/dbs/spfile[orcl实例名].ora
/u01/app/oracle/product/19.0.0/dbhome_1/dbs/spfileorcl.ora
创建spfile
系统会在上述目录下创建默认spfile
ini
/通过spfile创建
create spfile='/temp/spfileorcl.ora' from pfile;
//通过内存创建(不推荐参数会很多)
create spfile='/temp/spfileorcl.ora' from memory;
2、通过pfile启动
创建pfile
ini
//通过spfile
create pfile='/u01/app/oracle/product/19.0.0/dbhome_1/dbs/pfileorcl.ora' from spfile;
//通过内存创建(不推荐参数会很多)
create pfile='/u01/app/oracle/product/19.0.0/dbhome_1/dbs/pfileorcl.ora' from memory;
通过pfile启动
ini
startup pfile='/u01/app/oracle/product/19.0.0/dbhome_1/dbs/pfileorcl.ora';
官网查询初始化参数
docs.oracle.com/en/database...
三、启动、关闭pdb
1、不设置session启动、关闭
sql
//启动
alter pluggable database ORCLPDB3 open;
alter pluggable database ORCLPDB1 open;
alter pluggable database all open; //开启全部pdb
//停止
alter pluggable database ORCLPDB3 close;
alter pluggable database ORCLPDB1 close;
alter pluggable database all close; //关闭全部pdb
2、设置指定pdb的session启动、关闭
ini
//设置pdb的session
alter session set container=ORCLPDB1;
//取消设置(切换到CDB)
alter session set container = CDB$ROOT;
//只能操作ORCLPDB1
alter pluggable database open;
alter pluggable database close;
3、保留pdb状态
- 单个pdb
perl
//保留pdb状态
alter pluggable database orclpdb1 save state;
//取消状态
alter pluggable database orclpdb1 discard state;
- 所有pdb
less
//保留pdb状态
alter pluggable database all save state;
//取消状态
alter pluggable database all discard state;