手动创建Oracle实例,Oracle数据库实例启动不了怎么办
分类:web前端

1.创建目录

手动创建Oracle实例的方法:

文件主要分为:参数文件,跟踪文件,警告文件,数据文件,临时文件,控制文件,重做日志文件,密码文件,修改跟踪文件,闪回日志文件,转储文件,数据泵文件(data pump),平面文件

   OMF全称是Oracle Managed Files,即Oracle文件管理。简单的说,OMF能够自动的创建文件和删除文件,能够遵循一个规则自动的为文件命名,从而减少DBA的管理任务。

a. 在admin目录下,创建一个文件夹,文件夹名字为将创建数据库的SID。在此文件夹中创建cdump,bdump,udump等目录;

安装Oracle10g,我的安装在D:Oracle10.2,

主要说参数文件与警告文件

OMF支持下列文件的自动管理:

b. 在oradata目录下,创建数据文件,联机日志,归档日志文件夹,日志至少两个文件夹。

安装完成后,

参数文件有很多比如:listenter.ora,tnslistener.ora等

1 Tablespaces
2 Redo log files
3 Control files
4 Archived logs
5 Block change tracking files
6 Flashback logs
7 RMAN backups

2.创建pfile,默认NT路径为Oracle_HOME下的database。我采用的是Oracle的OMF治理文件。此时pfile中不应包含控制文件参数,如 *.db_name=vsign *.db_domain=griffin-domain.net *.compatible=9.2.0.0.0#*.control_files=

1.       创建数据库实例配置文件夹

主要说一下服务器参数文件spfile

建议不要在裸设备上使用OMF,因为没有操作系统负责管理裸设备存储空间的分配。

*.db_create_file_dest= *.db_create_online_log_dest_1= *.db_create_online_log_dest_2= *.background_dump_dest= *.core_dump_dest= *.user_dump_dest= *.undo_management=AUTO

我的建在d:oradataDB1目录下  //DB1为数据库实例名称

它在OS的存放路径为%ORACLE_HOME%/database/spfile%ORACLE_SID%.ora

 

3.创建服务,此步骤只在NT平台下面需要。

       在该目录下创建acr,bdump,cdump,pfile,udump等文件夹

                    $ORACLE_HOME/dbs/ spfile%ORACLE_SID%.ora

OMF的使用

oradim -NEW -SIDsid -SRVC service [-INTPWD passWord] [-MAXUSERS number] [-STARTMODE am] [-PFILE file] [-TIMEOUT secs]

Arc:存放的是自动归档日志文件

我们可以在里面去修改数据库的一些参数

使用OMF前提条件:必须设置3个相关参数。分别如下:

4.Set oracle_sid=sid或eXPort oracle_sid=sid

bdump :存放的是数据库动行过程中的各个后台迚程的跟踪信息,后台迚程trace 和alert log ,

也可以在sysdba权限下使用命令:set system parameter=value <deferred>//修改系统后会不会对以后的会话生效 <sope=memoy|both|spfile> <sid=’sid|*’>

1.1数据文件OMF管理参数:db_create_file_dest

5.Linux :创建密码文件orapwd file=fname password=password entries=users

就是说 alert_sid.log也存在这个目录中

spfile与pfile的关系,它们可以相互创建

  此参数是用来定义一个缺省的目录。当创建数据文件,临时表空间文件时,如果没有明确指明文件路径和名称,新的文件就会被创建在这个目录下。如果定义了这个参数,而没有定义DB_CREATE_ONLINE_LOG_DEST_n参数,则联机日志和控制文件也会被创建在这个目录下。

6.用sys以sysdba身份登陆sqlplus并且启动instance到nomount状态

cdump :主要是oracle的内核转储记录存放位置

create spfile from pfile

  支持文件:Datafiles   Tempfiles    Redo log files     Control files    Block change tracking files

7.创建数据库create database sid (OMF)

pfile :初始化参数文件 initSID

create pfile=fileName.ora from spfile

 1 --查看参数db_create_file_dest
 2 SQL> show parameter db_create_file_
 3 
 4 NAME                                 TYPE        VALUE
 5 ------------------------------------ ----------- ------------------------------
 6 db_create_file_dest                  string      +DATA01
 7 SQL> 
 8 
 9 --此参数已被我定义。文件,临时文件等会被自动创建到DATA01磁盘组。
