1.创建数据库
分享李老师做的纯手工创建数据库的视频(较早的):http://pan.baidu.com/share/link?shareid=408632&uk=3912660076
感谢.
- 创建必要的相关目录
- 创建初始化参数文件
- 设置环境变量Oracle_sid
- 创建实例
- 创建口令文件
- 启动数据库到nomount(实例)状态
- 执行建库脚本
- 执行catalog脚本创建数据字典
- 执行catproc创建package包
- 执行pupbld
- 由初始化参数文件创建spfile文件
- 执行scott脚本创建scott方案
- 用命令测试数据库创建是否完成
- 配置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;(文件需要手动删除)
..........................