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\data base\initc h01lot.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.or a
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\data base\initc h01lot.ora
CREATE DATABASE CH01LOT
LOGFILE 'D:\oracle\oradata\ch01lot \redo01.lo g' SIZE 10240K,
'D:\oracle\oradata\ch01lot \redo02.lo g' SIZE 10240K,
'D:\oracle\oradata\ch01lot \redo03.lo g' 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.d bf'
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.db f'
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\adm in\catalog .sql;
@c:\oracle\ora81\rdbms\adm in\catproc .sql;
@c:\oracle\ora81\rdbms\adm in\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\CH01LO T\control0 1.ctl", "c:\oracle\oradata\CH01LOT \control02 .ctl", "c:\oracle\oradata\CH01LOT \control03 .ctl")
open_cursors = 300
max_enabled_roles = 50
db_file_multiblock_read_co unt = 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\oradat a\AST\arch ive"
# 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_na me 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_na me = ""
# define directories to store trace and alert files
background_dump_dest = D:\oracle\admin\CH01LOT\bd ump
#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\ud ump
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=*
I get an error when starting the instance:
SVRMGR> startup pfile=C:\oracle\ora81\data
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.or
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\data
CREATE DATABASE CH01LOT
LOGFILE 'D:\oracle\oradata\ch01lot
'D:\oracle\oradata\ch01lot
'D:\oracle\oradata\ch01lot
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXLOGHISTORY 1
DATAFILE 'D:\oracle\oradata\ch01lot
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
size 10M reuse autoextend on next 1M;
create tablespace rbs
datafile 'D:\oracle\oradata\ch01lot
size 10M reuse autoextend on next 1M;
create temporary tablespace temp
tempfile 'D:\oracle\oradata\ch01lot
size 10M reuse autoextend on next 1M;
create tablespace ifsapp_data
datafile 'D:\oracle\oradata\ch01lot
size 10M reuse autoextend on next 1M;
create tablespace ifsapp_index
datafile 'D:\oracle\oradata\ch01lot
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\adm
@c:\oracle\ora81\rdbms\adm
@c:\oracle\ora81\rdbms\adm
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\CH01LO
open_cursors = 300
max_enabled_roles = 50
db_file_multiblock_read_co
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\oradat
# 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_na
# 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_na
# define directories to store trace and alert files
background_dump_dest = D:\oracle\admin\CH01LOT\bd
#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\ud
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
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
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.