应用场景1-7为Oracle的安装过程,此处不过多的讲解,网上的材料很多,也许会在后期中补上。
应用场景8
查看所有数据文件的位置:
SELECT NAME FROM V$DATAFILE;
List命令:
LIST
SAVE命令:
SAVE D:\ORACLESQL.SQL;
应用场景9-16为数据库的卸载和配置过程
-----------------数据库实例------------------
实例(instance):一组Oracle 后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享。这里可以维护易失的、非持久性内容(有些可以刷新输出到磁盘)。就算没有磁盘存储,数据库实例也能存在。也许实例不能算是世界上最有用的事物,不过你完全可以把它想成是最有用的事物,这有助于对实例和数据库划清界线。
下面演示启动xxx实例,挂接数据库,打开数据库,关闭数据库、卸载数据库、关闭实例的过程。
1、为了能进行以上操作,oracle的监听必须首先启动,这样,我们才有机会连接到oracle服务器端。可以通过如下命令进行:lsnrctl start;
2、oracle启动,windows下通常在服务里启动oracle,一般情况下同时启动相关实例,但也可以设置启动oracle时,不启动任何指定实例,这样oracle的启动速度相当快。
3、设定我们需要启动的相关实例。在console窗口中,输入 set oracle_sid=xxx (unix环境下用export命令)
4、用/nolog方式,进入sqlplus。 在console窗口中,输入 sqlplus /nolog ,然后回车,则进入sqlplus环境。
5、输入命令 connect sys as sysdba 回车后,提示输入口令,直接回车,则以sysdba的角色连接到oracle的空闲实例。
6、输入命令 startup nomount 回车,则启动了xxx实例,由set oracle_sid=xxx设置。
7、输入命令 alter database mount 回车,则将相应的数据库挂接到xxx实例。
8、输入命令 alter database open 回车,则打开了相应数据库。
9、输入命令 shutdown,则关闭数据库、卸载数据库、关闭实例。
Oracle数据库实例的4中状态:打开(OPEN)、关闭(CLOSE)、已装载(MOUNT)和已启动(NOMOUNT)。
------------------------------------------------------------------------------------
应用场景17:正常关闭数据库实例
使用SHOWDOWN命令关闭数据库实例:
SHUTDOWN NORMAL (normal参数是默认参数)
打开sqlplus:
cmd -> 在命令窗口输入 -> SQLPLUS /NOLOG
(打开sqlplus但是未登录,未连接数据库)
以管理员省份连接数据库:
CONN SYS AS SYSDBA; (后边将会经常用到,使用sys用户以管理员身份登录)
通过以上管理员身份来执SHUTDOWN命令----------》》慎用
但是这种方式比较慢,一般不采用这种方式。
应用场景18:立即关闭数据库实例
SHOWDOWN IMMEDIATE
应用场景19:事务处理的方式关闭数据库实例
SHUTDOWN TRANSACTIONAL
应用场景20:终止数据库实例
SHUTDOWN ABORT
应用场景21:在 Enterprise Manager中关闭数据库实例
通过PHP图形化界面控制端来关闭数据库实例
应用场景22:启动数据库实例、装载并打开数据库实例:
只有系统管理员才有权限关闭数据库实例。所以需要使用sys用户以系统管理员的身份连接到SQL Plus。----》执行STARTUP命令可以启动数据库实例、装载并打开数据库实例。
应用场景23:以指定的初始化餐数据文件来启动实例
在start命令中使用PFILE子句可以指定启动数据库使历史用用初始化参数文件。
SPFILE = C:\Users\Administrator\Desktop\软件12-Oracle\源代码\4.1.4节\initoradb.ora
使用SYS用户以管理员SYSDBA身份连接到SQL Plus。如果数据库处于启动状态,可以使用应用场景18中提到的 SHUTDOWN IMMEDIATE来关闭数据库 ,然后执行下面命令。
STARTUP PFILE = C:\Users\Administrator\Desktop\软件12-Oracle\源代码\4.1.4节\initoradb.ora
应用场景24:启动数据库实例,但不装载数据库
STARTUP NOMOUNT ---->启动数据库实例可以执行中间数据库或数据文件等操作。
应用场景25:启动数据库实例,装载数据库
STARTUP MOUNT ----->并不打开数据库,可以执行数据库日志归档、数据库介质恢复、重定位数据文件和重做日志文件操作。
应用场景26:强制启动数据实例
如果当前的数据库实例无法正常关闭,而又要启动另外一个数据库实例,那么需要使用强制关闭数据库实例的选项。
以sys用户管理员身份登录。连接SQL Plus,
STARTUP FORCE ---》 首先强行关闭当前数据库实例,然后在启动新的数据库实例。
该命令相当于前面的SHUTDOWN ABORT命令,然后执行STARTUP 。
应用场景27:以限制模式启动数据库实例
在以下的情形中需要以限制模式启动数据库实例。
1、执行数据库动操作(此时不应该有其他的普通的用户访问数据库,以免导致数据不一致)2、使用 SQL*LOader提取数据库中的数据。3、需要再是拒绝普通用户访问数据库。4、进行数据库移植或升级操作。
使用
STARTUP RESTRICT
语句以限制模式启动数据库实例,此时只有拥有RESTRICT SESSION权限的用户才可以访问数据库。
应用场景28:在数据库启动时开始介质恢复
如果需要介质恢复,使用
STARTUP RECOBER
自动执行恢复程序。
应用场景29:使用ALTER DATABASE 命令改变启动模式
1.切换mount模式:用户使用
STARTUP NOMOUNT命令启动数据库实例,执行重建数据库和数据文件等任务。执行完成后,就可以装载数据库实例。执行以下命令
ALTER DATABASE MOUNT;
2.切换到OPEN模式,执行完上面的操作后,数据库实例仍处关闭状态,需要打开数据库实例,执行下面的命令
ALTER DATABASE OPEN;
为了防止用户事务修改数据库中的数据,可以只读方式打开数据库,
ALTER DATABASE OPEN READ ONLY; ---->有点问题
应用场景30:停顿数据库
停顿数据库时指将数据库转变为“停顿”状态。当数据库处于该状态时,只有dba用户(sys 和system) 可以执行事务,查询和pl/sql语句,而普通用户将不能执行这些操作。停顿数据库可以使用
alter system quiesce restricted
命令,
改变为正常状态可以使用
alter system unquiesce
命令。
查看此时的数据库实例的活动状态:
select active_state from v$instance
应用场景31:挂起(Suspending)数据库
为了禁止在数据文件和控制文件上执行i/o操作,可以使用
alter system suspend
命令暂停数据库;为了继续正常使用i/o操作,可以使用
alter system resume
命令。
查看此时的数据库实例的活动状态:
select active_state from v$instance