Oracle Designer Repository Installation Guide |
Caution: Do not use any of the procedures in this section unless you have first installed Oracle Designer or Oracle Designer Repository at a client workstation. |
The client workstation and the database server can be on the same machine (Windows only), or on different machines.
System requirements for a client workstation are listed in the Oracle Developer Suite Installation Guide. System requirements for the database server are listed in the Oracle Database Installation Guide. Additional requirements for the database server are:
Note: If you are migrating from a release 6.0 repository, the database that is to host the release 6i repository must have the Distributed Option installed. For Oracle Designer running against an Oracle9i or Oracle8i Standard Edition database, Server Generator will not be able to generate bitmap indexes, function-based indexes or materialized views |
As an approximate guide, a small repository might contain up to 20,000 element definitions, a medium repository up to 100,000 element definitions and a large repository more than 100,000 element definitions. If you are installing a production repository, use these figures to make your choice unless you believe your requirements will be significantly different. If you are just installing a repository for evaluation purposes, choose Small.
If you choose Small, tablespaces are created with default initial extent and next extent values of 100K. Choosing Medium or Large will increase the initial extent and next extent values for all tablespaces except SYSTEM and TEMPORARY.
For a production repository, we recommend that you create the dedicated tablespaces with the sizes as shown in the table below.
For a repository that is to be used purely for evaluation or trial purposes, you may just want to create two tablespaces, one for the indexes and one for the tables. In this case, use the sizes indicated in the table against "Total for index tablespaces" and "Total for table tablespaces" respectively (note that you can use this technique only with the manual method).
We also recommend using the tablespace names shown or similar easily identifiable names, as you will need to select them individually later.
The following table shows the minimum tablespace sizes in KB for small, medium and large repositories:
Tablespace name Minimum tablespace size (KB) Small Medium Large CONSTANT_GROW_INDEXES 2048 7030 11000CONSTANT_GROW_TABLES 2048 4440 9000DEPENDENCY_INDEXES 10240 23000 30000DEPENDENCY_TABLES 2048 4560 9600DIAGRAM_INDEXES 4096 4680 10000DIAGRAM_TABLES 2048 2048 2640LOB_DATA 1024 2048 5000RAPID_GROW_INDEXES 303104 1148440 1750000RAPID_GROW_TABLES 89200 235200 463000SYSTEM_META_INDEXES 30720 30720 30720SYSTEM_META_TABLES 20480 20480 20480TEMPORARY_INDEXES 10240* 20000* 20000*TEMPORARY_TABLES 10240* 10240* 10240*VERSION_INDEXES 10240 12000 40000VERSION_TABLES 5600 10800 19440 Total for index tablespaces: 370688 1245870 1891720 + Total for table tablespaces: 132688 289816 539400 = Total sum of tablespaces: 503376 1535686 2431120Additional tablespaces:** REPOS_RBS (rollback) 10244 10244 10244REPOS_TEMP (temporary) 15372 15372 15372* These sizes are based on values for INITIAL and NEXT (see table below) of 100K. If you increase the INITIAL and NEXT values, adjust the sizes for TEMPORARY_INDEXES and TEMPORARY_TABLES proportionately (e.g. if you double the value of INITIAL and NEXT, double the sizes marked *).** These additional tablespaces are required only if suitable tablespaces do not exist already. For example, for rollback an Oracle9i database using automatic undo can make use of the UNDOTBS1 tablespace installed with the database.
Caution: The tablespace sizes given above are estimated to ensure completion of the installation and to provide for initial use. More free space will be required for continuing use of the repository. |
For medium and large repositories you will need to adjust the storage parameter values accordingly.
Storage parameter Value INITIAL 100k NEXT 100k PCTINCREASE 0 MINEXTENTS 1 MAXEXTENTS unlimited
If you use the manual method of repository installation, you can choose to set AUTOEXTEND on for each datafile when you create it. Doing so avoids the risk of running out of extents during installation, provided that you have sufficient free disk space on the drive.
You can always set AUTOEXTEND on for a datafile after installation is complete, but use this option with care as it allows the size of a file to grow unchecked.
Public synonyms enable you to give users repository access using just one set of synonyms, instead of creating one set for each user. For each Oracle instance, you can only have one repository accessed using public synonyms because public database objects must be unique.
We strongly recommend using public synonyms. Only use private synonyms for a maximum of 10 users. Using public synonyms maintains repository performance, for example by reducing the time it takes to complete tasks such as reconciling grants for all repository users.
If you choose to use public synonyms, you will need to grant the repository owner the database privileges CREATE PUBLIC SYNONYM and DROP PUBLIC SYNONYM. Under the script method of installation you answer a simple Yes/No prompt for this; under the manual method you must grant these privileges explicitly.
For more information about repository use of private and public synonyms, look in the Repository Management online help index under "synonyms".
Although you do not need to specify during installation whether to enable version control, it is a good idea to consider its implications at this stage. Unless it is enabled, you cannot use the software configuration management features of the repository, such as workareas, configurations, check in, check out and merge. However, once version control is enabled you cannot disable it, so you should carefully consider whether it is really necessary for a particular repository and its data.
The installation process can take several hours to complete, depending on the speed of the server, the client and the connections between them.
There are two methods of installing a new repository:
With the manual method, you create everything by entering individual SQL statements. This takes longer than the script method, but allows you a greater degree of control over the installation process.
Both methods require you to execute a series of pre-installation procedures, and also involve running the Repository Administration Utility to complete the installation process.
Step
1 - Log On to the Machine That Hosts the Oracle Database
Step
2 - Ensure Correct Settings for Database Initialization Parameters
Step
3 - Start or Restart the Oracle Database If Necessary
Step 4 - Ensure That TNS
Listener Is Started
Step 5 - Oracle 9i Servers only:
Install Oracle 9i Import and Export Utilities
Oracle_home\database (Windows servers)If the database is using a server parameter file that does not have the settings shown under "Set the Database Initialization Parameters" later in this section, you will need to do the following before proceeding:
$ORACLE_HOME/dbs (UNIX servers)
alter system set param_name = param_value [,param_name = param_value ...] scope = spfile;where param_name and param_value are the name and value of an entry in the SPFILE.
Read "Set the Database Initialization Parameters" later in this section. This contains important information to help you set the parameters to the correct values for your installation.
Find the INIT.ORA file, which should be at:
database_Oracle_home\ADMIN\dbname\PFILE\INIT.ORAwhere database_Oracle_home is the location to which the Oracle database was installed, and dbname is the database name (e.g. the name portion of the name.domain global database name).
If there is more than one Oracle database instance on the server, make sure that you locate the correct file.
Using a text editor or similar program, open the INIT.ORA file, check the current settings and make any necessary changes to the file.
When you have finished, save your changes and close the INIT.ORA file.
If the database is already started and you changed the INIT.ORA file in the previous step, shut down and restart the database.
Under Windows, click Start > Settings > Control Panel > Services. In the Services dialog box, if the service named Oracledatabase_Oracle_homeTNSListener does not show "Started" in the Status field, select this service and click the Start button (where database_Oracle_home is the location to which the Oracle database was installed).
Under UNIX, enter the command lsnrctl status. Under the heading "Services Summary...", check that there is an entry reading "database_name has 1 service handler(s)." If there is no entry for the desired database, then at the LSNRCTL> prompt, enter the command start. When this has completed successfully, enter the command status and check again.
For Designer 10g - 9.0.4.x
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEn\REPOS61
Designer 10g R2 onwards
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_HomeName\REPOS61
where KEY_HomeName/ HOMEn is the home name of the oracle home where Designer is installed for a multiple Oracle home environment, but is not present where the default Oracle home is being used.
Change the value of the EXECUTE_IMPORT and EXECUTE_EXPORT variables to point to the new Oracle home. Thus, if the new Oracle home is d:\des_9i, the settings would be:
d:\des_9i\bin\exp.exe
d:\des_9i\bin\imp.exe
Script | Description |
---|---|
ckqa | Collects input from you for passing on to subsequent scripts. Input is placed in a file named CKPARAMS.TXT, which you can edit before continuing with further scripts. |
ckvalqa | Validates the user input collected during the ckqa stage. You need to run this script only if you have modified the CKPARAMS.TXT file since you last ran ckqa. |
ckcreate | Creates the database objects required by the repository. Also creates the repository owner with the necessary privileges. |
ckcreate_mb | Same as ckcreate, but for use with a multibyte character-set database. |
ckreport | Creates a report (in the file CKREPORT.LST) on the database objects created by ckcreate or ckcreate_mb. |
ckclean | Removes the repository, deleting all the database objects created by ckcreate or ckcreate_mb. |
To install a new repository using the script method:
cd d:\Oracle_home\repadm61\adminwhere Oracle_home is the Oracle home directory where the client tools were installed.
d:\Oracle_home\bin\sqlplus
sys/psw@host [as sysdba]The AS SYSDBA clause is mandatory for an Oracle9i database.
@ ckqaThis script creates a file named CKPARAMS.TXT (in the same directory as the script files), based on the input you supply while the script is running.
The script displays a number of prompts, for which the responses are
shown in the following table:
Prompt | Response |
---|---|
Enter TNS connect string for server |
The database alias (same as the host string in step 4). |
Enter password for SYS |
The password for the SYS user (same as psw in step 4). |
Enter the repository size you wish to create... |
S, M or L for a small, medium or large repository (see Repository Size earlier in this chapter). |
Dropping temporary table CKRAU_TEMP |
None needed; ignore any message of the form "ORA-00942: table or view does not exist." |
Enter datafile location and name for tablespace |
The name, and optionally the location, of the datafile for the repository tablespace indicated. Use a datafile name that clearly indicates the tablespace to which the file relates, e.g. SCM_CGIND.ORA for CONSTANT_GROWTH_INDEXES. The default location is database_Oracle_home\DATABASE. To store the datafiles in a different location, enter the full pathname and file name. |
For ten or more subordinate users, we recommend giving access using public synonyms. Do you wish to grant create/drop public synonym privilege to Repository Owner? |
Y (recommended - see Use of Public Synonyms earlier in this chapter). |
Hit enter to Continue with validation process... |
Press ENTER. The script then validates your input. |
Please verify the above values. Edit 'ckparams.txt' to make any changes. Then run ckparams.txt. |
Review the values listed on the screen. These will be the input for the ckcreate script. You should not normally need to change any of these values, but if you do want to make changes (e.g. to increase the size of a tablespace) continue with step 6, otherwise go on to step 7. |
Run CKPARAMS.TXT by entering the following in the SQL*Plus window:
@ ckparams.txtValidate the changes by entering the following:
@ ckvalqa
@ ckcreate[_mb]where the "_mb" extension is for use only with a multibyte character-set database.
Ignore any message of the form "ORA-01919: role 'CK_ORACLE_REPOS_OWNER'
does not exist".
@ ckreportThe report output is stored in the file CKREPORT.LST in the same directory as the script files.
The remaining steps take place at the client workstation from which you will be running the repository installation. The current release of Oracle Designer 10 g or Oracle Designer Repository client software must be installed at this workstation.
create tablespace tbs_name datafile ‘filespec’ size nnk default storage (initial nnnk next nnnk minextents n maxextents unlimited pctincrease n);where tbs_name is the name of the tablespace, and filespec is the complete file specification for the data file (default location is database_Oracle_home\DATABASE).
If no undo tablespace exists, proceed as follows:
create undo tablespace tbs_name datafile ‘filespec’ size 10m;
During installation, the Nominate Rollback Segment listbox is disabled and the method described in this step is the only way to ensure a specific rollback segment is used.
You should ensure that the database that will host the repository has sufficient rollback segments to avoid contention for rollback segments. Refer to your Oracle database documentation for information about tuning the database to avoid resource contention.
To create a new tablespace for the rollback segment:
where tbs_name is the name of the tablespace, and filespec is the complete file specification for the data file.create tablespace tbs_name datafile ‘filespec’ size 10m;
To create the rollback segment and put it online:
where rbs_name is the name of the rollback segment, and tbs_name is the name of the tablespace for the rollback segment.create rollback segment rbs_name tablespace tbs_name storage (initial 1m next 1m minextents 3 optimal 4m); alter rollback segment rbs_name online;
To show the size in MB of free space in all the tablespaces, including SYSTEM:
If there is not enough free space in the SYSTEM tablespace, you can use one of three methods to increase its size: resize a data file, add a data file, or use AUTOEXTEND.select tablespace_name, sum(bytes)/1024/1024 from dba_free_space group by tablespace_name;
To increase the SYSTEM tablespace size by resizing a data file:
where filespec is the complete file specification for the data file; nn is the new size in megabytes.alter database datafile ’filespec’ resize nnm;
To increase the SYSTEM tablespace size by adding a data file:
To set the AUTOEXTEND option on the current data file used for the SYSTEM tablespace:alter tablespace system add datafile ’filespec’ size nnm;
where filespec is the complete file specification for the original data file used for the SYSTEM tablespace.alter database datafile ’filespec’ autoextend on;
Use the AUTOEXTEND method with care, however, as it allows a data file to grow unchecked.
To see which tablespaces are online:
To create the temporary tablespace for the repository owner:select tablespace_name, status from dba_tablespaces;
where temp_tbs_name is the name of the tablespace; filespec is the complete file specification for the data file; nn is the size in kilobytes (4500k is recommended).create tablespace temp_tbs_name datafile ’filespec’ size nnk temporary;
To create the repository owner:
where:create user repos_owner identified by password default tablespace dflt_tbs_name temporary tablespace temp_tbs_name;
If you are not already connected as SYS, click the Start button, then choose Programs > Oracle - database_Oracle home > Application Development > SQL Plus.
In the Log On dialog box, fill in the fields as shown in the following table:
Field Enter... Notes User Name SYS (not SYSTEM) Password The password for SYS Host String database_alias [AS SYSDBA] The AS SYSDBA clause is mandatory for an Oracle9i database.
@ Oracle_home\repadm61\utl\ckrorole.sqlwhere Oracle_home is the directory to which Oracle Designer or Oracle Designer Repository was installed on the client workstation.
This command runs a SQL script that creates the role CK_ORACLE_REPOS_OWNER and grants it a set of privileges.
grant execute on dbms_rls to repos_owner;
grant execute on dbms_lock to repos_owner;
grant execute on dbms_pipe to repos_owner;
grant create table to repos_owner;
grant create view to repos_owner;
grant create procedure to repos_owner;
grant create synonym to repos_owner;
grant create sequence to repos_owner;
grant select on sys.v_$nls_parameters to repos_owner with grant option;
grant select on sys.v_$parameter to repos_owner;
grant select on dba_rollback_segs to repos_owner;
grant select on dba_segments to repos_owner;
grant create any synonym to repos_owner;
grant drop any synonym to repos_owner;where repos_owner is the username of the repository owner.
Caution: We do not recommend that the repository owner’s account should have the privilege SELECT ANY TABLE if you are installing a repository. This will give users problems when using this product because their account can see repositories for which they have no access. However, users may need the privilege to use specific repository tools or utilities on a repository (for example, registration). |
Note: Take extra care to grant select access correctly on SYS.V_$PARAMETER, otherwise the installation fails at stage CKGLBWRK. This results in an invalid JR_WORKAREA package and a failure to create the global shared workarea and system folder. If this should happen, simply recompiling the package and restarting installation does not cure the problem; a manual workaround is given in the "Troubleshooting" section. |
One consideration will be how to give subordinate users access to the repository. For ten or more subordinate users, we recommend giving access using public synonyms. To enable the repository owner to grant and revoke access using public synonyms, you must make the following grants to the repository owner:
grant create public synonym to repos_owner;
grant drop public synonym to repos_owner;
grant ck_oracle_repos_owner to repos_owner;
grant connect, resource to repos_owner;The CONNECT role enables the repository owner to connect to the repository.
The RESOURCE role grants unlimited quotas to the repository owner on all tablespaces, including SYSTEM.
Choose Programs, Oracle Developer Suite 10gIDS_home, Oracle Software Configuration Manager and then Repository Administration Utility
Choose Programs, Oracle Developer Suite 10gR2IDS_home, Designer , and then Repository Administration Utility
Field | Enter... |
---|---|
User Name | The username of the repository owner (indicated by repos_owner in the examples above). If you used the SQL script method to install the repository, the default username is REPOS_MANAGER. |
Password | The password for the repository owner. If you used the SQL script method to install the repository, the default password is MANAGER. |
Connect String | The database alias. Make sure that there is an entry for this alias in the TNSNAMES.ORA file in the Oracle home directory where the Oracle database Import and Export utilities are installed. |
Under Parameter Settings, check the parameter settings. If any parameter values are different from those in the table below, set the values in the Windows Registry at the client workstation before continuing. In the table, d: identifies the drive, and Oracle_home the directory, where Oracle Designer or Oracle Designer Repository was installed. All key names shown in the table are preceded by "HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\".
The following table shows Windows Registry key names, the parameters relevant to repository installation, and an indication of what each parameter value should be:
Key | Parameter | Value should be... |
---|---|---|
CHELP72 | HELP72_RAU | d:\Oracle_home\CDOC72\HELP\
CKRAU65.HLP |
REPADM61 | EXECUTE_OBJSTAT | d:\Oracle_home\BIN\CKOS61.EXE |
REPADM61 | EXECUTE_REPOSPARAM | d:\Oracle_home\BIN\CKCR61.EXE |
REPADM61 | LOG_DIRECTORY_RAU | d:\Oracle_home\REPADM61\LOGS |
REPADM61 | REPADM61 | d:\Oracle_home\REPADM61 |
REPOS61 | EXECUTE_EXPORT | d:\Oracle_home\BIN\EXP.EXE |
REPOS61 | EXECUTE_IMPORT | d:\Oracle_home\BIN\IMP.EXE |
REPOS61 | EXECUTE_PLUS_RAU | d:\Oracle_home\BIN\SQLPLUS.EXE |
Working directory | Any writeable directory |
Check also that privileges have been set up as shown in the following table:
Choose | To Check | Notes |
---|---|---|
Privileges > Privileges granted for public access | System privileges required for subordinate users to access the repository using public synonyms | Must have CREATE PUBLIC SYNONYM and DROP PUBLIC SYNONYM if subordinate users are to access the repository using public synonyms; otherwise ignore. |
Privileges > Required system privileges | System privileges required to run various operations in the Repository Administration Utility | Must have ALTER SESSION, CREATE DATABASE LINK, CREATE PROCEDURE, CREATE SEQUENCE, CREATE SESSION, CREATE TABLE, CREATE TRIGGER, CREATE TYPE and CREATE VIEW. If enabling and disabling subordinate users, will also need CREATE ANY SYNONYM, CREATE ROLE and DROP ANY SYNONYM. |
Privileges > Roles granted to user | All the database roles that have been granted to the repository owner | Check that CONNECT, RESOURCE and CK_ORACLE_REPOS_OWNER are included in the list. |
If any of the required system privileges or roles are missing, start SQL*Plus, connect as SYS (using the AS SYSDBA clause for an Oracle9i database) and use:
where name is the name of the system privilege or role. Restart the Repository Administration Utility and repeat the check.grant name to repos_owner;
Under Tablespaces, check whether the SYSTEM tablespace is fragmented (value for Largest Extent is significantly less than that for Free Space).
If the SYSTEM tablespace is fragmented, perform a full database export and re-import using the current version of the Export and Import utilities (EXP and IMP). Restart the Repository Administration Utility and repeat the check.
Close the Check Requirements window.
Choosing Medium or Large will increase the initial extents and next extents values for all tablespaces except SYSTEM and TEMPORARY.
You can refine the tablespace assignments by selecting different tablespaces for different categories of repository data.
To assign the tablespaces:
Tip: You might find it useful to view the log directory files in date order so that you can see which ones were created most recently.
To start the installation:
click the Check Requirements button, proceed as described earlier under "Check Privileges, Tablespaces and Parameters", and then try the installation again.Insufficient database grant privileges to perform operation.
From this point, the installation process continues automatically, and normally needs no intervention.
If you need to interrupt the process at any point after the Control
Status dialog box is displayed, click the
(Pause) button.
When you see the message "Operation Complete", click OK followed by Cancel to return to the Repository Administration Utility window.
If the installation appears to complete successfully, examine the log files referred to above to ensure that Oracle errors and warnings were not issued during object creation and compilation. In the Repository Administration Utility, click the View Objects button and make sure that you do not have any invalid, disabled or missing objects in the repository.
If the installation fails at any point, go to the "Troubleshooting" section.
For all other databases, in order to create containers for element definitions, at least one rollback segment that is not in the SYSTEM tablespace must be online. In addition, some of the Repository Object Navigator utilities may involve long-running transactions (for example, the Copy, Delete, Import and Export utilities). These utilities allow users to specify a rollback segment other than the default one, which has a large number of small extents and may not be suitable for these transactions.
For this reason, we recommend that you have at least one non-SYSTEM rollback segment available.
Note: If you used the script method to install the repository, the rollback segment REPOS_RBS_SEGMENT is automatically created and brought online. If you used the manual method and created a rollback segment specifically for the installation, you can use that rollback segment. |
If an existing non-SYSTEM rollback segment is suitable but is currently offline, enter:select segment_name, tablespace_name, status from dba_rollback_segs;
To create suitable rollback segments, enter:alter rollback segment rbs_name online;
where rbs_name is the name of the rollback segment and tbs_name is the name of the tablespace that will contain it.create rollback segment rbs_name tablespace tbs_name storage (initial 500k next 500k minextents 3 optimal 4m); alter rollback segment rbs_name online;
To ensure that a rollback segment is brought online whenever the server machine is restarted, add or edit the following line in the INIT.ORA database initialization file (see "Setting the Database Initialization Parameters" ):
If you want to drop an existing tablespace or rollback segment, take it offline, then use the following commands:rollback_segments = (rbs_name[, rbs_name ...])
drop rollback segment rbs_name; drop tablespace tbs_name;
Caution: You cannot undo this operation. Before enabling the version control feature, ensure this is really necessary for this repository and its data. If in doubt, defer this operation; you can perform it at any time. See the online help for Repository Management for a full description of the version control functionality. |
If you are not yet familiar with basic repository operations, we recommend reading the online help topics in the Repository Management help system about creating a default workarea, creating containers, and creating repository objects (that is, element definitions). In addition, if you will be using version control, read the topics about checking in and checking out objects, viewing the version history of an object, comparing object versions, and merging object versions.
When using some of the tools, you may see the message "Unable to register notification service". To stop the message appearing, choose Options > Broadcast Options in the tool and select Disabled.
To test the repository, proceed as follows:
When using some tools, you may see a message beginning:
Statistics have not been computed for this repository...
You can ignore this message during repository setup or, if you want to
stop the message from appearing:
You create subordinate users from the Repository Administration Utility. Creating subordinate users requires particular care to ensure that the users have the correct:
Subordinate users must be assigned the CONNECT and RESOURCE database roles. To do so, start SQL*Plus, connect as SYS (using the AS SYSDBA clause for an Oracle9i database) and issue the following command for each user:
If you experience errors when trying to create subordinate users, see "Error Messages When Creating Subordinate Users" in Appendix C.grant connect, resource to username;
* these privileges are granted to subordinate users when they are assigned the CONNECT and RESOURCE roles
System privilege Repository owner Subordinate user CREATE SESSION Connection Connection* ALTER SESSION Diagnostics Diagnostics* CREATE TABLE Installation, migration * CREATE VIEW Installation * CREATE SEQUENCE Installation * CREATE PROCEDURE Installation * CREATE TRIGGER Installation * CREATE ANY SYNONYM Reconcile user DROP ANY SYNONYM Reconcile user CREATE PUBLIC SYNONYM Reconcile user DROP PUBLIC SYNONYM Reconcile user CREATE DATABASE LINK Migration * CREATE ROLE Reconcile user CREATE SYNONYM Migration * CREATE ANY TABLE Registration CREATE ANY VIEW Registration CREATE ANY SNAPSHOT Registration CREATE ANY SYNONYM Registration CREATE ANY PROCEDURE Registration CREATE ANY SEQUENCE Registration CREATE ANY TRIGGER Registration CREATE ANY INDEX Registration CREATE ANY TYPE Registration CREATE ANY CLUSTER Registration SELECT ANY SEQUENCE Registration SELECT ANY TABLE Registration
Diagnostics privileges are required if, for example, you wish to enable SQL TRACE.
Registration privileges are required for registration of Oracle schemas in the repository. See the online help for Repository Management.
Reconcile user privileges allow subordinate users to be enabled or disabled (synonyms created or dropped) via the Reconcile button on the Maintain Users dialog box of the Repository Administration Utility.
Some subordinate users may need additional privileges depending on which utilities they will be running (e.g. Import/Export from the Repository Object Navigator). To grant these, connect as SYS (using the AS SYSDBA clause for an Oracle9i database) and enter any or all of the following as appropriate:
grant create table to subordinate_user;grant create view to subordinate_user;grant create procedure to subordinate_user;grant create synonym to subordinate_user;grant create sequence to subordinate_user;grant select on dba_rollback_segs to subordinate_user;grant select on dba_segments to subordinate_user;
If you have created subordinate users, test the access rights mechanism as follows:
Note: If you have enabled version control, remember to grant the Version access right on an object to any users who will be using version control with that object. |
The following table shows the different methods of use of the broadcast server (local, network or disabled) and gives the procedure to follow in each case:
Full instructions are given in the online help for Repository Management.If you are using this feature over the network, you need to decide whether to run the broadcast server from either a client workstation or from the database server where the repository is installed, and install the broadcast server files accordingly.
Method Of Use Procedure Local (desktop-only)
- Set the Desktop Only broadcast option for the workstation.
- Test broadcast service.
Over the network
- Install broadcast server files (either at one client or server-side).
- Specify the broadcast server host.
- Set the Network broadcast option on every client workstation.
- Run the broadcast server.
- Test the broadcast service.
Disabled Set the Disabled broadcast option for the workstation.
If you need help at any point while using a repository tool, choose Help > Help Topics on the tool. If a dialog box is displayed, click its Help button.
On an Oracle9i database, the initialization parameters are typically managed by the server parameter file (SPFILE). See the Oracle9i Database Administrator's Guide for full details about managing initialization parameters using a server parameter file.
Some Oracle9i databases may manage the initialization parameters by means of an INIT.ORA file (see following paragraphs).
On an Oracle9i database that does not use a server parameter file, the file INIT.ORA at the server contains parameters for configuring the Oracle database at startup. This file can be found at:
database_Oracle_home\ADMIN\dbname\PFILE\INIT.ORAwhere database_Oracle_home is the location to which the Oracle database was installed, and dbname is the database name (e.g. the name portion of the name.domain global database name).
If there is more than one Oracle database instance on the server, make sure that you locate the correct file.
The following are the recommended minimum settings.
compatible = 9.0.0 # for an Oracle9i database max_enabled_roles = 30 sort_area_size = 262144 sort_area_retained_size = 65536 hash_area_size = 1048576 optimizer_index_caching = 50 optimizer_index_cost_adj = 25 shared_pool_size = 32000000 db_block_buffers # comment out on an Oracle9i database db_block_buffers = 2000 # on an Oracle8i database open_cursors = 3000 processes = 100 db_file_multiblock_read_count=16 # for a 4K Oracle block size db_file_multiblock_read_count=32 # for a 2K Oracle block size db_file_multiblock_read_count=8 # for a 8K Oracle block size
Note: For an Oracle 10g database and above these settings can be ignored and instead the default database parameter values can be used. |
These assume that a single repository instance has been installed for up to four concurrent users. If more concurrent users are required, or more than one repository instance is installed, then these parameters will require more tuning. If you are running other systems on the same Oracle database which already require larger settings, then do not make these any smaller.
Carefully consider whether to use or modify the above example settings. It is the responsibility of the DBA to monitor the system and ensure that these parameters are appropriate for the current period of activity.
Retune the INIT.ORA parameters when adding users or switching activities. The Oracle Enterprise Manager monitors and tuning tools can help here.
We recommend that the OPTIMIZER_MODE parameter is set to its default value CHOOSE.
As a guide to sizing your server, the following profiles were used when testing the product internally, and found to be very satisfactory. All testing used dedicated database server machines. Although it is supported to have the repository running on the same machine as the client tools, this is not the way the product is expected to be used outside of a demonstration environment.
A typical configuration for a 5-user installation would be:
Following are some specific modifications you might want to make. On some systems, these changes need to be made in harmony with tuning of the operating system I/O; refer to the specific server documentation for your system. Take care not to increase these parameter values to the point where the SGA will no longer fit in memory.
Setting the DB_BLOCK_SIZE parameter can be done only before creating a database. You can set this parameter as part of creating a new database by running the Database Configuration Assistant, selecting the Custom option and setting the value on the page for SGA parameter information. To run the Database Configuration Assistant, click the Start button and choose (for an Oracle 9i database) Programs > Oracle - database_Oracle_home > Configuration and Migration Tools > Database Configuration Assistant or (for an Oracle 8i database) Programs > Oracle - database_Oracle_home > Database Administration > Database Configuration Assistant.
On an Oracle8i database, if enough memory is available, try a setting of up to 5000 (check its effectiveness using the DB_BLOCK_BUFFER cache hits monitor).
Keeping table data rows cached is effective for speeding up the loading of a large data file or for other operations requiring a lot of API validation. There should be an observable drop in the number of physical disk accesses.
This is the tuning parameter which can most influence the execute and fetch times of SQL statements. Note, however, that any increase in the setting of DB_BLOCK_BUFFERS causes an increase in SGA memory requirement equivalent to (extra * block_size) bytes, where extra is the increase in the DB_BLOCK_BUFFERS setting and block_size is the value of the DB_BLOCK_SIZE parameter in the INIT.ORA file.
This is the tuning parameter which most affects parsing and loading times. It is most effective if the block or statement is already in memory and ready to run.
In general, the transaction sizes for the repository tools tend to be small and the transactions infrequent. This parameter probably has little effect in these circumstances, but consider changing it if a large number of users are accessing the repository, as in this case the transaction frequency and sizes could increase dramatically.
To avoid this it is recommended that all tablespaces of type TEMPORARY have their next extents sized to at least 256 KB. To do this, identify the temporary tablespaces with a query such as:ORA-3232 : unable to allocate an extent of %s blocks from tablespace %s
select tablespace_name, next_extent from dba_tablespaces where contents = 'TEMPORARY' and next_extent < 262144;For each tablespace returned, issue the command:
alter tablespace tablespace_name default storage (next 256K);
If the large pool is used but is too small, the following error will be reported:
ORA-4031: unable to allocate nnnn bytes of shared memory ("large pool","unknown object","session heap","kgiob")
The translated text files for the display languages that the repository supports are installed in the directory Oracle_home\REPADM61\NLS if you have an NLS version of the repository.
Note: If you do not have these translated text files in the \NLS directory, you cannot change the display language. |
Caution: We recommend using separate database instances for the source and target repositories, to avoid username and synonym conflicts. |
Release 1.3.2, 2.1 or 2.1.1 repositories must be upgraded to 6.0*, then migrated to 9i.
Pre-1.3.2 repositories must initially be upgraded to release 1.3.2, then to 6.0*, then migrated to 9i.
* An additional CD, supplied with the 6i release, enables you to upgrade these repositories to 6.0 before migrating. Perform the upgrade to 6.0 now before continuing any further.
If you have an existing 6i repository, see "Upgrading a Release 6i or higher Repository".
Note: During migration from release 2.1.2 or 6.0 to release 9i, a new table is created in the source repository and packages there are recompiled. You will need sufficient free space in your source repository to allow this. |
ORA-06502: PL/SQL: numeric or value error: character to number conversion error ORA-06512: at "REPOS.GET_IRID", line 21 ORA-01422: exact fetch returns more than requested number of rows ORA-06512: at line 1 ORA-06512: at line 1 RME-02124: Failed to execute SQL statement: INSERT INTO SDD_MUN (...If your source (i.e. release 2.1.2 or 6.0) repository has application logic, run the following three queries on the source repository before commencing migration to release 9i:
select max(el_id) from sdd_elements; select max(str_id) from sdd_structure_elements; select max(al_id) from ck_application_logic;If the result from the last query is greater than the result from either of the first two, perform the following actions on the source repository:
drop sequence SDD_EL_SEQ; create sequence SDD_EL_SEQ increment by 1 nominvalue nomaxvalue nocycle cache 20 noorder start with x + 1;where x is the highest value from the three query results above, then recompile invalid objects (in the Repository Administration Utility, click the Recreate button, choose Recompile Objects and click Start).
Note: These are the normal routine maintenance operations for any repository. If you have recently carried them out, you may not need to do so again. |
Oracle_home\BIN\EXP80.EXE USERID=username/password@database FILE=d:\dump_file LOG=d:\export_logfile
Caution: To provide maximum protection for the data held in your repository, you should now import the dump file and test it before removing anything from the source repository. |
Oracle_home\BIN\IMP80.EXE USERID=username/password@database FILE=d:\dump_file LOG=d:\import_logfile IGNORE=Y FULL=Y COMMIT=Y
The database that is to host the target repository must have the Distributed Option installed.
We recommend setting the OPEN_CURSORS database initialization parameter to at least 3000 (see Set the Database Initialization Parameters earlier in this chapter). Errors during migration might be cured by increasing the value of the OPEN_CURSORS parameter (see Error Messages for Migration in Appendix C).
If no undo tablespace exists, proceed as follows:
create undo tablespace tbs_name datafile ‘filespec’ size nnm;where tbs_name is the name of the tablespace, filespec is the complete file specification for the data file, and nn is the tablespace size in megabytes (this size varies depending on the amount of data being migrated).
To see the name and status of all rollback segments:
To create a new tablespace for the rollback segment:select segment_name, status from dba_rollback_segs;
where tbs_name is the name of the tablespace, filespec is the complete file specification for the data file, and nn is the tablespace size in megabytes (this size varies depending on the amount of data being migrated).create tablespace tbs_name datafile ‘filespec’ size nnm;
To create the rollback segment and put it online:
where rbs_name is the name of the rollback segment, and tbs_name is the name of the tablespace for the rollback segment.create rollback segment rbs_name tablespace tbs_name storage (initial 1m next 1m minextents 3 optimal 4m); alter rollback segment rbs_name online;
To take a rollback segment offline, enter the following:
Note that you cannot take the SYSTEM rollback segment offline.alter rollback segment rbs_name offline;
Unload the user-extended definitions from the source repository using the unload option available from the Repository Administration Utility in Oracle Designer 6.0.
To bring forward the user-extended definitions, load this data into a fresh release 9i repository before loading any application system.
See "Ensure That TNS Listener Is Started" earlier.
CREATE TABLECheck that the target repository owner has the following system privileges:
CREATE ANY INDEX
CREATE DATABASE LINKGrant these privileges if they are not already granted. These privileges must be granted directly to the target repository owner and not via a role.
CREATE TABLE
Using release 2.1.2 or release 6.0 tools and online help, grant this privilege if it is not already granted.
The following table shows the SQL scripts used in this step, together with a brief description of each script:
Script | Description |
---|---|
CKGENUSR.SQL | Located in Oracle_home\REPADM61\UTL directory. This script generates the migration script called MIGRATE_REPOS_USERS.SQL to the working directory. |
MIGRATE_REPOS_USERS.SQL | When executed, this script creates Oracle database
users on the target database (where the release 6i repository resides)
with the same usernames and privileges as those from the source database
(where the release 2.1.2 or 6.0 repository resides). It also creates a
log file called MIGRATE_REPOS_USERS.LOG in the working directory.
Note: Migrated subordinate users are given the default password "changeme". |
CKGENPRV.SQL | Located in Oracle_home\REPADM61\UTL directory. This script generates the migration script called MIGRATE_REPOS_PRIVS.SQL to the working directory. |
MIGRATE_REPOS_PRIVS.SQL | When executed, this script creates repository users with default repository privileges in the release 9i repository. Also creates a log file called MIGRATE_REPOS_PRIVS.LOG in the working directory. |
Caution: Do not make changes to the scripts because such changes will not be supported. If in doubt, contact your Oracle Support Representative for assistance. |
You are prompted for the default tablespace and for the temporary tablespace for all users. After completion, check the log file MIGRATE_REPOS_USERS.LOG and ensure that there are no errors.
After completion, check the log file MIGRATE_REPOS_PRIVS.LOG and ensure that there are no errors.
The TNSNAMES.ORA file on the machine containing the target repository must have an entry that allows it to see the source repository.
As you type into the Username and Connect String boxes, text is automatically entered into the Workarea Name box. You can change this name manually if you wish. The workarea name will be used to create a new workarea in the target repository to contain the data you are migrating.
Caution: If the migration fails, check the log files for any errors. If these cannot be resolved, contact your Oracle support service. Do not use the new workarea. |
To upgrade from the Production release, proceed as follows:
Note:
To upgrade an Oracle Designer repository installed on an Oracle 9i database, the Oracle 9i import/export utilities are required. For details, refer to Step 5 - Install Oracle 9i Import and Export Utilities.If no undo tablespace exists, proceed as follows:
create undo tablespace tbs_name datafile ‘filespec’ size 10m;
On some servers you can use a predefined tablespace called TEMPORARY_TABLES or TEMPORARY_DATA as the repository owner’s temporary tablespace; on others, you might need to create a tablespace for this purpose.
To see the temporary tablespace for each user, open a SQL*Plus window (if one is not already open), connect as SYSTEM (or as a user with DBA privileges) and enter the following statement:
If you want to change the temporary tablespace for the repository owner, enter a statement of the following form:select username, temporary_tablespace from dba_users;
where repos_owner is the username of the repository owner and temp_tbs_name is the name of the temporary tablespace.alter user repos_owner temporary tablespace temp_tbs_name;
Make a note of the tablespace name you will be using. When you have finished, be sure to close the SQL*Plus window.
For more information see "Create and Grant the Role CK_ORACLE_REPOS_OWNER for System Privileges".
To start the upgrade:
Click the Check Requirements button, proceed as described in "Check Privileges, Tablespaces and Parameters", and then try the upgrade again.Insufficient database grant privileges to perform operation.
From this point, the upgrade process continues automatically, and normally needs no intervention.
If you need to interrupt the process at any point after the Control
Status dialog box is displayed, click the
(Pause) button.
When you see the message "Operation Complete", click OK followed by Cancel to return to the Repository Administration Utility.
If the upgrade appears to complete successfully, examine the log files referred to above to ensure that Oracle errors and warnings were not issued.
If the upgrade fails, examine the log files referred to above, then go to the "Troubleshooting" section.
Tip: You might find it useful to view the log directory files in date order so that you can see which ones were created most recently.
To perform this check, do the following in the Repository Administration Utility:
Keep the Repository Administration Utility active on the screen if possible, as you might be able to correct the problem and continue. Proceed as follows:
If you can take the corrective action while keeping the Repository Administration Utility still active, do so and continue from step 3.
If the corrective action is such that you need to close down the Repository Administration Utility, click the Abort button on the message box. Take the corrective action, restart the Repository Administration Utility and restart the installation or upgrade.
Caution: Do not use the Continue option, as this attempts to continue the installation or migration without allowing you to take corrective action. |
If you have specified a maxextent value (e.g. 121) for this tablespace you may occasionally get errors of the form:
If you see these errors, inform your repository administrator or DBA who will need to alter the tablespace, table and index sizing characteristics as follows.ORA-03235 max # extents (string) reached in table string.string subpartition string ORA-03236 max # extents (string) reached in index string.string subpartition string
For tablespaces, use the following command:
Refer to the Administrator's Guide for your database for further information about altering storage characteristics on tablespaces.alter tablespace tablespace_name default storage ( maxextents unlimited );
For tables and indexes, start the Repository Administration Utility and click the View Objects button. In the Object Status Utility window, select Tables or Indexes, select the name of the table or index, click the right mouse button, choose Quick Edit, choose the Unlimited option button and click OK.
one possible reason is that the SQL statement to grant the select privilege to the repository owner on SYS.V$PARAMETER has been omitted. This will result in an invalid JR_WORKAREA package and a failure to create the global shared workarea and the system folder.RME-02124: Failed to execute SQL statement:... JR_WORKAREA
To recover from this situation:
grant select on sys.v_$parameter to repos_owner;
truncate table RM$REPOSITORIES;
update CK_INSTALLED_OBJECTS set CI_NAME = 'CKVERS' where CI_STAGE = 'ABORT'; commit;
To prevent this problem, do the following before reinstalling the repository:
where username is the username of the repository owner.drop role ckr_username;
where username is the username of the repository owner.drop role ckr_username;
cd d:\Oracle_home\repadm61\adminwhere Oracle_home is the Oracle home directory where the client tools were installed.
d:\Oracle_home\bin\sqlplus
sys/psw@host [as sysdba]The AS SYSDBA clause is mandatory for an Oracle9i database.
@ ckclean
drop user repos_owner cascade;
drop tablespace tbs [including contents and datafiles];where the portion in square brackets [] is for an Oracle9i database only.
|
![]() Copyright © 2007, Oracle. All Rights Reserved. |