在Windows手工建库Oracle10g

原文地址:http://blog.itpub.net/post/38575/527444

 

数据库版本:Oracle Database 10g Enterprise Edition Release 10.2.0.3.0
操作系统:win7
ORACLE_BASE=D:/ORACLE
ORACLE_HOME=D:/oracle/product/10.2.0/db10g
前提:Oracle 10g软件已经安装完毕

为了让斜杠符号“”在该博客中的正常显示,将其批量替换为“/”格式!

1、设置环境变量
C:/>set oracle_sid=kuqlan

2、在windows 通过oradim创建Oracle实例
C:/>oradim -new -sid kuqlan
实例已创建。

3、创建密码文件
C:/>orapwd file=D:/oracle/product/10.2.0/db10g/database/PWDbook.ora password=kuqlan entries=2

4、通过文本编辑器在D:/oracle/product/10.2.0/db10g/database目录下创建名为initkuqlan.ora的初始化参数文件,具体内容如下:
*.db_name='kuqlan'
*.control_files='D:/oracle/oradata/kuqlan/control01.ctl','D:/oracle/oradata/kuqlan/control02.ctl','D:/oracle/oradata/kuqlan/control03.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.compatible='10.2.0.3.0'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=149946368
*.processes=150
*.sga_target=450887680
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='D:/oracle/admin/kuqlan/udump'
*.audit_file_dest='D:/oracle/admin/kuqlan/adump'
*.background_dump_dest='D:/oracle/admin/kuqlan/bdump'
*.core_dump_dest='D:/oracle/admin/kuqlan/cdump


5、启动实例到nomount到状态,并形成spfile
C:/>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on 星期一 4月 23 22:25:43 2012

Copyright (c) 1982, 2006, Oracle. All Rights Reserved.

已连接到空闲例程。

SQL> startup nomount
ORACLE 例程已经启动。

Total System Global Area 452984832 bytes
Fixed Size 1291120 bytes
Variable Size 134220944 bytes
Database Buffers 310378496 bytes
Redo Buffers 7094272 bytes
SQL> create spfile from pfile;

文件已创建。
SQL> shutdown immediate;
ORA-01507: ??????


ORACLE 例程已经关闭。
SQL> startup nomount;
ORACLE 例程已经启动。

Total System Global Area 452984832 bytes
Fixed Size 1291120 bytes
Variable Size 134220944 bytes
Database Buffers 310378496 bytes
Redo Buffers 7094272 bytes
SQL>

6、同过文本编辑器创建创建数据库的脚本后将其保存为后缀为sql的文件,我的保存位置和命名为creatdb.sql 。该文件内容来源可以参考Administrator’s Guide这本文档中第二章 Creating an Oracle Database -> Creating the database -> Issue the CREATE DATABASE Statement,这里有完整的一条SQL语句,copy出来,然后按照实际需求编辑相应的地方。编辑后的内容如下所示:

CREATE DATABASE kuqlan
USER SYS IDENTIFIED BY kuqlan
USER SYSTEM IDENTIFIED BY kuqlan
LOGFILE GROUP 1 ('D:/oracle/oradata/kuqlan/redo01.log') SIZE 100M,
GROUP 2 ('D:/oracle/oradata/kuqlan/redo02.log') SIZE 100M,
GROUP 3 ('D:/oracle/oradata/kuqlan/redo03.log') SIZE 100M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
DATAFILE 'D:/oracle/oradata/kuqlan/system01.dbf' SIZE 325M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE 'D:/oracle/oradata/kuqlan/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE 'D:/oracle/oradata/kuqlan/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs1
DATAFILE 'D:/oracle/oradata/kuqlan/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED


7、执行建库脚本,必须以sys用户以sysdba方式登录并将数据库nomount方式打开:
C:/>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on 星期一 4月 23 22:25:43 2012

Copyright (c) 1982, 2006, Oracle. All Rights Reserved.

已连接到空闲例程。

SQL> startup nomount
ORACLE 例程已经启动。


SQL> start C:/creatdb.sql
数据库已创建。
SQL>

说明:
执行完该步骤后,数据库进入OPEN状态,查询语句如下:
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
kuqlan OPEN

在这一步骤出现了如下错误,原因为初始化参数文件的undo表空间名和建库脚本不一致(如上脚本中加粗部分),修改完初始化参数文件的undo_tablespace='UNDOTBS1'部分后重新执行成功。
SQL> start C:/creatdb.sql
CREATE DATABASE kuqlan
*
第 1 行出现错误:
ORA-01092: ORACLE 实例终止。强制断开连接

8、创建数据库默认用户表空间(CONNECT SYS/password AS SYSDBA):

CREATE TABLESPACE users LOGGING
DATAFILE 'D:/oracle/oradata/kuqlan/users01.dbf'
SIZE 25M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;

9、执行catalog脚本(创建数据字典)和catproc脚本(创建package包)

SQL>start D:/oracle/product/10.2.0/db10g/RDBMS/ADMIN/catalog.sql
SQL>start D:/oracle/product/10.2.0/db10g/RDBMS/ADMIN/catproc.sql


最终可以查看一些状态
select open_mode, name from v$database;
select current_scn, CHECKPOINT_CHANGE# from v$database;
select startup_time,instance_name,status from v$instance;


SQL> conn sys/kuqlan as sysdba
已连接。
SQL> alter system set LOCAL_LISTENER='(ADDRESS = (PROTOCOL = TCP)(HOST = abc-123123)(PORT = 1522))';


系统已更改。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28950170/viewspace-763124/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28950170/viewspace-763124/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值