创建oracle表的代码,创建Oracle数据库_oracle

创建oracle数据库

数据库名:mydb

1:复制一个已经存在的数据库目录D:/Oracle/product/10.1.0/Db_1/admin/sample

到D:/Oracle/product/10.1.0/admin目录下,改名为mydb,

将/mydb/pfile/initsmpl.ora删除,因为这个参数文件比较旧,从下面目录中复制

一个参数文件D:/Oracle/product/10.1.0/admin/orcl/pfile/init.ora

将改文件放到/mydb/pfile下,改名为initmydb.ora,并设置以下参数:

db_domain=zhiqiao.com.cn

db_name=mydb

instance_name=mydb

control_files=( "D:/oracle/product/10.1.0/oradata/mydb/control01.ctl",            "D:/oracle/product/10.1.0/oradata/mydb/control02.ctl",            "D:/oracle/product/10.1.0/oradata/orcl/control03.ctl")

background_dump_dest=D:/oracle/product/10.1.0/admin/mydb/bdump

core_dump_dest=D:/oracle/product/10.1.0/admin/mydb/cdump

user_dump_dest=D:/oracle/product/10.1.0/admin/mydb/udump

2:在D:/Oracle/product/10.1.0/Db_1/database中创建数据库启动时直接读取的参数文件

initmydb.ora内容为IFILE='D:/Oracle/product/10.1.0/admin/mydb/pfile'

3:使用orapwd命令创建数据库具有SYSDBA权限用户的口令字文件PWDmydb.ora,

该用户可以管理数据库的启动与关闭,其存储目录为:

D:/Oracle/product/10.1.0/Db_1/database

在系统命令行输入如下命令创建口令文件

C:/>orapwd file=D:/oracle/product/10.1.0/db_1/database/PWDmydb.ora

password=mydb entries=2

4:通过实例管理命令在服务表里创建一个实例管理服务,设置启动方式为手动

C:/>oradim -NEW -SID mydb -STARTMODE manual

-pfile "d:/oracle/product/10.1.0/admin/prod/pfile/initmydb.ora"

----》奇怪的是服务管理窗口中显示为启动,但关闭出错?

C:/>oradim -SHUTDOWN -SID mydb -USRPWD mydb

ORA-01012: not logged on

----》启动出错

C:/>oradim -STARTUP -SID mydb -USRPWD mydb

ORA-01078: failure in processing system parameters

LRM-00109: could not open parameter file

'D:/Oracle/product/10.1.0/admin/mydb/pfile'

-----》因为没创建spfile因此在此指定

C:/>oradim -STARTUP -SID mydb -USRPWD mydb

-PFILE "d:/oracle/product/10.1.0/admin/mydb/pfile/initmydb.ora"

ORA-00205: error in identifying controlfile, check alert log for more info

D:/Oracle/product/10.1.0/admin/mydb/bdump/alert_mydb.log中显示错误原因

大致意思是找不到控制文件,我想可能应该以nomount方式打开,但oradim没提供这个

选项,于是启动sqlplus。

C:/>sqlplus /nolog

SQL*Plus: Release 10.1.0.2.0 - Production on 星期三 4月 11 10:49:13 2007

http://www.gaodaima.com/31410.html创建Oracle数据库_oracle

Copyright (c) 1982, 2004, Oracle.       All rights reserved.

SQL> connect /as sysdba

ERROR:

ORA-12560: TNS:protocol adapter error

SQL> connect sys/mydb as sysdba

ERROR:

ORA-12560: TNS:protocol adapter error

SQL> exit

C:/>set oracle_sid=mydb

C:/>sqlplus /nolog

SQL*Plus: Release 10.1.0.2.0 - Production on 星期三 4月 11 10:50:21 2007

Copyright (c) 1982, 2004, Oracle.       All rights reserved.

SQL> conn sys/mydb as sysdba

Connected.

SQL> startup nomount

ORA-01078: failure in processing system parameters

