0

0

Oracle数据库startup和shutdown方式

php中文网

php中文网

发布时间:2016-06-07 16:59:31

|

1346人浏览过

|

来源于php中文网

原创

整理了下关于quot;Oracle数据库提供了几种不同数据库启动和关闭方式quot;,然后,自己就回去就写了个示例. 其中,就出现了1个问

整理了下关于"Oracle数据库提供了几种不同数据库启动和关闭方式",然后,自己就回去就写了个示例.

   其中,就出现了1个问题:

   ORA-12528: TNS:listener: all appropriate instances are blocking new connections

   于是到网上就大量的查阅资料,哈哈,好不错,解决方法找到了.其中红色的就是主要解决方法.下面就把我整理的东西给共享下.

   一:注意事项

要启动和关闭数据库,必须要以具有Oracle 管理员权限用户登陆,通常也就是以具有SYSDBA权限用户登陆。一般我们常用INTERNAL用户来启动和关闭数据库(INTERNAL用户实际上是SYS用户以SYSDBA连接同义词)。Oracle数据库新版本将逐步淘汰INTERNAL这个内部用户,所以我们最还是设置DBA用户具有SYSDBA权限。

二:启动一个数据库需要三个步骤
  1、 创建一个Oracle实例(非安装阶段)
  2、 由实例安装数据库(安装阶段)
3、 打开数据库(打开阶段)

三:Startup(启动数据库命令)

1、 STARTUP NOMOUNT
NONOUNT选项仅仅创建一个Oracle实例。读取init.ora初始化参数文件、启动后台进程、初始化系统全局区(SGA)。Init.ora文件定义了实例配置,包括内存结构大小和启动后台进程数量和类型等。实例名根据Oracle_SID设置,不一定要与打开数据库名称相同。当实例打开后,系统将显示一个SGA内存结构和大小列表,如下所示:
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area 35431692 bytes
Fixed Size 70924 bytes
Variable Size 18505728 bytes
Database Buffers 16777216 bytesu
Redo Buffers 77824 bytes

2、STARTUP MOUNT
该命令创建实例并且安装数据库,但没有打开数据库。Oracle系统读取控制文件中关于数据文件和重作日志文件内容,但并不打开该文件。这种打开方式常在数据库维护操作中使用,如对数据文件更名、改变重作日志以及打开归档方式等。在这种打开方式下,除了可以看到SGA系统列表以外,系统还会给出"数据库装载完毕"提示。

  3、STARTUP
  该命令完成创建实例、安装实例和打开数据库所有三个步骤。此时数据库使数据文件和重作日志文件在线,通常还会请求一个或者是多个回滚段。这时系统除了可以看到前面Startup Mount方式下所有提示外,还会给出一个"数据库已经打开"提示。此时,数据库系统处于正常工作状态,可以接受用户请求。

如果采用STARTUP NOMOUNT或者是STARTUP MOUNT数据库打开命令方式,必须采用ALTER DATABASE命令来执行打开数据库操作。例如,如果你以STARTUP NOMOUNT方式打开数据库,也就是说实例已经创建,但是数据库没有安装和打开。这是必须运行下面两条命令,数据库才能正确启动。
ALTER DATABASE MOUNT;
ALTER DATABASE OPEN

4、其他打开方式
  除了前面介绍三种数据库打开方式选项外,还有另外其他一些选项。
  (1) STARTUP RESTRICT
  这种方式下,数据库将被成功打开,但仅仅允许一些特权用户(具有DBA角色用户)才可以使用数据库。这种方式常用来对数据库进行维护,如数据导入/导出操作时不希望有其他用户连接到数据库操作数据。
  (2) STARTUP FORCE
  该命令其实是强行关闭数据库(shutdown abort)和启动数据库(startup)两条命令一个综合。该命令仅在关闭数据库遇到问题不能关闭数据库时采用。
  (3) ALTER DATABASE OPEN READ ONLY;
  该命令在创建实例以及安装数据库后,以只读方式打开数据库。对于那些仅仅提供查询功能产品数据库可以采用这种方式打开。
四:数据库关闭(SHUTDOWN)
1、SHUTDOWN NORMAL
  这是数据库关闭SHUTDOWN命令确省选项。也就是说如果你发出SHUTDOWN这样命令,也即是SHUTDOWN NORNAL意思。
  发出该命令后,任何新连接都将再不允许连接到数据库。在数据库关闭之前,Oracle将等待目前连接所有用户都从数据库中退出后才开始关闭数据库。采用这种方式关闭数据库,在下一次启动时不需要进行任何实例恢复。但需要注意一点是,采用这种方式,也许关闭一个数据库需要几天时间,也许更长。
  2、SHUTDOWN IMMEDIATE
  这是我们常用一种关闭数据库方式,想很快地关闭数据库,但又想让数据库干净关闭,常采用这种方式。
  当前正在被Oracle处理SQL语句立即中断,系统中任何没有提交事务全部回滚。如果系统中存在一个很长未提交事务,采用这种方式关闭数据库也需要一段时间(该事务回滚时间)。系统不等待连接到数据库所有用户退出系统,强行回滚当前所有活动事务,然后断开所有连接用户。
  3、SHUTDOWN TRANSACTIONAL
  该选项仅在Oracle 8i后才可以使用。该命令常用来计划关闭数据库,它使当前连接到系统且正在活动事务执行完毕,运行该命令后,任何新连接和事务都是不允许。在所有活动事务完成后,数据库将和SHUTDOWN IMMEDIATE同样方式关闭数据库。
  4、SHUTDOWN ABORT
  这是关闭数据库最后一招,也是在没有任何办法关闭数据库情况下才不得不采用方式,,一般不要采用。如果下列情况出现时可以考虑采用这种方式关闭数据库。


下面是问题解决:
ORA-12528: TNS:listener: all appropriate instances are blocking new connections
1:修改listener.ora的参数
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = C:\oracle\product\10.1.0\db_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = ammicly)
      (ORACLE_HOME = c:\oracle\product\10.1.0\db_1)
      (SID_NAME = ammicly)
    )
  )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = lypch )(PORT = 1521))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
      )
    )
  )

2:修改tnsnames.ora的参数

AMMICLY =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = lypch )(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ammicly)
     (UR=A)
    )
  )
EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )
启动数据库
SQL> conn /as sysdba
SQL> alter database mount;
SQL> alter database open;

关闭数据库
SQL> shutdown immediate;

linux

相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 0.6万人学习

Node.js 教程
Node.js 教程

共57课时 | 7.2万人学习

CSS3 教程
CSS3 教程

共18课时 | 3.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号