10 --设置参数db_create_file_dest:alter system set db_create_file_dest='+DATA01' scope=spfile;
11 
12 --创建表空间sun_tb
13 SQL> create tablespace sun_tb;  --没有指定参数db_create_file_dest时,语句会报错。
14 
15 Tablespace created.
16 
17 --查看表空间对应的文件
18 SQL> select tablespace_name,file_name,bytes/1024/1024
19   2  from dba_data_files
20   3  where tablespace_name='SUN_TB'; 
21 
22 TABLESPACE_NAME FILE_NAME                                     BYTES/1024/1024
23 --------------- --------------------------------------------- ---------------
24 SUN_TB          +DATA01/sun/datafile/sun_tb.273.814042949                 100  --创建表空间时,数据文件被自动创建,大小默认为100m。文件大小可以自行指定
25 
26 --删除表空间
27 SQL> drop tablespace SUN_TB; --在使用OMF情况下,删除表空间时其包含的数据文件会一并被除(物理删除,相当:rm -f)
28 
29 --alter_xxx.log 日志
30 ......
31 drop tablespace SUN_TB
32 Mon Apr 29 19:14:59 2013
33 Deleted Oracle managed file +DATA01/sun/datafile/sun_tb.273.814042949
34 Completed: drop tablespace SUN_TB
35 
36 --查看+DATA01/sun/datafile/sun_tb.273.814042949文件是否被删除
37 -bash-3.00$ export ORACLE_SID=+ASM
38 -bash-3.00$ asmcmd
39 ASMCMD> ls -l DATA01/sun/datafile/     --文件已经被物理删除
40 Type      Redund  Striped  Time             Sys  Name
41 DATAFILE  MIRROR  COARSE   APR 29 18:00:00  Y    EXAMPLE.263.812809507
42 DATAFILE  MIRROR  COARSE   APR 29 18:00:00  Y    SUN01.260.812809551
43 DATAFILE  MIRROR  COARSE   APR 29 18:00:00  Y    SUN02.258.812809553
44 DATAFILE  MIRROR  COARSE   APR 29 18:00:00  Y    SUN03.257.812809557
45 DATAFILE  MIRROR  COARSE   APR 29 18:00:00  Y    SYSAUX.264.812809463
46 DATAFILE  MIRROR  COARSE   APR 29 18:00:00  Y    SYSTEM.265.812809377
47 DATAFILE  MIRROR  COARSE   APR 29 18:00:00  Y    UNDOTBS1.261.812809543
48 DATAFILE  MIRROR  COARSE   APR 29 18:00:00  Y    USERS.256.812809561
49 DATAFILE  MIRROR  COARSE   APR 29 18:00:00  Y    USERS.259.812809559
50 DATAFILE  MIRROR  COARSE   APR 29 18:00:00  Y    USERS.262.812809557
51 ASMCMD>

8.停止数据库shutdown immediate

udump:存放和特定会话相关的跟踪信息,前台手动trace的 比如sql trace之后session的trace文件

spfile为二进制的文件,它由pfile生成。pfile是文本文件,它存放在$ORACLE_BASE/admin/$ORACLE_SID/pfile/文件夹下(前提是你创建数据库时没有更改数据库存放路径)。

总结:使用OMF管理文件的方法

9.修改pfile中的控制文件参数control_files

 

安全起见最好吧spfile文件备份。

1.使用ALTER SYSTEM SET db_create_file_dest = '<path>'设置路径
2.查看刚刚的设置SHOW PARAMETER db_create_file_dest;
3.创建表空间及数据文件CREATE TABLESPACE tablespace_name;   
4.单独创建表空间CREATE TABLESPACE <> DATAFILE '<path>' SIZE <>;
5.也可以创建undo和temporary tablespace 。CREATE UNDO TABLESPACE tablespace_name ;CREATE TEMPORARY TABLESPACE tablespace_name;
6.删除表空间DROP TABLESPACE tablespace_name ;OMF情况下则删除物理文件,等效于未使用OMF创建,使用INCLUDING CONTENTS AND DATAFILES 删除方式

10.将数据库启动,可以创建spfile

在目录:D:Oracle10.2database下加入initDB1.ora参数初始化文件

当spfile被破坏以后,pfile也丢失的情况下。可以通过警告文件把pfile的内容找回来,以此来生成spfile。警告日志文件存放于pfile文件相同根目录下的dbump文件夹下名为alert_$ORACLE_SID.log。在其中找到:以下红色字体之间的内容,用以建立pfile文件,最后用create spfile命令生成spfile

 

11.创建数据字典和视图

