?
Solved

Creating a New Instance - Rollback Segment Problems

Posted on 2003-02-20
2
Medium Priority
?
818 Views
Last Modified: 2012-08-14
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=*




0
Comment
Question by:jayharper
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 

Accepted Solution

by:
bmeuwis earned 400 total points
ID: 7986593
Apparently, your database creation scripts create rollback segments named rb0 ... rb9, while your init-file ( INITCH01LOT.ora ) refers to RBS0 ... RBS9. Change the line :
rollback_segments = ( RBS0, RBS1, RBS2, RBS3, RBS4, RBS5, RBS6, RBS7, RBS8, RBS9 )
to :
rollback_segments = ( RB0, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9 )
and I suppose your db will startup OK.

Bart.
0
 

Author Comment

by:jayharper
ID: 7992240
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.

0

Featured Post

NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Truncate is a DDL Command where as Delete is a DML Command. Both will delete data from table, but what is the difference between these below statements truncate table <table_name> ?? delete from <table_name> ?? The first command cannot be …
Shell script to create broker configuration file using current broker Configuration, solely for purpose of backup on Linux. Script may need to be modified depending on OS-installation. Please deploy and verify the script in a test environment.
Via a live example, show how to take different types of Oracle backups using RMAN.
This video shows how to Export data from an Oracle database using the Original Export Utility.  The corresponding Import utility, which works the same way is referenced, but not demonstrated.
Suggested Courses

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question