LRM-00109: could not open parameter file 'D:/Oracle/product/10.1.0/admin/mydb/pfile'

SQL> startup nomount pfile="d:/oracle/product/10.1.0/admin/mydb/pfile/initmydb.ora"

ORA-01081: cannot start already-running ORACLE - shut it down first

SQL> shutdown

ORA-01507: database not mounted

ORACLE instance shut down.

SQL> startup nomount pfile="d:/oracle/product/10.1.0/admin/mydb/pfile/initmydb.ora"

ORACLE instance started.

Total System Global Area       171966464 bytes

Fixed Size                        787988 bytes

Variable Size                  145750508 bytes

Database Buffers                25165824 bytes

Redo Buffers                      262144 bytes

----》因为每次都要指定pfile不方便,可以创建一个

C:/>sqlplus /nolog

SQL*Plus: Release 10.1.0.2.0 - Production on 星期三 4月 11 11:02:57 2007

Copyright (c) 1982, 2004, Oracle.       All rights reserved.

SQL> conn sys/mydb as sysdba

Connected to an idle instance.

SQL> create spfile from pfile;

create spfile from pfile

*

ERROR at line 1:

ORA-01078: failure in processing system parameters

LRM-00113: error when processing file

'D:/Oracle/product/10.1.0/admin/mydb/pfile'

LRM-00109: could not open parameter file

'D:/Oracle/product/10.1.0/admin/mydb/pfile'

----》上面的错误原因是第二步造成的,其中IFILE="..../initmydb.ora"才行。

SQL> create spfile from pfile;

File created.

----》再启动,不用指定pfile了

SQL> startup nomount

ORACLE instance started.

......

SQL> shutdown immediate

ORA-01507: database not mounted

ORACLE instance shut down.

----》重新启动机器后,orcl数据库总是显示为已启动,mydb为未启动状态

这种情况下orcl其实是一个空闲进程,数据库nomount阶段,mydb则没启动进程,

所要连接到mydb会出现如下错误:

SQL> conn sys/mydb as sysdba

ERROR:

ORA-12560: TNS:protocol adapter error

可从服务管理器中启动OracleServicemydb则可以连接了。

----》下面两个操作有点奇怪,我创建的是实例,可使用inst启动不了,需要用srvc

C:/>oradim -startup -sid mydb -starttype inst -usrpwd mydb

ORA-12560: TNS:protocol adapter error

C:/>oradim -startup -sid mydb -starttype srvc -usrpwd mydb

5:创建数据库

SQL> CREATE DATABASE mydb

2        logfile

3        group 1

4        ('d:/oracle/product/10.1.0/oradata/mydb/redo11.log',

5         'd:/oracle/product/10.1.0/oradata/mydb/redo12.log') size 10m,

6        group 2

7        ('d:/oracle/product/10.1.0/oradata/mydb/redo21.log',

8         'd:/oracle/product/10.1.0/oradata/mydb/redo22.log') size 10m

9        datafile 'd:/oracle/product/10.1.0/oradata/mydb/system01.dbf' size 100m

10             autoextend on next 10m maxsize unlimited extent management local

11        sysaux datafile 'd:/oracle/product/10.1.0/oradata/mydb/sysaux01.dbf' size 50m

12        undo tablespace undotbs01 datafile 'd:/oracle/product/10.1.0/oradata/mydb/undotbs1.dbf' size 20m

13        default temporary tablespace temp

14        tempfile 'd:/oracle/product/10.1.0/oradata/mydb/temp01.dbf' size 10m

15        default tablespace users

16        datafile 'd:/oracle/product/10.1.0/oradata/mydb/users01.dbf' size 10m

17*       character set zhs16gbk

create database mydb

*

ERROR at line 1:

ORA-01092: ORACLE instance terminated. Disconnection forced

----》查看alert_mydb.log发现错误出现在创建undotbs1.dbf后,

Wed Apr 11 13:48:19 2007