此文件的示例文件可以在目录:D:Oracle10.2adminsamplepfile找到:名为initsmpl.ora

Starting up ORACLE RDBMS Version: 10.2.0.1.0.

1.2日志文件的OMF管参数:db_create_online_log_dest_n

$ORACLE_HOMEdbmsadmincatalog.sql$ORACLE_HOMEdbmsadmincatproc.sql

删除其注释,修改其arc,bdump,cdump,udump文件路径为d:oradataDB1

System parameters with non-default values:

  这是一组参数,共有5个,也就是最多可以定义5个缺省目录。如果创建联机日志,控制文件时没有明确定义文件路径和名称,则文件就会在这些目录下创建;如果定义了多个目录,则自动实现了复用(Multiplexed)的功能。如果没有设置这些参数,而是设置了db_create_file_dest,则联机日志,控制文件就会被创建在参数db_create_file_dest指定的目录下

12.假如初次安装,或没有其它数据库的情况下可能在服务里看不到监听程序,但只要运行bin目录下的lsnrctl.exe即可发现监听程序的服务进程,当然还要配置(Net Manager)

 

  processes                = 150

  支持文件:Redo log files    Control files

initDB1.ora内容如下

  sga_target               = 612368384

 1 --查看日志文件的参数
 2 SQL> show parameter db_create_online
 3 
 4 NAME                                 TYPE        VALUE
 5 ------------------------------------ ----------- -----------
 6 db_create_online_log_dest_1          string      +DATA01    --联机日志,控制文件被指定在DATA01磁盘组下,没有使用复用
 7 db_create_online_log_dest_2          string
 8 db_create_online_log_dest_3          string
 9 db_create_online_log_dest_4          string
10 db_create_online_log_dest_5          string
11 
12 --实现复用
13 SQL> alter system set db_create_online_log_dest_2='+DATA02' scope=both; --增加一个联机日志,控制文件存储位置,实现复用
14 
15 System altered.
16 
17 SQL> show parameter db_create_online
18 
19 NAME                                 TYPE        VALUE
20 ------------------------------------ ----------- ------------------------------
21 db_create_online_log_dest_1          string      +DATA01
22 db_create_online_log_dest_2          string      +DATA02
23 db_create_online_log_dest_3          string
24 db_create_online_log_dest_4          string
25 db_create_online_log_dest_5          string
26 SQL> 
27 
28 --查看当前联机日志目录
29 SQL> select group#,member from v$logfile;  --3组,每组一个日志文件
30 
31     GROUP# MEMBER
32 ---------- ---------------------------------------------
33          1 +DATA01/sun/onlinelog/group_1.268.812811035
34          2 +DATA01/sun/onlinelog/group_2.269.812811077
35          3 +DATA01/sun/onlinelog/group_3.270.812811139
36 
37 --增加一组联机日志
38 SQL> ALTER DATABASE ADD logfile;--现在一组是两个日志文件
39 
40 Database altered.
41 
42 SQL> select group#,member from v$logfile;
43 
44     GROUP# MEMBER
45 ---------- ---------------------------------------------
46          4 +DATA01/sun/onlinelog/group_4.273.814050091  
47          4 +DATA02/sun/onlinelog/group_4.257.814050107
48          1 +DATA01/sun/onlinelog/group_1.268.812811035
49          2 +DATA01/sun/onlinelog/group_2.269.812811077
50          3 +DATA01/sun/onlinelog/group_3.270.812811139
51 
52 --删除日志组文件
53 SQL> alter database drop logfile group 4; --DATA01 DATA02中的日志文件都会被物理删除
54 
55 Database altered.
56 
57 --alert_XXX.log日志
58 .............
59 alter database drop logfile group 4
60 Mon Apr 29 21:07:43 2013
61 Deleted Oracle managed file +DATA01/sun/onlinelog/group_4.273.814050091
62 Deleted Oracle managed file +DATA02/sun/onlinelog/group_4.257.814050107

background_dump_dest='D:oradataDB1bdump'

  control_files            = C:ORACLEPRODUCT10.2.0ORADATAUCITCONTROL01.CTL, C:ORACLEPRODUCT10.2.0ORADATAUCITCONTROL02.CTL, C:ORACLEPRODUCT10.2.0ORADATAUCITCONTROL03.CTL

总结:日志文件的OMF管理

compatible='10.1.0.2.0'

  db_block_size            = 8192

