SHUTDOWN有几个参数可以使用: SHUTDOWN NORMAL :NORMAL也是默认的子句,执行的条件是 No new connections are allowed after the statement is issued. Before the database is shut down, the database waits for all currently connectedusers to discon
SHUTDOWN有几个参数可以使用:
SHUTDOWN NORMAL:NORMAL也是默认的子句,执行的条件是
No new connections are allowed after the statement is issued.
Before the database is shut down, the database waits for all currently connected users to disconnect from the database.
下次启动时不需要任何实例恢复过程。
SHUTDOWN IMMEDIATE:执行的场景是
To initiate an automated and unattended backup.
When a power shutdown is going to occur soon.
When the database or one of its applications is functioning irregularly and you cannot contact users to ask them to log off or they are unable to log off.
执行的条件是
No new connections are allowed, nor are new transactions allowed to be started, after the statement is issued.
Any uncommitted transactions are rolled back. (If long uncommitted transactions exist, this method of shutdown might not complete quickly, despite its name.)
Oracle Database does not wait for users currently connected to the database to disconnect. The database implicitly rolls back active transactions and disconnects all connected users.
同样地,下次启动时不需要任何实例恢复过程。
SHUTDOWN TRANSACTIONAL:执行的场景是需要进行例行的实例停止,但首先允许所有活动的交易完成,执行的条件是
No new connections are allowed, nor are new transactions allowed to be started, after the statement is issued.
After all transactions have completed, any client still connected to the instance is disconnected.
At this point, the instance shuts down just as it would when a SHUTDOWN IMMEDIATE statement is submitted.
下次启动时不需要任何实例恢复过程。
这种关闭操作不会让客户端丢失任务,同时不要求所有用户退出。
SHUTDOWN ABORT:执行的场景是
You need to shut down the database instantaneously (for example, if you know a power shutdown is going to occur in one minute).
You experience problems when starting a database instance.
执行的条件是
No new connections are allowed, nor are new transactions allowed to be started,
after the statement is issued.
Current client SQL statements being processed by Oracle Database are immediately terminated.
Uncommitted transactions are not rolled back.
Oracle Database does not wait for users currently connected to the database to disconnect. The database implicitly disconnects all connected users.
下次启动时将需要实例恢复过程。
可以看出ABORT是一种暴力的关闭,不会隐式地回滚交易,由于仍存在脏块,所以下次启动时需要进行实例恢复。
实验:
1. 执行shutdown normal命令关闭数据库
SQL> shutdown normal
发现提示SHUTDOWN: waiting for logins to complete喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPi48L3A+CjxwPrTTyc/D5rXEvenJ3L+0o6zKudPDc2h1dGRvd24gbm9ybWFstcS3vcq9udix1cr9vt2/4qOssrvUytDt0MLBrL3TvdPI66OszazKsdDo0qrL+dPQ0tHBrL3TtcS/zbuntsu2z7+quvOjrLLFxNy8zND41f2zo7nYsdWho7uz0sm0y7Smv8nE3LTm1NrI1M60ts+/qrXEway906GjPC9wPgo8cD7KudPDa2lsbCAtOSA3MjU1yNSyu8bw1/fTw6GjPGJyPgo8L3A+Cgo8cD48c3Ryb25nPjIuINa00NBzaHV0ZG93biBpbW1lZGlhdGXD/MHuudix1cr9vt2/4jwvc3Ryb25nPjxicj4KPC9wPgo8cD7T2srH1rG900NUUkwmIzQzO0PW0LbPc2h1dGRvd24gbm9ybWFso6zIu7rzyrnTw3NodXRkb3duCiBpbW1lZGlhdGXD/MHuudix1cr9vt2/4jwvcD4KPHA+U1FMJmd0OwpzaHV0ZG93biBpbW1lZGlhdGU8L3A+CjxwPjxpbWcgc3JjPQ=="http://www.2cto.com/uploadfile/Collfiles/20141113/201411130916122.png" alt="\">
此时提示SHUTDOWN: Active processes prevent shutdown operation
MOS上有篇文章(416658.1)专门介绍了immediate出现这种报错的问题,给出的原因是:
“If
the DB Control repository is running on the database target against which shutdown immediate was attempted then an incorrect order of events seems used.
You should stop DB Control first to get rid of all connections between DB Control and the repository database and then shutdown the database with "shutdown immediate'.”
意思是说可能DB Control库正在执行一些事件,需要停止DB Control避免所有DB Control和库之间的连接,然后才能执行shutdown immediate关闭,但这里我没有这样可能的操作,应该是没有普通用户未执行exit的场景,想一想,原来之前使用SYS登录后用过host切换到OS下,但并未切回退出,因此可能由于这样的问题,导致shutdown immediate出现hang的情况。
3. 执行shutdown abort命令关闭数据库
按照MOS的说法,使用
SQL>
shutdown abort 直接关闭
SQL>
startup restrict 允许具有restrict session权限的用户才能登陆,换句话,避免用户再登陆导致无法正常关闭
SQL>
shutdown normal 执行normal正常关闭
此时一切都安静了。
总结:
1. 非到万不得已尽量不要使用ABORT,谁知道会出现什么诡异的事情。
2.
执行关闭前,建议断开所有使用SYS连接的会话,特别是使用host切换OS的连接,可能会不注意,这点是教训。