CREATE UNDO TABLESPACE UNDOTBS01 DATAFILE       'd:/oracle/product/10.1.0/oradata/mydb/undotbs1.dbf' size 20m

ORA-30012 signalled during: CREATE UNDO TABLESPACE UNDOTBS01 DATAFILE       'd:/ora...

Wed Apr 11 13:48:21 2007

Errors in file d:/oracle/product/10.1.0/admin/mydb/udump/mydb_ora_828.trc:

ORA-00604: error occurred at recursive SQL level 1

ORA-30012: undo tablespace 'UNDOTBS1' does not exist or of wrong type

----》为什么说UNDOTBS1不存在?查看参数文件,发现这么两行

undo_management=AUTO

undo_tablespace=UNDOTBS1

----》于是删除刚创建没成功的一些文件,然后修改创建数据库语句重新来

SQL> conn sys/mydb as sysdba

Connected to an idle instance.

SQL> startup nomount

ORACLE instance started.

----》这次原本是创建成功了,但我为了记录错误原因,将创建好的数据库文件全部删除又来一次,

然后像下面这样修改,又处错了。

Total System Global Area       171966464 bytes

Fixed Size                        787988 bytes

Variable Size                  145750508 bytes

Database Buffers                25165824 bytes

Redo Buffers                      262144 bytes

SQL> l12

12*       undo tablespace undotbs01 datafile 'd:/oracle/product/10.1.0/oradata/mydb/undotbs1.dbf' size 20m

SQL> c /undotbs01/undotbs1/

12*       undo tablespace undotbs1 datafile 'd:/oracle/product/10.1.0/oradata/mydb/undotbs1.dbf' size 20m

SQL> run

......

create database mydb

*

ERROR at line 1:

ORA-01092: ORACLE instance terminated. Disconnection forced

----》还是这个错误,但错误原因不一样了

Wed Apr 11 13:55:39 2007

Errors in file d:/oracle/product/10.1.0/admin/mydb/udump/mydb_ora_1344.trc:

ORA-01501: CREATE DATABASE failed

ORA-01991: invalid password file 'D:/oracle/product/10.1.0/Db_1/DATABASE/PWDmydb.ORA'

----》显示口令文件不可用,估计与刚才的删除有关,重新创建口令文件吧

见第三步

----》执行创建数据库的语句创建成功。

----》数据库创建后,自动处于OPEN状态,所有V$...都可以查询,但其他则不可,如:

SQL> select * from dba_users;

select * from dba_users

*

ERROR at line 1:

ORA-00942: table or view does not exist

----》解决上面的问题的方法是加载常用的数据字典包

SQL>@d:/oracle/product/10.1.0/db_1/rdbms/admin/catalog.sql

----》使用system用户连接出现的问题

SQL> conn system/zhiqiao

ERROR:

ORA-01017: invalid username/password; logon denied

Warning: You are no longer connected to ORACLE.

SQL> conn sys/mydb as sysdba

Connected.

SQL> grant connect to system identified by mydb;

Grant succeeded.

SQL> conn system/mydb

ERROR:

ORA-06550: line 1, column 7:

PLS-00201: identifier 'DBMS_APPLICATION_INFO.SET_MODULE' must be declared

ORA-06550: line 1, column 7:

PL/SQL: Statement ignored

Error accessing package DBMS_APPLICATION_INFO

Connected.

----》出现错误,但连接上了,连接orcl,或者用向导创建时没有这个问题。

SQL> show user;

USER is "SYSTEM"

----》除了数据字典包外,通常还要加载以下包

1:PL/SQL程序包       catproc.sql

2:远程数据复制       catrep.sql

3:java程序包       initjvm.sql

4:系统环境文件,必须以system用户登陆       db_1/sqlplus/admin/pupbld.sql

加载PL/SQL程序包时出现很多错误,表或视图不存在,不知道为什么。

欢迎大家阅读《创建Oracle数据库_oracle》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

原创文章,转载请注明: 转载自搞代码

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值