详解Oracle数据库的启动
Oracle数据库的启动,其概念可参考Overview of Instance and Database Startup。
其过程可参见下图:
当数据库从关闭状态进入打开数据库状态时,它会经历以下阶段。
阶段 | Mount状态 | 描述 |
---|---|---|
1 | 实例在没有挂载数据库的情况下启动 | 实例已启动,但尚未与数据库关联。 |
2 | 数据库挂载 | 实例启动并通过读取其控制文件与数据库相关联。 数据库对用户关闭。 |
3 | 数据库打开 | 实例已启动并与打开的数据库相关联。 数据文件中包含的数据可供授权用户访问。 |
下面我们将通过示例来详细了解数据库的启动过程。
基本概念
启动的第一步是寻找spfile,SPFILE 文件名为 spfileSID.ora,位于ORACLE_HOME/database 目录中。
我们知道spfile是包含了control file的位置的,因此启动的顺序也是先读spfile,然后会读control file。
spfile和control file都是二进制文件。
获取文本形式的spfile,可以:
create pfile='xxx' from spfile;
获取文本形式的control file,可以:
alter database backup controlfile to trace;
数据库启动涉及的文件
SQL> show parameter spfile
NAME TYPE VALUE
------ ------ ------------------------------------------------------
spfile string /opt/oracle/product/19c/dbhome_1/dbs/spfileORCLCDB.oraSQL> show parameter control_files
NAME TYPE VALUE
------------- ------ ------------------------------------------------------------------------------------
control_files string /opt/oracle/oradata/ORCLCDB/control01.ctl, /opt/oracle/oradata/ORCLCDB/control02.ctlSQL> select name from v$datafile;NAME
--------------------------------------------------------------------------------
/opt/oracle/oradata/ORCLCDB/system01.dbf
/opt/oracle/oradata/ORCLCDB/sysaux01.dbf
/opt/oracle/oradata/ORCLCDB/undotbs01.dbf
/opt/oracle/oradata/ORCLCDB/pdbseed/system01.dbf
/opt/oracle/oradata/ORCLCDB/pdbseed/sysaux01.dbf
/opt/oracle/oradata/ORCLCDB/users01.dbf
...SQL> select member from v$logfile;MEMBER
--------------------------------------------------------------------------------
/opt/oracle/oradata/ORCLCDB/redo03.log
/opt/oracle/oradata/ORCLCDB/redo02.log
/opt/oracle/oradata/ORCLCDB/redo01.log
为了简单,我们只采用以下4个文件的状态:
- spfile
- control file:/opt/oracle/oradata/ORCLCDB/control01.ctl
- data file:/opt/oracle/oradata/ORCLCDB/system01.dbf
- redo log file:/opt/oracle/oradata/ORCLCDB/redo01.log
初始状态,数据库处于关闭状态
记录一下几个文件的时间戳。包括atime, mtime和ctime。
$ stat /opt/oracle/product/19c/dbhome_1/dbs/spfileORCLCDB.oraFile: ‘/opt/oracle/product/19c/dbhome_1/dbs/spfileORCLCDB.ora’Size: 3584 Blocks: 8 IO Block: 4096 regular file
Device: fc00h/64512d Inode: 147838129 Links: 1
Access: (0640/-rw-r-----) Uid: (54321/ oracle) Gid: (54321/oinstall)
Context: unconfined_u:object_r:usr_t:s0
Access: 2024-01-08 22:39:40.758879960 +0800
Modify: 2024-01-08 22:27:21.718465002 +0800
Change: 2024-01-08 22:27:21.718465002 +0800Birth: -$ stat /opt/oracle/oradata/ORCLCDB/control01.ctlFile: ‘/opt/oracle/oradata/ORCLCDB/control01.ctl’Size: 18726912 Blocks: 36576 IO Block: 4096 regular file
Device: fc00h/64512d Inode: 139684770 Links: 1
Access: (0640/-rw-r-----) Uid: (54321/ oracle) Gid: (54321/oinstall)
Context: unconfined_u:object_r:usr_t:s0
Access: 2024-01-08 22:41:25.153574355 +0800
Modify: 2024-01-08 22:41:25.179574414 +0800
Change: 2024-01-08 22:41:25.179574414 +0800Birth: -$ stat /opt/oracle/oradata/ORCLCDB/system01.dbfFile: ‘/opt/oracle/oradata/ORCLCDB/system01.dbf’Size: 954212352 Blocks: 1863704 IO Block: 4096 regular file
Device: fc00h/64512d Inode: 139684766 Links: 1
Access: (0640/-rw-r-----) Uid: (54321/ oracle) Gid: (54321/oinstall)
Context: unconfined_u:object_r:usr_t:s0
Access: 2024-01-08 22:41:24.812573601 +0800
Modify: 2024-01-08 22:41:24.816573610 +0800
Change: 2024-01-08 22:41:24.816573610 +0800Birth: -
在以上时间中,atime是文件最后被访问的时间,如读取。mtime和ctime容易混淆,前者指文件内容被修改,后者指文件元数据被修改。
在ls命令中,-t显示mtime,-u显示atime,-c显示ctime,不过stat命令更清晰些。
然后目前并没有共享内存被分配。
$ ipcs -a------ Message Queues --------
key msqid owner perms used-bytes messages------ Shared Memory Segments --------
key shmid owner perms bytes nattch status------ Semaphore Arrays --------
key semid owner perms nsems$ ps -ef|grep smon|grep -v grep
数据库实例已启动 (阶段1)
根据文档How an Instance Is Started,启动实例的过程如下:
- 搜索服务器参数文件(SPFILE)
- 读取服务器参数文件以确定初始化参数的值
- 根据初始化参数设置分配SGA
- 启动 Oracle 后台进程
- 打开警报日志和跟踪文件,并以有效的参数语法将所有显式参数设置写入警报日志
相关命令为:
-- 数据库从关闭状态进入实例启动状态
SQL> STARTUP NOMOUNT
ORACLE instance started.Total System Global Area 1207955552 bytes
Fixed Size 9134176 bytes
Variable Size 603979776 bytes
Database Buffers 587202560 bytes
Redo Buffers 7639040 bytes
来看一下相关变化。
首先spfile被读取了,虽然其没有被改动。
$ stat /opt/oracle/product/19c/dbhome_1/dbs/spfileORCLCDB.oraFile: ‘/opt/oracle/product/19c/dbhome_1/dbs/spfileORCLCDB.ora’Size: 3584 Blocks: 8 IO Block: 4096 regular file
Device: fc00h/64512d Inode: 147838129 Links: 1
Access: (0640/-rw-r-----) Uid: (54321/ oracle) Gid: (54321/oinstall)
Context: unconfined_u:object_r:usr_t:s0
Access: 2024-01-08 22:39:40.758879960 +0800
Modify: 2024-01-08 22:27:21.718465002 +0800
Change: 2024-01-08 22:27:21.718465002 +0800Birth: -
控制文件和数据文件都没有被读取,毕竟数据库还没有被mount。
$ stat /opt/oracle/oradata/ORCLCDB/control01.ctlFile: ‘/opt/oracle/oradata/ORCLCDB/control01.ctl’Size: 18726912 Blocks: 36576 IO Block: 4096 regular file
Device: fc00h/64512d Inode: 139684770 Links: 1
Access: (0640/-rw-r-----) Uid: (54321/ oracle) Gid: (54321/oinstall)
Context: unconfined_u:object_r:usr_t:s0
Access: 2024-01-08 22:41:25.153574355 +0800
Modify: 2024-01-08 22:41:25.179574414 +0800
Change: 2024-01-08 22:41:25.179574414 +0800Birth: -$ stat /opt/oracle/oradata/ORCLCDB/system01.dbfFile: ‘/opt/oracle/oradata/ORCLCDB/system01.dbf’Size: 954212352 Blocks: 1863704 IO Block: 4096 regular file
Device: fc00h/64512d Inode: 139684766 Links: 1
Access: (0640/-rw-r-----) Uid: (54321/ oracle) Gid: (54321/oinstall)
Context: unconfined_u:object_r:usr_t:s0
Access: 2024-01-08 22:41:24.812573601 +0800
Modify: 2024-01-08 22:41:24.816573610 +0800
Change: 2024-01-08 22:41:24.816573610 +0800Birth: -
尽管数据库没有启动,但内存确实分配了,这也说明SGA等内存组件实际是实例的特性:
$ ipcs -a------ Message Queues --------
key msqid owner perms used-bytes messages------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 4 oracle 600 9138176 64
0x00000000 5 oracle 600 1191182336 32
0x00000000 6 oracle 600 7639040 32
0x43b375cc 7 oracle 600 12288 32------ Semaphore Arrays --------
key semid owner perms nsems
0x8d2a3534 10 oracle 600 250
0x8d2a3535 11 oracle 600 250
对照以下SGA的信息:
SQL> select * from v$sga;NAME VALUE CON_ID
-------------------- ---------- ----------
Fixed Size 9134176 0
Variable Size 603979776 0
Database Buffers 587202560 0
Redo Buffers 7639040 0
Fixed Size
对应ipcs输出中的shmid 4;Variable Size
+Database Buffers
等于1191182336,对应ipcs输出中的shmid 5;Redo Buffers
对应ipcs输出中的shmid 6。
关于Fixed Size
和Variable Size
,参见What are Fixed Size and Variable Size of SGA indicative of and how do we calculate them?
后台进程启动了:
$ ps -ef|grep smon|grep -v grep
oracle 20677 1 0 22:51 ? 00:00:00 ora_smon_ORCLCDB
这个阶段,管理员还不能对数据库进行操作:
SQL> select open_mode from v$database;
select open_mode from v$database*
ERROR at line 1:
ORA-01507: database not mounted
数据库已挂载(阶段2)
根据文档How a Database Is Mounted,在这一阶段,Oracle挂载一个数据库并与数据库实例关联。如果是RAC配置,一个数据库可以与多个数据库实例关联。
实例通过CONTROL_FILES初始化参数获取控制文件的位置并将其打开。在控制文件中,可以获取数据文件和在线重做日志文件的位置。
在这一阶段,数据库仍然是关闭的,管理员可以做一些特定的数据库维护操作。
相关命令为:
-- 数据库从关闭状态直接进入数据库挂载状态
SQL> STARTUP MOUNT
-- 数据库从NOMOUNT状态进入数据库挂载状态
SQL> ALTER DATABASE MOUNT;
Database altered.
来看一下和上一阶段想比,发生了什么变化。
首先,管理员已经可以访问数据库进行管理操作,但访问用户数据还是不行的:
SQL> select open_mode from v$database;OPEN_MODE
--------------------
MOUNTEDSQL> select * from hr.employees;
select * from hr.employees*
ERROR at line 1:
ORA-01219: database or pluggable database not open: queries allowed on fixed
tables or views only
spfile被修改了,而在上一阶段仅仅被读取。control file被修改了,而在上一阶段没有被访问。
$ stat /opt/oracle/product/19c/dbhome_1/dbs/spfileORCLCDB.oraFile: ‘/opt/oracle/product/19c/dbhome_1/dbs/spfileORCLCDB.ora’Size: 3584 Blocks: 8 IO Block: 4096 regular file
Device: fc00h/64512d Inode: 147838129 Links: 1
Access: (0640/-rw-r-----) Uid: (54321/ oracle) Gid: (54321/oinstall)
Context: unconfined_u:object_r:usr_t:s0
Access: 2024-01-08 23:04:55.733604697 +0800
Modify: 2024-01-08 23:04:55.744604708 +0800
Change: 2024-01-08 23:04:55.744604708 +0800Birth: -$ stat /opt/oracle/oradata/ORCLCDB/control01.ctlFile: ‘/opt/oracle/oradata/ORCLCDB/control01.ctl’Size: 18726912 Blocks: 36576 IO Block: 4096 regular file
Device: fc00h/64512d Inode: 139684770 Links: 1
Access: (0640/-rw-r-----) Uid: (54321/ oracle) Gid: (54321/oinstall)
Context: unconfined_u:object_r:usr_t:s0
Access: 2024-01-08 23:14:05.202142083 +0800
Modify: 2024-01-08 23:14:05.189142070 +0800
Change: 2024-01-08 23:14:05.189142070 +0800Birth: -
数据文件仍没有被读取:
$ stat /opt/oracle/oradata/ORCLCDB/system01.dbfFile: ‘/opt/oracle/oradata/ORCLCDB/system01.dbf’Size: 954212352 Blocks: 1863704 IO Block: 4096 regular file
Device: fc00h/64512d Inode: 139684766 Links: 1
Access: (0640/-rw-r-----) Uid: (54321/ oracle) Gid: (54321/oinstall)
Context: unconfined_u:object_r:usr_t:s0
Access: 2024-01-08 22:41:24.812573601 +0800
Modify: 2024-01-08 22:41:24.816573610 +0800
Change: 2024-01-08 22:41:24.816573610 +0800Birth: -
数据库仍然是关闭的,但可以做一些维护工作:
SQL> show con_nameCON_NAME
------------------------------
CDB$ROOT
SQL> show pdbsCON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED MOUNTED3 ORCLPDB1 MOUNTED4 ORCLPDB2 MOUNTED
目前为止,redo log也没有被读取:
$ stat /opt/oracle/oradata/ORCLCDB/redo01.logFile: ‘/opt/oracle/oradata/ORCLCDB/redo01.log’Size: 209715712 Blocks: 409616 IO Block: 4096 regular file
Device: fc00h/64512d Inode: 139684773 Links: 1
Access: (0640/-rw-r-----) Uid: (54321/ oracle) Gid: (54321/oinstall)
Context: unconfined_u:object_r:usr_t:s0
Access: 2024-01-08 22:27:23.244467670 +0800
Modify: 2024-01-08 22:27:23.252467684 +0800
Change: 2024-01-08 22:27:23.252467684 +0800Birth: -
数据库已打开(阶段3)
根据文档How a Database Is Opened,在这一阶段,普通的用户就可以访问数据库进行增删改查了。
打开数据库时,Oracle 数据库执行以下操作:
- 打开除撤销表空间以外的表空间中的在线数据文件
如果之前关闭数据库时表空间处于脱机状态,那么当数据库重新打开时,该表空间及其相应的数据文件将处于脱机状态。 - 获取一个撤销表空间
- 打开在线重做日志文件
相关命令为:
-- 数据库从关闭状态直接进入数据库打开状态
SQL> STARTUP OPEN
-- 数据库从NOMOUNT状态进入数据库挂载状态
SQL> ALTER DATABASE OPEN;Database altered.
这一阶段,数据文件和redo log都被读取和修改了:
$ stat /opt/oracle/oradata/ORCLCDB/system01.dbfFile: ‘/opt/oracle/oradata/ORCLCDB/system01.dbf’Size: 954212352 Blocks: 1863704 IO Block: 4096 regular file
Device: fc00h/64512d Inode: 139684766 Links: 1
Access: (0640/-rw-r-----) Uid: (54321/ oracle) Gid: (54321/oinstall)
Context: unconfined_u:object_r:usr_t:s0
Access: 2024-01-08 23:24:32.182755204 +0800
Modify: 2024-01-08 23:24:32.077755101 +0800
Change: 2024-01-08 23:24:32.077755101 +0800Birth: -$ stat /opt/oracle/oradata/ORCLCDB/redo01.logFile: ‘/opt/oracle/oradata/ORCLCDB/redo01.log’Size: 209715712 Blocks: 409616 IO Block: 4096 regular file
Device: fc00h/64512d Inode: 139684773 Links: 1
Access: (0640/-rw-r-----) Uid: (54321/ oracle) Gid: (54321/oinstall)
Context: unconfined_u:object_r:usr_t:s0
Access: 2024-01-08 23:24:32.020755046 +0800
Modify: 2024-01-08 23:24:32.026755051 +0800
Change: 2024-01-08 23:24:32.026755051 +0800Birth: -
此时数据库处于可读写状态,业务用户可以访问数据库了:
SQL> select open_mode from v$database;OPEN_MODE
--------------------
READ WRITE
查询实例启动时间
当前启动时间:
SQL> alter session set nls_date_format="yyyy-mm-dd hh24:mi:ss";Session altered.SQL> select startup_time from v$instance;STARTUP_TIME
-------------------
2024-01-09 11:34:52
历史启动时间,1月8日晚上那几个是做本次实验的时间:
SQL> SELECT STARTUP_TIME FROM dba_hist_database_instance ORDER BY startup_time DESC;STARTUP_TIME
---------------------------------------------------------------------------
09-JAN-24 11.35.06.000 AM
08-JAN-24 11.24.32.000 PM
08-JAN-24 10.27.23.000 PM
15-DEC-23 09.50.18.000 AM
22-NOV-23 09.27.57.000 AM
详细的启动日志可以从alert log中找到。
来看一下从close到nomount 数据库的这一段日志,也就是启动实例的日志:
2024-01-08T22:26:51.216756+08:00
Starting ORACLE instance (normal) (OS id: 18596)
2024-01-08T22:26:51.415274+08:00
****************************************************Sys-V shared memory will be used for creating SGA****************************************************
2024-01-08T22:26:51.421581+08:00
**********************************************************************
2024-01-08T22:26:51.421777+08:00
Dump of system resources acquired for SHARED GLOBAL AREA (SGA)2024-01-08T22:26:51.422091+08:00Per process system memlock (soft) limit = 128G
2024-01-08T22:26:51.422197+08:00Expected per process system memlock (soft) limit to lockinstance MAX SHARED GLOBAL AREA (SGA) into memory: 1154M
...
2024-01-08T22:26:54.321786+08:00
Initial number of CPU is 2
Number of processor cores in the system is 2
Number of processor sockets in the system is 1
...
2024-01-08T22:26:56.201230+08:00
NOTE: remote asm mode is local (mode 0x1; from cluster type)
2024-01-08T22:26:57.060942+08:00
NOTE: Using default ASM root directory ASM
NOTE: remote asm mode is local (mode 0x1; from cluster type)
NOTE: Cluster configuration type = NONE [2]
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0.
ORACLE_HOME: /opt/oracle/product/19c/dbhome_1
System name: Linux
Node name: oracle-19c-vagrant
Release: 5.4.17-2136.323.8.2.el7uek.x86_64
Version: #2 SMP Wed Sep 20 00:06:39 PDT 2023
Machine: x86_64
Using parameter settings in server-side spfile /opt/oracle/product/19c/dbhome_1/dbs/spfileORCLCDB.ora
System parameters with non-default values:processes = 300nls_language = "AMERICAN"nls_territory = "AMERICA"filesystemio_options = "setall"sga_target = 1152Mcontrol_files = "/opt/oracle/oradata/ORCLCDB/control01.ctl"control_files = "/opt/oracle/oradata/ORCLCDB/control02.ctl"db_block_size = 8192compatible = "19.0.0"db_create_file_dest = "/u02/oradata"undo_tablespace = "UNDOTBS1"remote_login_passwordfile= "EXCLUSIVE"audit_sys_operations = FALSEwallet_root = "/opt/oracle/wallet"tde_configuration = "keystore_configuration=file"dispatchers = "(PROTOCOL=TCP) (SERVICE=ORCLCDBXDB)"local_listener = "(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))"audit_file_dest = "/opt/oracle/admin/ORCLCDB/adump"commit_wait = "nowait"commit_logging = "batch"audit_trail = "NONE"db_name = "ORCLCDB"open_cursors = 300pga_aggregate_target = 384Mmax_string_size = "EXTENDED"diagnostic_dest = "/opt/oracle"enable_pluggable_database= TRUE
2024-01-08T22:26:57.272471+08:00
============================================================
NOTE: PatchLevel of this instance 0
============================================================
2024-01-08T22:27:00.845366+08:00
Starting background process PMON
2024-01-08T22:27:00.921901+08:00
PMON started with pid=2, OS id=18611
Starting background process CLMN
...
mount 数据库的这一段日志:
2024-01-08T22:27:15.577994+08:00
ALTER DATABASE MOUNT
2024-01-08T22:27:19.960506+08:00
.... (PID:18684): Redo network throttle feature is disabled at mount time
2024-01-08T22:27:20.151186+08:00
Successful mount of redo thread 1, with mount id 2928771267
2024-01-08T22:27:20.170803+08:00
Database mounted in Exclusive Mode
Lost write protection disabled
.... (PID:18684): Using STANDBY_ARCHIVE_DEST parameter default value as /opt/oracle/product/19c/dbhome_1/dbs/arch [krsd.c:18141]
Completed: ALTER DATABASE MOUNT
2024-01-08T22:27:20.604215+08:00
open 数据库的这一段日志:
2024-01-08T22:27:20.604215+08:00
ALTER DATABASE OPEN
Ping without log force is disabled:instance mounted in exclusive mode.
2024-01-08T22:27:20.970579+08:00
Crash Recovery excluding pdb 2 which was cleanly closed.
2024-01-08T22:27:21.009403+08:00
Crash Recovery excluding pdb 4 which was cleanly closed.
2024-01-08T22:27:21.044930+08:00
Beginning crash recovery of 1 threadsparallel recovery started with 2 processes
2024-01-08T22:27:21.862998+08:00Thread 1: Recovery starting at checkpoint rba (logseq 28 block 121441), scn 0
2024-01-08T22:27:21.904360+08:00
Started redo scan
2024-01-08T22:27:22.131319+08:00
Completed redo scanread 403 KB redo, 75 data blocks need recovery
2024-01-08T22:27:22.231830+08:00
Started redo application atThread 1: logseq 28, block 121441, offset 0
2024-01-08T22:27:22.250156+08:00
Recovery of Online Redo Log: Thread 1 Group 1 Seq 28 Reading mem 0Mem# 0: /opt/oracle/oradata/ORCLCDB/redo01.log
2024-01-08T22:27:22.267918+08:00
Completed redo application of 0.24MB
2024-01-08T22:27:22.500676+08:00
Completed crash recovery atThread 1: RBA 28.122247.16, nab 122247, scn 0x00000000004127ec75 data blocks read, 75 data blocks written, 403 redo k-bytes read
2024-01-08T22:27:23.079959+08:00
Endian type of dictionary set to little
2024-01-08T22:27:23.298785+08:00
Thread 1 advanced to log sequence 29 (thread open)
Redo log for group 2, sequence 29 is not located on DAX storage
2024-01-08T22:27:23.359758+08:00
TT00 (PID:18716): Gap Manager starting
2024-01-08T22:27:23.553486+08:00
Thread 1 opened at log sequence 29Current log# 2 seq# 29 mem# 0: /opt/oracle/oradata/ORCLCDB/redo02.log
Successful open of redo thread 1
2024-01-08T22:27:23.554324+08:00
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
stopping change tracking
2024-01-08T22:27:24.346943+08:00
Undo initialization recovery: err:0 start: 34362829 end: 34362990 diff: 161 ms (0.2 seconds)
2024-01-08T22:27:24.656931+08:00
[18698] Successfully onlined Undo Tablespace 2.
Undo initialization online undo segments: err:0 start: 34362990 end: 34363300 diff: 310 ms (0.3 seconds)
Undo initialization finished serial:0 start:34362829 end:34363317 diff:488 ms (0.5 seconds)
Verifying minimum file header compatibility for tablespace encryption for pdb 1..
Verifying file header compatibility for tablespace encryption completed for pdb 1
Database Characterset is AL32UTF8
No Resource Manager plan active
2024-01-08T22:27:26.737750+08:00
joxcsys_required_dirobj_exists: directory object exists with required path /opt/oracle/product/19c/dbhome_1/javavm/admin/, pid 18698 cid 1
replication_dependency_tracking turned off (no async multimaster replication found)
2024-01-08T22:27:28.530215+08:00
Starting background process AQPC
2024-01-08T22:27:28.651850+08:00
AQPC started with pid=43, OS id=18728
2024-01-08T22:27:29.867380+08:00
PDB$SEED(2):Autotune of undo retention is turned on.
2024-01-08T22:27:30.272563+08:00
PDB$SEED(2):Endian type of dictionary set to little
PDB$SEED(2):Undo initialization finished serial:0 start:34369350 end:34369350 diff:0 ms (0.0 seconds)
PDB$SEED(2):Database Characterset for PDB$SEED is AL32UTF8
2024-01-08T22:27:32.582739+08:00
PDB$SEED(2):Opening pdb with no Resource Manager plan active
2024-01-08T22:27:33.849456+08:00
ORCLPDB1(3):Autotune of undo retention is turned on.
2024-01-08T22:27:34.037019+08:00
ORCLPDB1(3):Endian type of dictionary set to little
ORCLPDB1(3):Undo initialization recovery: err:0 start: 34373141 end: 34373314 diff: 173 ms (0.2 seconds)
2024-01-08T22:27:34.923730+08:00
QPI: opatch file present, opatch
QPI: qopiprep.bat file present
2024-01-08T22:27:35.231303+08:00
ORCLPDB1(3):[18698] Successfully onlined Undo Tablespace 2.
ORCLPDB1(3):Undo initialization online undo segments: err:0 start: 34373314 end: 34373875 diff: 561 ms (0.6 seconds)
ORCLPDB1(3):Undo initialization finished serial:0 start:34373141 end:34373908 diff:767 ms (0.8 seconds)
ORCLPDB1(3):Database Characterset for ORCLPDB1 is AL32UTF8
2024-01-08T22:27:39.604926+08:00
ORCLPDB1(3):Opening pdb with no Resource Manager plan active
ORCLPDB1(3):joxcsys_required_dirobj_exists: directory object exists with required path /opt/oracle/product/19c/dbhome_1/javavm/admin/, pid 18698 cid 3
2024-01-08T22:27:41.057725+08:00
Pluggable database ORCLPDB1 opened read write
2024-01-08T22:27:42.744511+08:00
Starting background process CJQ0
2024-01-08T22:27:43.150317+08:00
CJQ0 started with pid=56, OS id=18916
Completed: ALTER DATABASE OPEN
参考
- Database Concepts: Overview of Database Instance Startup and Shutdown
- User’s Guide and Reference: STARTUP
- Database Administrator’s Guide: 3.1 Starting Up a Database
相关文章:
详解Oracle数据库的启动
Oracle数据库的启动,其概念可参考Overview of Instance and Database Startup。 其过程可参见下图: 当数据库从关闭状态进入打开数据库状态时,它会经历以下阶段。 阶段Mount状态描述1实例在没有挂载数据库的情况下启动实例已启动ÿ…...
2024年跨境电商上半年营销日历,建议收藏
2024年伊始,跨境电商开启新一轮的营销竞技,那么首先需要客户需求,节假日与用户需求息息相关,那么接下来小编为大家整理2024上半年海外都有哪些节日和假期?跨境卖家如何见针对营销日历选品,助力卖家把握2024…...
Go采集1688网站数据对比商品价格
最近看了下多多和1688的一些商品价格,发现好多店铺都是无货源拿货一件发货,这就导致层层叠加价格翻了不知道几倍,真所谓多花钱办的事还是一样,因此,今天我就通过一个爬虫程序监控对应商品价格,了解行业龙头…...
Java泛型:灵活多变的类型参数化工具
👑专栏内容:Java⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、泛型1、什么是泛型2、泛型的语法 二、泛型类的使用1、泛型类的语法2、泛型如何编译的2.1、擦除机制2.2、为什么不能实例化泛…...
java 体育明星管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
一、源码特点 java Web 体育明星管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysq…...
蓝凌EIS智慧协同平台 ShowUserInfo.aspx sql注入漏洞
漏洞描述: 蓝凌EIS智慧协同平台是一个简单、高效的工作方式专为成长型企业打造的沟通、协同、社交的移动办公平台,覆盖OA、沟通、客户、人事、知识等管理需求,集合了非常丰富的模块,满足组织企业在知识、项目管理系统建设等需求的…...
React Hooks的useState、useRef使用
React Hooks 是 React 16.8 版本引入的新特性,它允许你在不编写 class 的情况下使用 state 和其他 React 特性。其中,useState 和 useRef 是两个常用的 Hooks。 1. useState useState 是一个允许你在函数组件中添加 state 的 Hook。 使用说明…...
Linux--防火墙,实验案例:基于区域、服务、端口的访问控制
实验环境 某公司的Web服务器,网关服务器均采用Linux CentOS 7.3操作系统,如图2.13所示。为了 加强网络访问的安全性,要求管理员熟悉firewalld防火墙规则的编写,以便制定有效、可行的主机防护策略。 需求描述 > 网关服务器ens3…...
C++学习笔记(二十八):c++ 静态库及动态库的使用
静态库的使用 库的使用会很大程度减少我们的工作,本节对c中静态库和动态库的使用进行简单的介绍。静态链接库意味着这个库会被放到可执行文件中,在生成的exe中。动态链接库是在程序运行时链接的,可以在程序运行时调用加载库函数的方法来实现&…...
uniapp最简单的底部兼容安全区域显示
效果图: 1.html写上动态padding-bottom <view class"button-wrap" :style"padding-bottom:bottomPaddingrpx"><view class"com-btn cencel-btn">取消</view><view class"com-btn confirm-btn " cl…...
图像去噪——CBDNet网络训练自己数据集及推理测试,模型转ONNX模型(详细图文教程)
CBDNet 主要由两个子网络组成:噪声估计子网络和去噪子网络。噪声估计子网络用于估计图像的噪声水平,而去噪子网络用于去除图像中的噪声。 CBDNet 的优势在于: 它采用了更真实的噪声模型,既考虑了泊松-高斯模型,还考虑…...
【Verilog】期末复习——解释下列名词(FPGA、ASIC、IP、RTL、EDA、HDL、FSM)
系列文章 数值(整数,实数,字符串)与数据类型(wire、reg、mem、parameter) 运算符 数据流建模 行为级建模 结构化建模 组合电路的设计和时序电路的设计 有限状态机的定义和分类 期末复习——数字逻辑电路分…...
计算机网络 综合(习题)
【计算机网络习题】系列文章目录 计算机网络 第一章 绪论(习题) 计算机网络 第二章 计算机网络体系结构(习题) 计算机网络 第三章 应用层(习题) 计算机网络 第四章 运输层(习题) 计算机网络 第五章 网络层(习题) 计算机网络 第六章 数据链路层(习题) 计算机网络 第七章 物…...
探索vue2框架的世界:简述常用的vue2选项式API (二)
组件实例 👉 $attrs 用于父组件隔代向孙组件传值 长设置在子组件中 v-bind"$attrs" (Vue2.4) parent.vue (父组件) <template><div class"outer"><h3>父组件</h3>名字:<input v-model"name"…...
云计算:OpenStack 分布式架构管理FLAT网络(单控制节点与多计算节点)
目录 一、实验 1.环境 2.控制节点创建网络 3.控制节点创建规格 4.控制节点新增安全组入口规则 5.控制节点创建实例 二、问题 1.FLAT网络底层如何实现 2.无法SSH 云主机实例 一、实验 1.环境 (1) 主机 表1 主机 主机架构IP备注controller控制节点192.168.204.210已部…...
【深度学习】cv领域中各种loss损失介绍
文章目录 前言一、均方误差二、交叉熵损失三、二元交叉熵损失四、Smooth L1 Loss五、IOU系列的loss 前言 损失函数是度量模型的预测输出与真实标签之间的差异或误差,在深度学习算法中起着重要作用。具体作用: 1、目标优化:损失函数是优化算法…...
2024年,为什么学网络安全找不到工作?这才是重要原因!
为什么网络安全人才缺口那么大,但很多人还是找不到工作?其实大家都忽略了1个重点,那就是不清楚企业在招什么样的人。 我花了2天的时间统计了主流招聘网站的岗位信息,发现了一个惊人的真相,那就是企业都喜欢招这3种人&a…...
很有用!小企业如何从零开始制作产品手册?
对于初创公司和小企业来说,创造一份高效、吸引人的产品手册可能不是特别简单,特别是当资源和预算有限的时候。然而,一份良好的产品手册可以帮助你传达你的品牌故事,展示你的产品,甚至可以帮助你提高销售额,…...
基于OpenCV的图像缩放
基础概念 缩放是将图像的尺寸变小或变大的过程,即减少或增加原图像数据的像素个数,或者说通过增加或删除像素点来改变图像的尺寸; 基本原理:将分辨率(图片尺寸)为(w,h)的图像,缩放后其图像分辨…...
基于长短期神经网络LSTM的测量误差预测
目录 背影 摘要 代码和数据下载:基于长短期神经网络LSTM的测量误差预测(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.net/download/abc991835105/88714812 LSTM的基本定义 LSTM实现的步骤 基于长短期神经网络LSTM的测量误差预测 结果分析 展望 参考论文 背影 …...
`package.json`也可以有注释了
众所周知,JSON文件是不支持注释的,除了JSON5/JSONC之外,我们在开发项目特别是前端项目时,大量会用到JSON文件,特别是在编写package.json中的scripts时,由于缺少注释,当有大量的命令脚本时,就有了…...
数学之何为数学
数学是什么 数学是绝大多数人学得最多的一门功课,但对于“数学是什么?”这一看来很普通的问题,却很难一下子给出一个使公众满意的回答。按照恩格斯的说法,数学是以现实世界的空间形式和数量关系为研究对象的。尽管人们现在对空间…...
docker容器内,将django项目数据库改为postgresql
容器为ubuntu20.04版本,新建了一套django项目,使用的默认sqllit3,换为postgresql,容器里安装postgresql方法 步骤1: 安装PostgreSQL数据库 # 打开一个bash会话在你的容器中 docker exec -it <container_id_or_name> bash#…...
【echarts】雷达图参数详细介绍
1. 详细示例 var option {tooltip: {trigger: item},radar: {startAngle: 90,//第一个指示器轴的角度,默认90indicator: [// 指示器{ name: Category A, max: 220 },// name:指示器名称{ name: Category B, max: 200 },// max:指示器的最大值,可选&…...
网络安全试题进阶——附答案
选择题 什么是CSRF攻击的全称? A. Cross-Site Request ForgeryB. Cross-Site ScriptingC. Credential Sniffing and Retrieval ForceD. Cyber Security and Risk Framework 哪种安全攻击利用用户的社交工程,诱使他们点击似乎是合法链接的恶意链接&#x…...
二刷Laravel 教程(构建页面)总结Ⅰ
L01 Laravel 教程 - Web 开发实战入门 ( Laravel 9.x ) 一、功能 1.会话控制(登录、退出、记住我) 2.用户功能(注册、用户激活、密码重设、邮件发送、个人中心、用户列表、用户删除) 3.静态页面(首页、关于、帮助&am…...
C++|19.C++类与结构体对比
类和结构体 类和结构体本质上并没有太大区别。 但两者在默认上有所区别。 类默认成员变量是私有的,而结构体默认成员变量是公有的。 也就是说,对于一个类来说,会默认使用private去保护其内部成员变量使得无法直接访问到其内部的变量。 同时从…...
Apache Camel笔记
Apache Camel笔记 1. Apache Camel概念 Apache Camel是一个轻量级的应用集成开发框架,专注于简化集成应用的开发。它基于Enterprise Integration Patterns(企业集成模式,简称EIP)的设计理念,提供了灵活的路由和中介机制…...
CSDN定制的奖品谁不想要?
各位大佬,在下真的缺一个喝水的杯子!!! 2023年即将画上句号,在这一年的技术征途上,CSDN始终陪伴在我身边,为我提供了丰富的知识资源、实用的技术文章和友好的交流平台。当我得知自己有幸获得CS…...
橄榄油行业分析:预计2029年将达到298亿美元
橄榄油是全世界公认高端食用油。橄榄油要以油橄榄树的果实为主要原料制得的植物油脂。橄榄油是世界上四大食用草本植物植物油脂之一,每年产量在260~300万吨级之间,占全球橄榄油生产量18900万吨级的1.5%上下。以其带有不饱和脂肪、角鲨烯、花青…...
做网站一般需要多久/全球疫情最新消息
如何使用远程服务器跑项目 内容精选换一换远程桌面协议(Remote Desktop Protocol,RDP),是微软提供的多通道的远程登录协议。本节为您介绍如何使用RDP文件远程登录Windows弹性云服务器。从管理控制台下载的RDP文件对应唯一的云服务器,当前RDP文…...
网站建设骗子/教师遭网课入侵直播录屏曝光广场舞
合作信息处理模型 介绍:B业务经理的到来A公司洽谈合作,A公司老板接待、会晤,经(握手完毕)老板会做下一个和后续的管理C。允许C直接地A进入谈判,然后,C找了几个技术人员(C1、C2、C3&…...
企业宣传网站源码/近期重大新闻事件
http://bbs.news.tom.com/bbs.php?forumid400&threadid5700&page1来自Tom论坛 >> 新闻贴图Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId889215...
数据管理系统/马鞍山网站seo
一、lsattr命令 lsattr命令用于显示文件属性。 用chattr执行改变文件或目录的属性,可执行lsattr指令查询其属性。 1.1 语法 lsattr [-adlRvV][文件或目录...]1.2 选项 选项描述-a显示所有文件和目录,包括以".“为名称开头字符的额外内建ÿ…...
怎么cms做网站/营销策划公司是干什么的
输出源文件的标题,目前执行行的行数,编译的日期,编译的时间。 Linux下实现 #include <stdio.h> int main() { printf("当前代码行:%d\n", __LINE__); printf("当前源代码文件名:%s\n"…...
怎么改wordpress的html/优化大师免费版下载
华为人工智能认证讲师 袁梦在人工智能深度学习技术中,有一个很重要的概念就是卷积神经网络CNN(Convolutional Neural Networks)。卷积神经网络被广泛地运用到计算机视觉中,用于提取图像数据的特征,其中发挥关键作用的步骤就是卷积层中的卷积运…...