oracle后台包创建,windows平台从零开始手工创建oracle数据库

既然已经有个了一个空的实例,我不免产生了一个startup的冲动,just do it看看接下来会发生什么。

SQL> startup

ORA-01078: failure in processing system parameters

LRM-00109: N^7(4r?*2NJ}ND

恩,有乱码,不过看样子好像是需要一个初始化的参数文件,接下来我们就构建这样一个初始化文件。

C:\oracle\ora92\admin\sample\pfile目录下一个initsmpl.ora复制到'C:\ORACLE\ORA92\DATABASE\改名为initora9.ora,打开文件,有很多配置项不过都注释掉了,不要被这些选项吓到,全部清空,再次运行startup,系统给出如下信息

SQL> startup

ORACLE instance started.

Total System Global Area   97589952 bytes

Fixed Size                   453312 bytes

Variable Size              46137344 bytes

Database Buffers           50331648 bytes

Redo Buffers                 667648 bytes

ORA-01506: missing or illegal database name

错误是说缺少database name,shutdown实例再换一个启动方式

SQL> startup nomount

ORACLE instance started.

Total System Global Area   97589952 bytes

Fixed Size                   453312 bytes

Variable Size              46137344 bytes

Database Buffers           50331648 bytes

Redo Buffers                 667648 bytes

SQL>

这次没有错误提示了,为什么呢

startup命令系统将执行以下操作,启动实例,加载数据库,打开数据库

startup nomount意味着只启动实例,不加载数据库当前情况下系统还没有数据库,而且也没有在配置文件制定db_name报错就在所难免了。

SQL> select instance_name, status from v$instance;

INSTANCE_NAME    STATUS

---------------- ------------

ora9             STARTED

可以看到实例的当前状态是started,接下来我们开始创建数据库

三、创建数据库

非常简单的一个命令create database,运行看看有什么结果,可以想象到会产生什么错误

SQL> create database;

create database

*

ERROR at line 1:

ORA-01506: missing or illegal database name

没有数据库名字,原因在于initora9.ora文件里缺少一个关键的配置db_name='ora9db',注意数据库名称可以和实例名称不一致,如果配置了此项可以避免这个错误提示,不要紧,在这个命令下我们手工指定数据库名称,再来一次

SQL> create database ora9db;

Database created.

SQL>

创建成功了

SQL> select instance_name, status from v$instance;

INSTANCE_NAME    STATUS

---------------- ------------

ora9             OPEN

状态改变了

SQL> select name from v$datafile;

NAME

--------------------------------------------

C:\ORACLE\ORA92\DATABASE\DBS1ORA9.ORA

C:\ORACLE\ORA92\DATABASE\DBS1ORA9.ORA

这是数据库的数据文件

SQL> select name from v$tablespace;

NAME

------------------------------

SYSTEM

这是SYSTEM表空间

SQL> select name from v$controlfile;

NAME

-------------------------------------------

C:\ORACLE\ORA92\DATABASE\CTL1ORA9.ORA

这是控制文件

SQL> select member from v$logfile;

MEMBER

-------------------------------------------

C:\ORACLE\ORA92\DATABASE\LOG1ORA9.ORA

C:\ORACLE\ORA92\DATABASE\LOG2ORA9.ORA

这是日志文件

显然这一步ORACLE在幕后做了很多操作

---创建数据文件,控制文件,日志文件

---创建了SYSTEM表空间

---创建了数据字典

---设置数据库字符集SELECT name,value$ from sys.props$ where name like '%NLS%'可以看到

---装载并打开数据库

不过工作还没有完成,还要继续下一步的操作

四、运行脚本创建数据字典视图、同义词和PL/SQL包

SQL> @%oracle_home%\rdbms\admin\catalog.sql

执行完会有2个object的status是invalid

SQL> @%oracle_home%\rdbms\admin\catproc.sql

此一步不一定能够创建成功

五、创建其他表空间

六、总结一下步骤

上面所做的测试只是为了研究oracle数据库创建所要作的工作,生产环境下要创建数据库还要对各个步骤进行润色,总的说来需要如下几个步骤

确定实例名--&gt创建服务--&gt创建初始化数参数文件--&gt启动实例--&gt执行create database--&gt创建其他表空间--&gt运行脚本创建数据字典视图和程序包--&gt创建服务端参数文件

七、附录,初始化参数文件示例和创建数据库的完整脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值