热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

对数据库管理、配置和维护的简单认识

1.创建数据库分享李老师做的纯手工创建数据库的视频(较早的):http:pan.baidu.comsharelink?shareid408

 1.创建数据库

分享李老师做的纯手工创建数据库的视频(较早的):http://pan.baidu.com/share/link?shareid=408632&uk=3912660076

感谢.

  1. 创建必要的相关目录
  2. 创建初始化参数文件
  3. 设置环境变量Oracle_sid
  4. 创建实例
  5. 创建口令文件
  6. 启动数据库到nomount(实例)状态
  7. 执行建库脚本
  8. 执行catalog脚本创建数据字典
  9. 执行catproc创建package包
  10. 执行pupbld
  11. 由初始化参数文件创建spfile文件
  12. 执行scott脚本创建scott方案
  13. 用命令测试数据库创建是否完成
  14. 配置EM,使得能够通过浏览器管理和控制数据库

Forexam:创建StuDB数据库-》

(1.打开命令行工具,创建必要的相关目录
C:\>mkdir C:\oracle\product\10.2.0\admin\StuDB
C:\>mkdir C:\oracle\product\10.2.0\admin\StuDB\adump
C:\>mkdir C:\oracle\product\10.2.0\admin\StuDB\bdump
C:\>mkdir C:\oracle\product\10.2.0\admin\StuDB\cdump
C:\>mkdir C:\oracle\product\10.2.0\admin\StuDB\dpdump
C:\>mkdir C:\oracle\product\10.2.0\admin\StuDB\udump
C:\>mkdir C:\oracle\product\10.2.0\admin\StuDB\pfile
C:\>mkdir C:\oracle\product\10.2.0\oradata\StuDB

C:\oracle\product\10.1.0\admin\StuDB目录下的几个子目录主要用于存放数据库运行过程中的跟踪信息。

                \bdump目录存放的是数据库运行过程中的各个后台进程的跟踪信息。

                \Udump目录存放和特定会话相关的跟踪信息

C:\oracle\product\10.2.0\oradata\StuDB\目录存放各种数据库文件,包括控制文件、数据文件、重做日志文件

   2、创建初始化参数文件:(可以通过拷贝现有的初始化参数文件并将其做适当的修改即可,从而不必要用手工去一句一句地写出来,因为初始化参数文件                                           的结构体系基本上都是一样的。 安装Oracle的时候,系统已经安装了一个名为orcl的数据库,

             于是可以从它那里得到一份初始化参数文件。)

            找到C:\oracle\product\10.2.0\admin\orcl\pfile\init.ora文件,拷贝一份,

            粘贴到C:\oracle\product\10.2.0\db_1\database目录下,将其改名为:initStuDB.ora。

            记事本打开将里面的orcl替换为‘StuDB'

   3、打开命令行,设置环境变量oracle_sid
          C:\>set oracle_sid=book

4、创建实例(即后台控制服务)

  C:\>oradim –new –sid  book

    oradim是创建实例的工具程序名称,

    -new表明执行新建实例,

    -delete表明执行删掉实例,

    -sid指定实例的名称。

  5、创建口令文件
    C:\>orapwd file=C:\oracle\product\10.2.0\db_1\database\PWDStuDB.ora password=o123 entries=2
        orapwd是创建口令文件的工具程序各称,

        file参数指定口令文件所在的目录和文件名称,

        password参数指定sys用户的口令,

        entries参数指定数据库拥用DBA权限的用户的个数。


请注意,这里的命令要一行输入,中间不得换行,否则会出现不必要的错误。
口令文件是专门存放sys用户的口令,因为sys用户要负责建库、启动数据库、关闭数据库等特殊任务,把以sys用户的口令单独存放在口令文件中,这样数据库未打开时也能进行口令验证

  6、启动数据库到nomount(实例)状态
      C:\>sqlplus /nolog
      SQL>connect sys/o123 as sysdba ---这里是用sys连接数据库
      SQL>startup nomount

7、执行建库脚本StuDB.sql

 Create database StuDB
controlfile reuse
datafile  'c:\oracle\product\10.2.0\oradata\StuDB\system01.dbf' size 300M reuse autoextend on next 10240K maxsize unlimited extent management local
sysaux datafile  'c:\oracle\product\10.2.0\oradata\StuDB\sysaux01.dbf'
size 120M reuse autoextend on next 10240K maxsize unlimited
default temporary tablespace temp
tempfile  'c:\oracle\product\10.2.0\oradata\StuDB\temp01.dbf' size 20M reuse autoextend on next 640K maxsize unlimited
undo tablespace "UNDOTBS1"
datafile  'c:\oracle\product\10.2.0\oradata\StuDB\undotbs01.dbf' size 200M reuse autoextend on next 5120K maxsize unlimited
logfile group 1  ('c:\oracle\product\10.2.0\oradata\StuDB\redo01.log')  size 10240K,
      group 2  ('c:\oracle\product\10.2.0\oradata\StuDB\redo02.log')  size 10240K,
      group 3  ('c:\oracle\product\10.2.0\oradata\StuDB\redo03.log')  size 10240K
character set zhs16gbk;

  8、执行catalog脚本创建数据字典

    SQL>@ C:\oracle\product\10.2.0\db_1\rdbms\admin\catalog.sql

  9、执行catproc创建package包

    SQL>@ C:\oracle\product\10.2.0\db_1\rdbms\admin\catproc.sql

  10、执行pupbld

    在执行pupbld之前要把当前用户(sys)转换成system,即以system账户连接数据库。因为此数据库是刚建的,所以system的口令是系统默认的口令,即manager。你可以在数据库建好以后再来重新设置此账户的口令。

     SQL>connect system/manager

     SQL>start C:\oracle\product\10.2.0\db_1\sqlplus\admin\pupbld.sql

    用以下语句将用户切换到SYS

      Connect sys/o123 as sysdba 

  11、由初始化参数文件创建spfile文件
    SQL>create spfile from pfile;
  12、执行scott脚本创建scott方案
    SQL>start C:\oracle\product\10.2.0\db_1\rdbms\admin\scott.sql
  13、用以下命令测试数据库创建是否完成:
    SQL>select * from scott.emp;
如果能够看到雇员信息正确显示,就说明数据库建立已完成。

执行以上步骤之后,并没有创建EM资料库,也就是OracleDBConsolebook服务尚未创建,无法通过EM进行数据库管理和控制

  14、配置EM,使得能够通过浏览器管理和控制数据库

    SQL> alter user dbsnmp identified by o123;

    C> CD C:\oracle\product\10.2.0\db_1\bin

    C> Set oracle_sid=book

    C> emca –repos recreate

    C> emca –config  dbcontrol db

    C> emctl status dbconsole

.....................................

强烈建议:一定要保存数据库的创建脚本信息。不时的查看有助于学习。(这里未给出相关内容)

呵呵,完成了。

2.启动数据库的步骤

  步骤一 创建并启动例程
       此时的例程还没有与一个确定的数据库相联系,或者说数据库是否存在对例程的启动并没有影响。如果初始化参数文件或参数设置有误,则无法启动例程。

      参数文件中初始化参数决定如何启动例程

   步骤二 装载数据库       

    装载数据库时,例程将打开数据库的控制文件,根据初始化参数control_files的设置找到控制文件,并从中获取数据库名称、数据文件的位置和名称等关于数据库物理结构的信息,为下一步打开数据库做好准备。在装载阶段,例程并不会打开数据库的物理文件、即数据文件和重做日志文件,所以数据库还是处于关闭状态。只有数据库管理员通过部分命令修改数据库,而用户无法与数据库建立连接或会话。

  步骤三 打开数据库       

    打开数据库时,例程将打开所有的联机状态的数据文件和重做日志文件。         

只有将数据库设置为打开状态,数据库才处于正常运行状态,此时用户才能与数据库建立连接或会话,以存取数据库中的信息。

3.Oracle数据库实例的状态

    已启动(NOMOUNT):只读取初始化参数文件、初始化SGA和启动后台进程,创建并启动实例,但不装载数据库。该模式用于重新创建控制文件,对控制文件进行恢复或从头重新创建数据库。因为此状态下没有打开数据库,所以不允许用户访问。该状态也称为“不装载”。

(数据库服务器操作:
 读取参数文件
 根据参数设置分配空间
 启动后台进程
 打开报警(或跟踪)文件,记录启动过程
 
用户操作:
 创建数据库,创建文件
 重建控制文件)

    已装载(MOUNT):读取初始化参数文件、初始化SGA和启动后台进程,创建并启动实例。并且根据初始化参数control_files的值,找到并打开控制文件,找出数据库的物理结构信息装载数据库,但不打开数据库。该模式用于更改数据库的归档模式或执行恢复操作,还用于数据文件恢复。因为此状态下没有打开数据库,所以不允许用户访问。

(数据库操作:  读取控制文件:得到数据库信息  将数据库和实例关联在一起

用户操作:  操作数据库的归档和非归档模式,改变归档模式  修改控制文件,重做数据文件的名称和路径  数据库的备份和恢复)

    打开(OPEN):读取初始化参数文件、初始化SGA和启动后台进程,创建并启动实例。并且根据初始化参数control_files的值,找到并打开控制文件,找出数据库的物理结构信息装载数据库,打开各种数据库文件,处于联机状态。该模式是默认的启动模式,它允许任何有效用户连接到数据库,并执行典型的数据访问操作。

(数据库操作:  读取文件的SCN号,判断数据一致性,是否打开或回滚。  检查数据文件状态

用户操作:  查看数据)

    关闭(CLOSE):将Oracle实例从允许用户访问数据库的状态转变为休止状态。关闭操作首先终止用户访问数据库所需的进程,然后释放计算机中供Oracle运行使用的那部分内存。

4.启动数据库命令

( 默认的启动数据库操作,直接使用STARTUP命令即可实现此功能。使用此种方式启动数据库后,用户可以连接到数据库并执行数据访问操作。
      除了启动数据库实例、装载并打开数据库外,STARTUP命令还将从默认位置读取初始化参数。)

5.关闭数据库实例

  只有以SYSDBA或SYSOPER身份登录到SQL*Plus之后,才能执行关闭数据库的操

6.关闭数据库的模式

7.关闭数据库实例

  在Em中关闭数据库实例(准备:要将本机开机用户管理员加进本地安全设置---》作为批处理作业登录)很重要

     不然会出现   RemoteOperationException: ERROR: Wrong password for user

8.在Enterprise Manager中关闭数据库

  用户需要拥有管理员的权限才能关闭数据库实例,包括主机操作系统的管理员和当前数据库实例的SYSDBA用户

    界面操作易于理解的......(*^__^*) 嘻嘻……

  相反的也可以启动的。

9.改变数据库的状态

装载数据库实例。   

可用以下语句将数据库由Nomount状态改变到mount状态

      alter database mount;   

将数据库由mount状态改变到open状态

      alter database open;   

以只读方式打开数据库。

      alter database open read only;

数据库状态可以由低级向高级转换,但不能跳级,也不可逆向

10.删除数据库(Database Configuration Assistant)

   命令: DROP DATABASE;(文件需要手动删除)

..........................

转:https://www.cnblogs.com/wjshan0808/archive/2013/04/12/3017046.html



推荐阅读
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了作者在开发过程中遇到的问题,即播放框架内容安全策略设置不起作用的错误。作者通过使用编译时依赖注入的方式解决了这个问题,并分享了解决方案。文章详细描述了问题的出现情况、错误输出内容以及解决方案的具体步骤。如果你也遇到了类似的问题,本文可能对你有一定的参考价值。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
author-avatar
NHHermit
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有