Crash Recovery的一点理论知识

本文详细阐述了数据库实例崩溃后的恢复机制,强调了在线重做日志文件和在线数据文件的作用。介绍了前滚过程,即数据库如何应用在线重做日志文件中的已提交更新到在线数据文件中,以及数据库打开后未提交的事务如何被回滚。

联机文档中的一些话:

Unlike the forms of recovery performed manually after a data loss, crash recovery uses only the online redo log files and current online datafiles, as left on disk after the instance failure. Archived logs are never used during crash recovery, and datafiles are never restored from backup.

The database applies any pending updates in the online redo logs to the online datafiles of your database. The result is that, whenever the database is restarted after a crash, the datafiles reflect all committed changes up to the moment when the haven't said failure occurred. (After the database opens, any changes that were part of uncommitted transactions at the time of the crash are rolled back.)

The duration of crash recovery is a function of the number of instances needing recovery, amount of redo generated in the redo threads of crashed instances since the last checkpoint, and user-configurable factors such as the number and size of redo log files, checkpoint frequency, and the parallel recovery setting.You can set parameters in the database server that can tune the duration of crash recovery. You can also tune checkpointing to optimize recovery time.

在实例崩溃恢复的过程中,只跟online redo log files和当前online的datafiles有关

在实例崩溃恢复过程中,数据库会将所有online redo log files中已经commit的数据写入到当前online的datafiles中,这个过程便是我们通常称之为前滚。

当数据库open后,所有在实例崩溃时候未提交的事务会被回滚掉

而我之前一直以为前滚和回滚这两步都是数据库open之前完成的,而今看来便是错误的认知了。这也就意味着,实例异常崩溃后重启,所需时间长短和redo log的大小有很大关系,redo log越大,前滚的过程需要越长。

而回滚,在数据库open后执行,照样阻塞相关的事务。

64位版本的 PLSQL 正式版,只能运行在64位系统中,需要你安装 64 位的 Oracle11g 或 Oracle12c 客户端。 安装中文包时请注意安装路径是否为PLSQL程序的路径。 备注:新版本Ribbon启用了 Ribbon 界面,改动较大,不习惯的建议不要更新。 部分插件会加载失败。 Ribbon User Interface PL/SQL Developer now uses a new Ribbon User Interface instead of a Menu User Interface: The Quick Access Toolbar above the ribbon contains the most frequently used functions, so that they are always immediately available. You can customize the Quick Access Toolbar to your own liking. Users that prefer a menu-like system to preserve screen real estate can select to automatically hide the ribbon. In the preferences you can select an option to revert to the familiar toolbar layout from PL/SQL Developer 11.0 and earlier. Single Document Interface On the "View" ribbon you can now choose between a Single Document Interface (SDI) or Multiple Document Interface (MDI - the same as in PL/SQL Developer 11.0 and earlier). In SDI mode you always see just one maximized window. A tab control above the window allows you to quickly switch between the windows: General User Interface Enhancements PL/SQL Developer is now fully compliant with High-DPI screens such as 4K monitors and notebooks. All controls and images will scale with resolution (some Plug-Ins may still need to be enhanced). Click on the image below to enlarge this example of a 15" 4K notebook (250% DPI): All window types now have a specific icon color, so that you can quickly identify the type in the Window List, in the SDI tab control, in the window titles, and so on. The transaction status is now visible in the status bar of a window, next to the "Saved" and "Executing" indicators. Added user interface preference "Preselect current user for object selection lists". PL/SQL Clipboard The new PL/SQL Clipboard is a dockable tool that stores the history of all SQL and PL/SQL code you copy to the Windows clipboard, so that you can paste the clipboard item again in the future. It has a filter function so that you can quickly find a clipboard item based on its contents: At the bottom you see the PL/SQL Clipboard history items. Clicking on an item will show the text with syntax highlighting in the preview pane, and will show the timestamp above the preview pane. Double-click on an item to paste the text in the cursor location of the current editor or drag & drop it to a specific location in an editor. You can use the editor preferences to configure when and how items are added to and deleted from the PL/SQL Clipboard. Debugger Enhancements You can now display compound variable values such as user-defined types, records and cursors: Support has been added for Error Breakpoints, which allow you to break execution when a specific exception (handled or unhandled) occurs: Breakpoints can now be saved and loaded. Debug object privileges can now be granted and revoked from the user interface. Code Assistant Enhancements The Code Assistant can now include column names from a DML statement context without using an alias: The Code Assistant can now describe sub-records. The Code Assistant now includes an <All> choice for default object type constructors. The Code Assistant can now include synonyms for user object lists. The Code Assistant no longer pre-selects <All> after typing part of a parameter/column name. SQL Window Enhancements A new preference has been added: "Null value cell color for mandatory columns". This allows you to quickly identify mandatory columns when adding new records: The result set selection can now be copied as an expression list: "column in (value, value, ...)" by right-clicking on a selection and selecting "Copy as expression list" from the popup menu. This allows you to quickly build a where clause based on the selection: When viewing or editing LOB's the contents for common data formats will automatically be recognized, so that an external viewer or editor can be invoked: Changes made and saved in an external editor will automatically be propagated to the column data. The SQL Window will now navigate to the offending cell in the result set after an insert or update with a column-specific error. The rowid column is now omitted when exporting a result set grid in SQL format. Test Window Enhancements You can now define Standard Tests for a specific function or procedure: A Standard Test can be invoked from the popup menu when right-clicking on the function or procedure in the Object Browser or in a PL/SQL source: The Test Window now supports Oracle12c implicit results, which are automatically detected and added to the variable list: A new Oracle / Output preference has been added to save dbms_output to a file. The filename can include %dbname%, %dbuser% and %date% variables to separate output files based on the database, user and date. Program Window Enhancements You can now suppress a hint or warning for a specific line of code by adding a "-- Ignore" comment. The Code Contents pane now shows local subprograms within a procedure/function in a separate folder. Session Window Enhancements The Session Window now has a Single Record View for the session details: You can now kill a session with the "immediate" option. Connection Enhancements A "Set current schema" item has been added to the connection popup menu. It will set the current schema for all windows of this connection. The current schema will be displayed in square brackets in the Connection List: Connecting through a proxy user is now supported. Other Enhancements A Compare function has been added to the Object Browser. You can compare program units, tables, views, sequences with sources in the database, in a file or in a window. A new Oracle / Options preference "Always include owner prefix" has been added. When enabled, DLL extracted from the database will always include the owner prefix. When disabled, the owner will be omitted if you are connected as the owner. A new "Stop" item has been added to the DBMS Scheduler "Running job" popup menu. Support has been added for Oracle12c read privileges for tables and views. Scripts generated by Export User Objects and Export Tables now have user-defined initialization and finalization. These files are located in the %APPDATA%\PLSQL Developer 12\Scripts directory. The Text Importer and ODBC Importer can now also truncate a table before import, in addition to the "Delete" option. The truncate option is faster but cannot be rolled back. The Compile Invalid Objects tool now has a User Selector. PL/SQL Developer 12 now comes as a new MSI installer for interactive and silent installation.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值