MySQL使用的是GPL许可证。1)GPL许可证允许自由使用、修改和分发MySQL,但修改后的分发需遵循GPL。2)商业许可证可避免公开修改,适合需要保密的商业应用。

选择InnoDB而不是MyISAM的情况包括:1)需要事务支持,2)高并发环境,3)需要高数据一致性;反之,选择MyISAM的情况包括:1)主要是读操作,2)不需要事务支持。InnoDB适合需要高数据一致性和事务处理的应用,如电商平台,而MyISAM适合读密集型且无需事务的应用,如博客系统。

在MySQL中,外键的作用是建立表与表之间的关系,确保数据的一致性和完整性。外键通过引用完整性检查和级联操作维护数据的有效性,使用时需注意性能优化和避免常见错误。

MySQL中有四种主要的索引类型:B-Tree索引、哈希索引、全文索引和空间索引。1.B-Tree索引适用于范围查询、排序和分组,适合在employees表的name列上创建。2.哈希索引适用于等值查询,适合在MEMORY存储引擎的hash_table表的id列上创建。3.全文索引用于文本搜索,适合在articles表的content列上创建。4.空间索引用于地理空间查询,适合在locations表的geom列上创建。

toCreateAnIndexinMysql,usethecReateIndexStatement.1)forasingLecolumn,使用“ createIndexIdx_lastNameEnemployees(lastName); 2)foracompositeIndex,使用“ createIndexIndexIndexIndexIndexDx_nameOmplayees(lastName,firstName,firstName);” 3)forauniqe instex,creationexexexexex,

MySQL和SQLite的主要区别在于设计理念和使用场景:1.MySQL适用于大型应用和企业级解决方案,支持高性能和高并发;2.SQLite适合移动应用和桌面软件,轻量级且易于嵌入。

MySQL中的索引是数据库表中一列或多列的有序结构,用于加速数据检索。1)索引通过减少扫描数据量提升查询速度。2)B-Tree索引利用平衡树结构,适合范围查询和排序。3)创建索引使用CREATEINDEX语句,如CREATEINDEXidx_customer_idONorders(customer_id)。4)复合索引可优化多列查询,如CREATEINDEXidx_customer_orderONorders(customer_id,order_date)。5)使用EXPLAIN分析查询计划,避

在MySQL中使用事务可以确保数据一致性。1)通过STARTTRANSACTION开始事务,执行SQL操作后用COMMIT提交或ROLLBACK回滚。2)使用SAVEPOINT可以设置保存点,允许部分回滚。3)性能优化建议包括缩短事务时间、避免大规模查询和合理使用隔离级别。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Atom编辑器mac版下载
最流行的的开源编辑器

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

禅工作室 13.0.1
功能强大的PHP集成开发环境