事因:oracle12c因修改MAX_STRING_SIZE参数,没有正常重启数据库,突然断电后。启动这个实例就启动不了。

报错如下:
SQL> startup
ORACLE instance started.

Total System Global Area 1593835520 bytes
Fixed Size 2924880 bytes
Variable Size 1023413936 bytes
Database Buffers 553648128 bytes
Redo Buffers 13848576 bytes
Database mounted.
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-14693: The MAX_STRING_SIZE parameter must be EXTENDED.
Process ID: 103962
Session ID: 237 Serial number: 55929

解决方法:

startup nomount
show parameter MAX_STRING_SIZE(他的value为stand,正常是extended的)

因为之前改的应该是当时实例生命周期内的,没有修改参数文件里的。可以修改参数后再重启,刚刚登陆数据库实例的情况下再执行:

alter system set max_string_size=extended scope=spfile;
startup force