1.当定义了db_recovery_file_dest 和db_create_file_dest路径,且没有定义db_create_online_log_dest_n的时候,则OMF将日志文件存放在db_recovery_file_dest和db_create_file_dest路径下,而且日志组下为个成员
2.当定义了db_create_online_log_dest_1则将日志文件存放到db_create_online_log_dest_1和db_create_file_dest路径下,且日志组下为个成员
3.当定义了db_create_online_log_dest_1和db_create_online_log_dest_2则存放到db_create_online_log_dest_1和db_create_online_log_dest_2下
3.当定义了多个db_create_online_log_dest_n,则为每个组n个日志成员,且多路复用
4.增加日志文件的方法;
  alter database add logfile;
  alter database add logfile [group n];
  alter database add logfile member '<dir>' to group [n]
  /*add logfile member这个方法仅使用未使用OMF的日志文件,对于已经运用了OMF的日志组,无法使用该功能添加日志文件*/
5.删除日志文件组时,对于OMF的日志文件组,其对应的物理文件同时被删除
  alter database drop logfile group [n]

control_files=('D:oradataDB1con1.ctl','D:oradataDB1con2.ctl')

  compatible               = 10.2.0.1.0

 

core_dump_dest='D:oradataDB1cdump'

  db_file_multiblock_read_count= 16

1.2.1使用OMF管理控制文件

db_name='DB1'

  db_recovery_file_dest    = C:oracleproduct10.2.0/flash_recovery_area

  使用OMF管理控制文件同管理日志文件类似,其默认参数也是:db_create_online_log_dest_n,也可以实现复用。

remote_login_passwordfile='EXCLUSIVE'

  db_recovery_file_dest_size= 2147483648

  但前提条件:去掉control_files参数 alter system reset control_files scope = spfile sid = '*';

sessions=20

  undo_management          = AUTO

 1 --查看control_files
 2 SQL> show parameter control    
 3 
 4 NAME                                 TYPE        VALUE
 5 ------------------------------------ ----------- ------------------------------
 6 control_file_record_keep_time        integer     7
 7 control_files                        string      +DATA01/sun/controlfile/contro
 8                                                  l01, +DATA02/sun/controlfile/c
 9                                                  ontrol02
10 --人为手动对控制文件操作的相对比较少,建议不要使用OMF管理

shared_pool_size=80M

  undo_tablespace          = UNDOTBS1

1.3 恢复文件OMF管理参数:DB_RECOVERY_FILE_DEST

undo_management='AUTO'

  remote_login_passwordfile= EXCLUSIVE

  在使用RMAN进行备份时,如果没有明确指明备份集的格式,则备份文件保存在这个目录下;归档日志文件也是使用这个目录。同参数db_create_file_dest
相同,在没有定义db_create_online_log_dest_n时,则联机日志和控制文件也会在这个目录下创建。

undo_tablespace='undotbs'

 

提示:在定义三个参数时,其目录最好区分开,避免混乱

user_dump_dest='D:oradataDB1udump'

db_domain               

  dispatchers              = (PROTOCOL=TCP) (SERVICE=UCITXDB)

  job_queue_processes      = 10

  audit_file_dest          = C:ORACLEPRODUCT10.2.0ADMINUCITADUMP

  background_dump_dest     = C:ORACLEPRODUCT10.2.0ADMINUCITBDUMP

  user_dump_dest           = C:ORACLEPRODUCT10.2.0ADMINUCITUDUMP

  core_dump_dest           = C:ORACLEPRODUCT10.2.0ADMINUCITCDUMP

  db_name                  = UCIT

  open_cursors             = 300

  pga_aggregate_target     = 203423744

PSP0 started with pid=3, OS id=1440

--alter_xxx.log

#log_archive_dest_1='location=D:oradatadb1arc'

WARNING: db_create_online_log_dest_2 is same as db_recovery_file_dest

#log_archive_format='%s_%t_%r.arc'

 

 

进入cmd命令行:

执行创建数据库实例的命令:

oradim -new -sid DB1 -intpwd ora123  //DB1为数据库实例名称  ora123设置sys 密码

执行完该命令后:D:Oracle10.2database目录下增加PWDZYH.ORA口令文件,

 

设置环境变量

set ORACLE _SID=DB1

echo %ORACLE_SID%

 

sqlplus /nolog    //启动sqlplus工具

本文由10bet手机官网发布于web前端,转载请注明出处:手动创建Oracle实例,Oracle数据库实例启动不了怎么办

上一篇:及创建数据库,arcgis开发笔记 下一篇:没有了
猜你喜欢
热门排行
精彩图文