手工建库比起使用DBCA建库来说,是比较麻烦的,但是如果我们学好了手工建库的话,就可以使我们更好地理解Oracle数据库的体系结构。手工建库须要经过几个步骤,每一个步骤都非常关键。它包括:
1、 创建必要的相关目录
2、 创建初始化参数文件
3、 设置环境变量Oracle_sid
4、 创建实例
5、 创建口令文件
6、 启动数据库到nomount(实例)状态
7、 执行建库脚本
8、 执行catalog脚步本创建数据字典
9、 执行catproc创建package包
10、 执行pupbld
11、 由初始化参数文件创建spfile文件
12、 执行scott脚本创建scott模式
通过手动创建oracle数据库,可以了解oracle数据库的结构和数据库运行机制,对理解oracle数据库有帮助
一、打开命令行工具,创建必要有相关目录
mkdir D:applenovoadmincwj
mkdir D:applenovoadmincwjadump
mkdir D:applenovoadmincwjdpdump
mkdir D:applenovoadmincwjpfile
mkdir D:applenovoflash_recovery_areacwj
mkdir D:applenovooradatacwj
上面创建目录的过程也可以在Windows的图形界面中去创建。其中D:applenovoadmincwj 目录下的几个子目录主要用于存放数据库运行过程中的跟踪信息。最重要的两上子目录是adump和dpdump目录,adump目录存放的是数据库动行过程中的各个后台进程的跟踪信息,当中alert文件是警告文件,其文件名称为alert_cwj.log,当数据库出现问题时,首先就可以去查看此文件以找出原因,手工创建过程中出现的各种问题往往也可以通过查看这个文件找到原因。Udump目录存放和特定会话相关的跟踪信息。D:applenovooradatacwj目录存放各种数据库文件,包括控制文件、数据文件、重做日志文件。
二、创建初始化参数文件
数据库系统启动时须要用初始化参数文件的设置分配内存、启动必要的后台进程的。因此,初始化参数文件创建的是否正确、参数设置是否正确关系着整个建库的“命运”。
创建初始化参数文件可以通过拷贝现在的初始化参数文件并将其做适当的修改即可,从而不必要用手工去一句一句地写出来,因为初始化参数文件的结构体系基本上都是一样的。在我们安装Oracle的时候,系统已经为我们安装了一个名为studyoracle的数据库,于是我们可以从它那里得到一份初始化参数文件。打开D:\app\lenovo\admin\studyoracle\pfile,找到init.ora.2182017155336文件,把它拷贝到D:\app\lenovo\admin\cwj\pfile下,并将其改名为initcwj.ora。接着用记事本的方式打开initcwj.ora,修改以下的内容:
##############################################################################
Copyright (c) 1991, 2001, 2002 by Oracle Corporation
NLS
nls_language="SIMPLIFIED CHINESE"
nls_territory="CHINA"
Shared Server
dispatchers="(PROTOCOL=TCP) (SERVICE=studyoracleXDB)"
Miscellaneous
compatible=11.2.0.0.0
db_unique_name=studyoracle
diagnostic_dest=D:applenovo
memory_target=3313500160
Security and Auditing
audit_file_dest=D:applenovoadmincwjadump
audit_trail=db
remote_login_passwordfile=EXCLUSIVE
Database Identification
db_domain=""
db_name=studyora
File Configuration
control_files=("D:applenovooradatacwjcontrol01.ctl", "D:applenovoflash_recovery_areacwjcontrol02.ctl")
db_recovery_file_dest=D:applenovoflash_recovery_area
db_recovery_file_dest_size=4102029312
Cursors and Library Cache
open_cursors=300
System Managed Undo and Rollback Segments
undo_tablespace=UNDOTBS1
Processes and Sessions
processes=150
Cache and I/O
db_block_size=8192
三、打开命令行,设置环境变量oracle_sid
C:Userslenovo>oradim -new -sid cwj
oradim是创建实例的工具程序名称,-new表明执行新建实例,-delete表明执行删掉实例,-sid指定害例的名称。
五、创建口令文件
C:Userslenovo>orapwd file=D:applenovoproduct11.2.0dbhome_1databasePWDcwj.ora password=manager entries=2
orapwd是创建口令文件的工肯程序各称,file参数指定口令文件所在的目录和文件名称,password参数指定sys用户的口令,entries参数指定数据库拥用DBA权限的用户的个数。
口令文件是专门存放sys用户的口令,因为sys用户要负责建库、启动数据库、关闭数据库等特殊任务,把以sys用户的口令单独存放于口令文件中,这样数据库末打开时也能进行口令验证
六、启动数据库到nomount(实例)状态
startup pfile='D:applenovoadmincwjpfileinitcwj.ora' nomount
C:Userslenovo>sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 12月 20 10:19:53 2018
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL> conn sys/manager as sysdba
SQL> startup pfile='D:applenovoadmincwjpfileinitcwj.ora' nomount
ORACLE 例程已经启动。
Total System Global Area 3307048960 bytes
Fixed Size 2180264 bytes
Variable Size 1811942232 bytes
Database Buffers 1476395008 bytes
Redo Buffers 16531456 bytes
SQL>
七、执行建库脚本
create database cwj
datafile
'D:\app\lenovo\oradata\cwj\system01.dbf' size 300m
Autoextend on next 10m maxsize unlimited
sysaux datafile
'D:\app\lenovo\oradata\cwj\sysaux01.dbf' size 300m
Autoextend on next 10m maxsize unlimited
undo tablespace UNDOTBS1 datafile
'D:\app\lenovo\oradata\cwj\undotbs01.dbf' size 50m
default temporary tablespace temp tempfile
'D:\app\lenovo\oradata\cwj\temp01.dbf' size 30m
logfile
group 1 ('D:applenovooradatacwjredo01.log') size 10240k,
group 2 ('D:applenovooradatacwjredo02.log') size 10240k,
group 3 ('D:applenovooradatacwjredo03.log') size 10240k
character set zhs16gbk;
SQL> create database cwj
2 datafile
3 'D:applenovooradatacwjsystem01.dbf' size 300m
4 Autoextend on next 10m maxsize unlimited
5 sysaux datafile
6 'D:applenovooradatacwjsysaux01.dbf' size 300m
7 Autoextend on next 10m maxsize unlimited
8 undo tablespace UNDOTBS1 datafile
9 'D:applenovooradatacwjundotbs01.dbf' size 50m
10 default temporary tablespace temp tempfile
11 'D:applenovooradatacwjtemp01.dbf' size 30m
12 logfile
13 group 1 ('D:applenovooradatacwjredo01.log') size 10240k,
14 group 2 ('D:applenovooradatacwjredo02.log') size 10240k,
15 group 3 ('D:applenovooradatacwjredo03.log') size 10240k
16 character set zhs16gbk;
数据库已创建。
八、执行catalog脚步本创建数据字典
start D:applenovoproduct11.2.0dbhome_1RDBMSADMINcatalog.sql
九、执行catproc创建package包
SQL>start D:applenovoproduct11.2.0dbhome_1RDBMSADMINcatproc.sql
十、执行pupbld
在执行pupbld之前要把当前用户(sys)转换成system,即以system账户连接数据库。因为此数据库是刚建的,所以system的口令是系统默认的口令,即manager。你可以在数据库建好以后再来重新设置此账户的口令。
SQL>connect system/manager
SQL>start D:applenovoproduct11.2.0dbhome_1sqlplusadminpupbld.sql
十一、 由初始化参数文件创建spfile文件
SQL>create spfile from pfile='D:applenovoadmincwjpfileinitcwj.ora';
十二、 执行scott脚本创建scott模式
SQL>start D:applenovoproduct11.2.0dbhome_1RDBMSADMINscott.sql
十三、 把数据库打开到正常状态
SQL>alter database open;
从 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断开
C:Userslenovo>set oracle_sid=sky
C:Userslenovo>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 12月 20 11:04:57 2018
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL> exit
从 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断开
C:Userslenovo>conn sys/manager as sysdba
'conn' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
C:Userslenovo>sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 12月 20 11:05:38 2018
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL> conn sys/manager as sysdba
已连接。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01531: 实例已打开数据库
SQL> exit
从 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断开
C:Userslenovo>lsnrctl status
LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 20-12月-2018 11:06:05
Copyright (c) 1991, 2010, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=lenovo-PC)(PORT=1521)))
LISTENER 的 STATUS
别名 LISTENER
版本 TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
启动日期 20-12月-2018 09:23:53
正常运行时间 0 天 1 小时 42 分 13 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 D:applenovoproduct11.2.0dbhome_1networkadminlistener.ora
监听程序日志文件 d:applenovodiagtnslsnrlenovo-PClisteneralertlog.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=lenovo-PC)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC1521ipc)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 2 个处理程序...
服务 "sky" 包含 1 个实例。
实例 "sky", 状态 READY, 包含此服务的 1 个处理程序...
服务 "studyoracle" 包含 1 个实例。
实例 "studyoracle", 状态 READY, 包含此服务的 1 个处理程序...
服务 "studyoracleXDB" 包含 2 个实例。
实例 "sky", 状态 READY, 包含此服务的 1 个处理程序...
实例 "studyoracle", 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功
C:Userslenovo>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 12月 20 11:07:29 2018
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select * from scott.emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ----------
DEPTNO
7369 SMITH CLERK 7902 17-12月-80 800
20
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300
30
7521 WARD SALESMAN 7698 22-2月 -81 1250 500
30
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ----------
DEPTNO
7566 JONES MANAGER 7839 02-4月 -81 2975
20
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400
30
7698 BLAKE MANAGER 7839 01-5月 -81 2850
30
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ----------
DEPTNO
7782 CLARK MANAGER 7839 09-6月 -81 2450
10
7839 KING PRESIDENT 17-11月-81 5000
10
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0
30
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- -------------- ---------- ----------
DEPTNO
7900 JAMES CLERK 7698 03-12月-81 950
30
7902 FORD ANALYST 7566 03-12月-81 3000
20
7934 MILLER CLERK 7782 23-1月 -82 1300
10
已选择12行。
SQL> exit
从 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断开
C:Userslenovo>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 12月 20 11:07:51 2018
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show parameter instance_name;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_name string sky
SQL> alter user scott identified by tiger;
用户已更改。
SQL> alter user sys identified by sys;
用户已更改。
SQL>