Oracle XE手动建立数据库实例

参考资料为:

【Oracle XE系列之三】使用OMF方式手工创建Oracle XE数据库 - 王立夫 - 博客园
http://www.cnblogs.com/opfo/p/5056122.html

 

环境:win7_64

 

以管理员打开cmd

 

1.创建数据库实例,实例名为ORCL

oradim -new -sid ORCL

 

错误:dim-00014:无法打开 Windows NT 服务控制管理器。OS-Error:(OS 5) 拒绝访问。

处理办法:以管理身份运行.

 

 2.为了sys用户可以连入数据库执行操作,先创建数据库的密码文件,密码文件的名称必须为PWDsid.ora

orapwd password=oracle file=C:\oraclexe\app\oracle\product\11.2.0\server\database\PWDORCL.ora

 

自动生成PWDORCL.ora文件

 

3.创建下列目录,以存放数据文件和dump信息

#数据文件目录

C:\oraclexe\app\oracle\oradata\ORCL

#background dump目录

C:\oraclexe\app\oracle\oradata\ORCL\bdump

#core dump目录

C:\oraclexe\app\oracle\oradata\ORCL\cdump

#user dump目录

C:\oraclexe\app\oracle\oradata\ORCL\udump

4.修改listener.ora为下列信息,把此数据库注册在监听器中(可选)在C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN下

原有内容:

在最后一句的XE改成ORCL

5.为了可以访问数据库,修改tnsnames.ora为下列信息

在C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN下

原有内容:

改后:

即增加了下面的内容:

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL)
    )
  )

记得在哪里看过,第一行前面不能有空格,即"ORCL="这个前面不能有空格.(参考资料把XE的删除了,我没删)

6.建立pfile文件C:\oraclexe\app\oracle\product\11.2.0\server\database\initORCL.ora,文件的内容如下:(注意文件名)

background_dump_dest='C:\oraclexe\app\oracle\oradata\ORCL\bdump'
compatible='11.2.0.1.0'
control_files='C:\oraclexe\app\oracle\oradata\ORCL\control01.ctl',C:\oraclexe\app\oracle\oradata\ORCL\control02.ctl'
core_dump_dest='C:\oraclexe\app\oracle\oradata\ORCL\cdump'
db_block_size=8192
db_name='ORCL'
db_recovery_file_dest='C:\oraclexe\app\oracle\fast_recovery_area'
db_recovery_file_dest_size=2147483648
pga_aggregate_target=41943040
processes=150
remote_login_passwordfile='EXCLUSIVE'
sga_max_size=167772160
sga_target=125829120
undo_management='AUTO'
undo_tablespace='undotbs1'
user_dump_dest='C:\oraclexe\app\oracle\oradata\ORCL\udump'
db_create_file_dest='C:\oraclexe\app\oracle\oradata\ORCL'
db_create_online_log_dest_1='C:\oraclexe\app\oracle\oradata\ORCL'

 

7.连入数据库,并创建spfile文件

以管理员打开cmd

set ORACLE_SID=ORCL

sqlplus.exe / as sysdba

create spfile from pfile;

 

8.启动数据库到nomount

startup nomount

9.创建creata database文件C:\oraclexe\app\oracle\admin\PF\Create\createdb.sql脚本,具体内容如下:

create database ORCL
user sys identified by oracle
user system identified by oracle
default temporary tablespace temp
undo tablespace undotbs1
character set utf8
national character set al16utf16;

执行createdb.sql

@C:\oraclexe\app\oracle\admin\ORCL\Create\createdb.sql

10.执行catalog.sql,创建数据库的数据字典视图

spool C:\oraclexe\catalog.log

@C:\oraclexe\app\oracle\product\11.2.0\server\RDBMS\ADMIN\catalog.sql

spool off

执行第二句的时候出现了一长串的内容,好像是因为已经建立了报错,可能是之前就有了,不明确有没有问题:

11.执行catproc.sql,创建执行PL/SQL程序所需的所有包

spool C:\oraclexe\catproc.log

@C:\oraclexe\app\oracle\product\11.2.0\server\RDBMS\ADMIN\catproc.sql

spool off

 

 最后两步运行过程虽然有报错,但暂时无视,过后用看看有没有出现问题.(最后一步运行了好久)

 

到此数据库ORCL创建完毕,可以正常使用了。

需要注意的地方:
 (1)在11g中,如果system01.dbf这个文件用extent management local的话,必须创建一个temporary表空间。
 (2)11g必须创建sysaux01.dbf这个文件
 (3)如果以上步骤出现错误,而错误提示为乱码的话,可以退出SQLPLUS,然后设置环境变量set nls_lang=american_america.zhs16gbk(windows),然后再登录数据库。

 

总结:创建过程中出现了很多的问题和报错,出现报错后查看告警日志alert_pf,本例中路径是C:\oraclexe\app\oracle\oradata\ORCL\bdump,根据错误号可以google一下,能解决很多问题

 

 

以下不是必须的:

在服务里面看到出现OracleServiceORCL,但是是手动开启了,顺手改成自动开启了.

posted @ 2016-02-15 15:47  渚之汐酱  阅读(6135)  评论(0编辑  收藏  举报