Link to home
Start Free TrialLog in
Avatar of jayharper
jayharper

asked on

Creating a New Instance - Rollback Segment Problems

I am trying to create a new instance for a test database and am running into a problem with rollback segments. I guess I don't know enough about them yet! :)

I get an error when starting the instance:

SVRMGR> startup pfile=C:\oracle\ora81\database\initch01lot.ora
ORACLE instance started.
Total System Global Area                        335063068 bytes
Fixed Size                                          75804 bytes
Variable Size                                   171069440 bytes
Database Buffers                                163840000 bytes
Redo Buffers                                        77824 bytes
Database mounted.
ORA-01534: rollback segment 'RBS0' doesn't exist

The steps I am taking are:

1) use the ORADIM util to create the service (Win NT)

C:\>oradim -new -sid CH01LOT -intpwd oracle -startmode auto -pfile c:\oracle\ora
81\database\initch01lot.ora

2) Start SVRMGRL and run CREATE DATABASE script.

I got this script in part from a previous test install (that I didn't do) plus some added bits from the Oracle supplied BUILD_DB.sql script.

C:\>SET ORACLE_SID=CH01LOT
C:\>svrmgrl

Oracle Server Manager Release 3.1.7.0.0 - Production

Copyright (c) 1997, 1999, Oracle Corporation.  All Rights Reserved.

Oracle8i Enterprise Edition Release 8.1.7.1.1 - Production
With the Partitioning option
JServer Release 8.1.7.1.1 - Production

SVRMGR> connect internal
Password:
Connected.
SVRMGR>

The script that I run:

startup nomount pfile=C:\oracle\ora81\database\initch01lot.ora

CREATE DATABASE CH01LOT
LOGFILE 'D:\oracle\oradata\ch01lot\redo01.log' SIZE 10240K,
    'D:\oracle\oradata\ch01lot\redo02.log' SIZE 10240K,
    'D:\oracle\oradata\ch01lot\redo03.log' SIZE 10240K
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXLOGHISTORY 1
DATAFILE 'D:\oracle\oradata\ch01lot\system01.dbf' SIZE 10M AUTOEXTEND ON NEXT 10240K
MAXDATAFILES 254
MAXINSTANCES 1
CHARACTER SET WE8ISO8859P1
NATIONAL CHARACTER SET WE8ISO8859P1;

create rollback segment rb_temp storage (initial 100 k next 250 k);

create tablespace users
          datafile 'D:\oracle\oradata\ch01lot\users01.dbf'
      size 10M reuse autoextend on next 1M;
create tablespace rbs
          datafile 'D:\oracle\oradata\ch01lot\rbs01.dbf'
      size 10M reuse autoextend on next 1M;
create temporary tablespace temp
          tempfile 'D:\oracle\oradata\ch01lot\temp01.dbf'
      size 10M reuse autoextend on next 1M;
create tablespace ifsapp_data
         datafile 'D:\oracle\oradata\ch01lot\data.dbf'
      size 10M reuse autoextend on next 1M;
create tablespace ifsapp_index
          datafile 'D:\oracle\oradata\ch01lot\index.dbf'
      size 10M reuse autoextend on next 1M;

alter rollback segment rb_temp online;

alter user system temporary tablespace temp;

alter user system default tablespace users;

create public rollback segment rb0 storage(initial 50K next 250K)
  tablespace rbs;
create public rollback segment rb1 storage(initial 50K next 250K)
  tablespace rbs;
create public rollback segment rb2 storage(initial 50K next 250K)
  tablespace rbs;
create public rollback segment rb3 storage(initial 50K next 250K)
  tablespace rbs;
create public rollback segment rb4 storage(initial 50K next 250K)
  tablespace rbs;
create public rollback segment rb5 storage(initial 50K next 250K)
  tablespace rbs;
create public rollback segment rb6 storage(initial 50K next 250K)
  tablespace rbs;
create public rollback segment rb7 storage(initial 50K next 250K)
  tablespace rbs;
create public rollback segment rb8 storage(initial 50K next 250K)
  tablespace rbs;
create public rollback segment rb9 storage(initial 50K next 250K)
  tablespace rbs;

@c:\oracle\ora81\rdbms\admin\catalog.sql;
@c:\oracle\ora81\rdbms\admin\catproc.sql;
@c:\oracle\ora81\rdbms\admin\catexp.sql;


4) Here is the INITCH01LOT.ora file:

db_name = CH01LOT

db_domain = CHDOMAIN01

instance_name = CH01LOT

#service_names = CH01LOT.CHDOMAIN01

db_files = 1024

control_files = ("c:\oracle\oradata\CH01LOT\control01.ctl", "c:\oracle\oradata\CH01LOT\control02.ctl", "c:\oracle\oradata\CH01LOT\control03.ctl")

open_cursors = 300
max_enabled_roles = 50
db_file_multiblock_read_count = 8

db_block_buffers = 20000

shared_pool_size = 150000000

#large_pool_size = 614400
java_pool_size = 15000000

log_checkpoint_interval = 10000
log_checkpoint_timeout = 1800

processes = 150

parallel_max_servers = 5

log_buffer = 32768

#audit_trail = true  # if you want auditing
#timed_statistics = true  # if you want timed statistics
max_dump_file_size = 10240  # limit trace file size to 5M each

# Uncommenting the line below will cause automatic archiving if archiving has
# been enabled using ALTER DATABASE ARCHIVELOG.
# log_archive_start = true
# log_archive_dest_1 = "location=C:\oracle\oradata\AST\archive"
# log_archive_format = %%ORACLE_SID%%T%TS%S.ARC

# If using private rollback segments, place lines of the following
# form in each of your instance-specific init.ora files:
rollback_segments = ( RBS0, RBS1, RBS2, RBS3, RBS4, RBS5, RBS6, RBS7, RBS8, RBS9 )

# Global Naming -- enforce that a dblink has same name as the db it connects to
global_names = false

# Uncomment the following line if you wish to enable the Oracle Trace product
# to trace server activity.  This enables scheduling of server collections
# from the Oracle Enterprise Manager Console.
# Also, if the oracle_trace_collection_name parameter is non-null,
# every session will write to the named collection, as well as enabling you
# to schedule future collections from the console.
# oracle_trace_enable = true

oracle_trace_collection_name = ""

# define directories to store trace and alert files
background_dump_dest = D:\oracle\admin\CH01LOT\bdump

#Uncomment this parameter to enable resource management for your database.
#The SYSTEM_PLAN is provided by default with the database.
#Change the plan name if you have created your own resource plan.
# resource_manager_plan = system_plan
user_dump_dest = d:\oracle\admin\CH01LOT\udump

db_block_size = 8192

remote_login_passwordfile = exclusive

os_authent_prefix = ""

distributed_transactions = 10
compatible = 8.1.0.0.0
sort_area_size = 65536
sort_area_retained_size = 65536

job_queue_processes=2
job_queue_interval=10
open_cursors=600
utl_file_dir=*




ASKER CERTIFIED SOLUTION
Avatar of bmeuwis
bmeuwis

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of jayharper
jayharper

ASKER

Well spotted!  I missed that one.  I made the change and it starts ok now. Thanks!

One more question, what is the purpose of defining the rb_temp rollback segment AND the public rollback segments? How do they work together? As I mentioned, I used an oracle provided script as a template to create my script, and my knowledge of rollback segments is limited. I can't seem to find a good answer in the doc. Thanks again.