记录oracle 10g 手工创建数据库

oracle 10g 手工创建数据库


环境:
OS:Redhat Linux 4U4
Database:oracle 10.0.2.0.1

建库的脚本,也可以使用dbca的脚本    


     安装完oracle软件后,不使用dbca创建数据库,而手动创建数据库,主要目的是了解数据库创建的过程中主要进行了那些操作。

1.首先设置要创建的ORACLE的SID,如果在.bash_profile文件里设置里该变量,就不用设置了。
$echo $ORACEL_SID

如果没有设置,就手动设置,如果一个服务器上要运行多个ORACLE实例,也需要手动设置。

export ORACLE_SID=tsh1
2. 创建需要的诊断目录,这些目录都是ORACLE进程遇到错误或用户手动TRACE时需要的。
mkdir -p /u01/app/oracle/admin/tsh1/adump
mkdir -p /u01/app/oracle/admin/tsh1/bdump
mkdir -p /u01/app/oracle/admin/tsh1/cdump
mkdir -p /u01/app/oracle/admin/tsh1/udump
mkdir -p /u01/app/oracle/admin/tsh1/pfile
创建oracle的数据文件目录
mkdir -p /u01/app/oracle/oradata/tsh1

3. 创建ORACLE的参数文件

修改init.ora

$ORACLE_HOME/dbs/inittsh1.ora
来源于:create pfile='/u01/init<sid_name>.ora' from spfile;


内容如下:
aq_tm_processes=0
audit_file_dest=/u01/app/oracle/admin/tsh1/adump
background_dump_dest=//u01/app/oracle/admin/tsh1/bdump
compatible=10.2.0.1.0
control_files=/u01/app/oracle/oradata/tsh1/control01.ctl,/u01/app/oracle/oradata/tsh1/control02.ctl, /u01/app/oracle/oradata/tsh1/control03.ctl
core_dump_dest=/u01/app/oracle/admin/tsh1/cdump
db_block_size=8192
db_domain=""
db_file_multiblock_read_count=16
db_name=tsh1
instance_name=tsh1
dispatchers="(PROTOCOL=TCP) (SERVICE=tsh1XDB)"
job_queue_processes=10
nls_length_semantics=BYTE
open_cursors=300
pga_aggregate_target=94371840
processes=150
remote_login_passwordfile=EXCLUSIVE
resource_manager_plan=""
sessions=170
sga_target=285212672
undo_management=AUTO
undo_retention=900
undo_tablespace=UNDOTBS1
user_dump_dest=/u01/app/oracle/admin/tsh1/udump

4.创建密码文件
orapwd file=$ORACLE_HOME/dbs/orapwtsh1 password=admin entries=5 force=y

5.创建oracle的建库脚本 createdb.sql,内容如下:

模板是创建控制文件

获取建库脚本
alter database backup controlfile to trace

或者alter日志启动的

create database tsh1
MAXINSTANCES 1
MAXLOGHISTORY 1
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
DATAFILE
'/u01/app/oracle/oradata/tsh1/system01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited extent management local
sysaux datafile
'/u01/app/oracle/oradata/tsh1/sysaux01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited
default temporary tablespace TEMP tempfile
'/oracle/oradata/tsh1/temp01.dbf' size 20m reuse autoextend on next 640k maxsize unlimited
undo tablespace UNDOTBS1 datafile
'/u01/app/oracle/oradata/tsh1/undo01.dbf' size 20m reuse autoextend on next 5M maxsize unlimited
logfile
GROUP 1 ('/u01/app/oracle/oradata/tsh1/redo1.dbf') size 100m,
GROUP 2 ('/u01/app/oracle/oradata/tsh1/redo2.dbf') size 100m,
GROUP 3 ('/u01/app/oracle/oradata/tsh1/redo3.dbf') size 100m
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
;

6.数据库创建完成后,再创建ORACLE的数据字典。
SQL>@?/rdbms/admin/catalog.sql
SQL>@?/rdbms/admin/catproc.sql
SQL>@?/rdbms/admin/catexp.sql
到此ORACLE手动创建过程就完成了

备注:
catalog.sql生成数据字典和同义词
catproc.sql创建PL/SQL功能的使用环境
catexp.sql生成exp运行是需要的一些基础对象与基础视图..

7.

SQL> archive log list
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            /u01/app/oracle/product/10.2.0/db_1/dbs/arch
Oldest online log sequence     41
Current log sequence           43

SQL> select * from v$instance;

INSTANCE_NUMBER INSTANCE_NAME
--------------- ----------------
HOST_NAME
----------------------------------------------------------------
VERSION           STARTUP_T STATUS       PAR    THREAD# ARCHIVE LOG_SWITCH_WAIT
----------------- --------- ------------ --- ---------- ------- ---------------
LOGINS     SHU DATABASE_STATUS   INSTANCE_ROLE      ACTIVE_ST BLO
---------- --- ----------------- ------------------ --------- ---
              1 tsh1
oradb1
10.2.0.1.0        20-MAY-10 OPEN         NO           1 STOPPED
ALLOWED    NO  ACTIVE            PRIMARY_INSTANCE   NORMAL    NO


1 row selected.

SQL> select username,account_status from dba_users
  2  /

USERNAME                       ACCOUNT_STATUS
------------------------------ --------------------------------
OUTLN                          OPEN
SYS                            OPEN
SYSTEM                         OPEN
TSMSYS                         EXPIRED & LOCKED
DIP                            EXPIRED & LOCKED
DBSNMP                         EXPIRED & LOCKED

6 rows selected.



SQL> select * from dba_data_files;

FILE_NAME
--------------------------------------------------------------------------------
   FILE_ID TABLESPACE_NAME                     BYTES     BLOCKS STATUS
---------- ------------------------------ ---------- ---------- ---------
RELATIVE_FNO AUT   MAXBYTES  MAXBLOCKS INCREMENT_BY USER_BYTES USER_BLOCKS
------------ --- ---------- ---------- ------------ ---------- -----------
ONLINE_
-------
/u01/app/oracle/oradata/tsh1/system01.dbf
         1 SYSTEM                          231735296      28288 AVAILABLE
           1 YES 3.4360E+10    4194302          128  231669760       28280
SYSTEM

/u01/app/oracle/oradata/tsh1/undo01.dbf
         2 UNDOTBS1                        131072000      16000 AVAILABLE
           2 YES 3.4360E+10    4194302          640  131006464       15992
ONLINE

/u01/app/oracle/oradata/tsh1/sysaux01.dbf
         3 SYSAUX                          104857600      12800 AVAILABLE
           3 YES 3.4360E+10    4194302          128  104792064       12792
ONLINE


3 rows selected.


SQL> select * from v$tablespace;

       TS# NAME                           INC BIG FLA ENC
---------- ------------------------------ --- --- --- ---
         0 SYSTEM                         YES NO  YES
         1 UNDOTBS1                       YES NO  YES
         2 SYSAUX                         YES NO  YES
         3 TEMP                           NO  NO  YES

4 rows selected.



附:
附录A.Linux/unix下的参数文件:
orcl.__db_cache_size=96468992
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__shared_pool_size=58720256
orcl.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.background_dump_dest='/u01/app/oracle/admin/orcl/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl','/u01/app/oracle/oradata/orcl/control03.ctl'
*.core_dump_dest='/u01/app/oracle/admin/orcl/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orcl'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=16777216
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=167772160
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'

*.user_dump_dest='/u01/app/oracle/admin/orcl/udump'



附录B:windows上参数文件
orcl.__db_cache_size=352321536
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__shared_pool_size=243269632
orcl.__streams_pool_size=0
*.audit_file_dest='d:\oracle\product\10.2.0/admin/orcl/adump'
*.background_dump_dest='d:\oracle\product\10.2.0/admin/orcl/bdump'
*.compatible='10.2.0.1.0'
*.control_files='D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL'#Restore Controlfile
*.core_dump_dest='d:\oracle\product\10.2.0/admin/orcl/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orcl'
*.db_recovery_file_dest='d:\oracle\product\10.2.0/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=203423744
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=612368384
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'

附录3.



/u01/oracle/admin/orcl/udump/orcl_ora_2174.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
ORACLE_HOME = /u01/oracle/product/10g
System name:    Linux
Node name:      oraserv
Release:        2.6.18-194.el5
Version:        #1 SMP Tue Mar 16 21:52:43 EDT 2010
Machine:        i686
Instance name: orcl
Redo thread mounted by this instance: 1
Oracle process number: 15
Unix process pid: 2174, image: oracle@oraserv (TNS V1-V3)

*** SERVICE NAME:(SYS$USERS) 2013-01-28 16:26:30.471
*** SESSION ID:(159.3) 2013-01-28 16:26:30.471
*** 2013-01-28 16:26:30.471
-- The following are current System-scope REDO Log Archival related
-- parameters and can be included in the database initialization file.
--
-- LOG_ARCHIVE_DEST=''
-- LOG_ARCHIVE_DUPLEX_DEST=''
--
-- LOG_ARCHIVE_FORMAT=%t_%s_%r.dbf
--
-- DB_UNIQUE_NAME="orcl"
--
-- LOG_ARCHIVE_CONFIG='SEND, RECEIVE, NODG_CONFIG'
-- LOG_ARCHIVE_MAX_PROCESSES=2
-- STANDBY_FILE_MANAGEMENT=MANUAL
-- STANDBY_ARCHIVE_DEST=?/dbs/arch
-- FAL_CLIENT=''
-- FAL_SERVER=''
--
-- LOG_ARCHIVE_DEST_1='LOCATION=/u01/oracle/product/10g/dbs/arch'
-- LOG_ARCHIVE_DEST_1='MANDATORY NOREOPEN NODELAY'
-- LOG_ARCHIVE_DEST_1='ARCH NOAFFIRM EXPEDITE NOVERIFY SYNC'
-- LOG_ARCHIVE_DEST_1='NOREGISTER NOALTERNATE NODEPENDENCY'
-- LOG_ARCHIVE_DEST_1='NOMAX_FAILURE NOQUOTA_SIZE NOQUOTA_USED NODB_UNIQUE_NAME'
-- LOG_ARCHIVE_DEST_1='VALID_FOR=(PRIMARY_ROLE,ONLINE_LOGFILES)'
-- LOG_ARCHIVE_DEST_STATE_1=ENABLE
--
-- Below are two sets of SQL statements, each of which creates a new
-- control file and uses it to open the database. The first set opens
-- the database with the NORESETLOGS option and should be used only if
-- the current versions of all online logs are available. The second
-- set opens the database with the RESETLOGS option and should be used
-- if online logs are unavailable.
-- The appropriate set of statements can be copied from the trace into
-- a script file, edited as necessary, and executed when there is a
-- need to re-create the control file.
--
--     Set #1. NORESETLOGS case
--
-- The following commands will create a new control file and use it
-- to open the database.
-- Data used by Recovery Manager will be lost.
-- Additional logs may be required for media recovery of offline
-- Use this only if the current versions of all online logs are
-- available.
-- After mounting the created controlfile, the following SQL
-- statement will place the database in the appropriate
-- protection mode:
--  ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '/u01/ordata/orcl/redo01.log'  SIZE 50M,
  GROUP 2 '/u01/ordata/orcl/redo02.log'  SIZE 50M,
  GROUP 3 '/u01/ordata/orcl/redo03.log'  SIZE 50M
-- STANDBY LOGFILE
DATAFILE
  '/u01/ordata/orcl/system01.dbf',
  '/u01/ordata/orcl/undotbs01.dbf',
  '/u01/ordata/orcl/sysaux01.dbf',
  '/u01/ordata/orcl/users01.dbf'
CHARACTER SET ZHS16GBK
;
-- Commands to re-create incarnation table
-- Below log names MUST be changed to existing filenames on
-- disk. Any one log file from each branch can be used to
-- re-create incarnation records.
-- ALTER DATABASE REGISTER LOGFILE '/u01/oracle/product/10g/dbs/arch1_1_562360180.dbf';
-- ALTER DATABASE REGISTER LOGFILE '/u01/oracle/product/10g/dbs/arch1_1_797883992.dbf';
-- Recovery is required if any of the datafiles are restored backups,
-- or if the last shutdown was not normal or immediate.
RECOVER DATABASE
-- Database can now be opened normally.
ALTER DATABASE OPEN;
-- Commands to add tempfiles to temporary tablespaces.
-- Online tempfiles have complete space information.
-- Other tempfiles may require adjustment.
ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/ordata/orcl/temp01.dbf'
     SIZE 20971520  REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;
-- End of tempfile additions.
--
--     Set #2. RESETLOGS case
--
-- The following commands will create a new control file and use it
-- to open the database.
-- Data used by Recovery Manager will be lost.
-- The contents of online logs will be lost and all backups will
-- be invalidated. Use this only if online logs are damaged.
-- After mounting the created controlfile, the following SQL
-- statement will place the database in the appropriate
-- protection mode:
--  ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS  NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '/u01/ordata/orcl/redo01.log'  SIZE 50M,
  GROUP 2 '/u01/ordata/orcl/redo02.log'  SIZE 50M,
  GROUP 3 '/u01/ordata/orcl/redo03.log'  SIZE 50M
-- STANDBY LOGFILE
DATAFILE
  '/u01/ordata/orcl/system01.dbf',
  '/u01/ordata/orcl/undotbs01.dbf',
  '/u01/ordata/orcl/sysaux01.dbf',
  '/u01/ordata/orcl/users01.dbf'
CHARACTER SET ZHS16GBK
;
-- Commands to re-create incarnation table
-- Below log names MUST be changed to existing filenames on
-- disk. Any one log file from each branch can be used to
-- re-create incarnation records.
-- ALTER DATABASE REGISTER LOGFILE '/u01/oracle/product/10g/dbs/arch1_1_562360180.dbf';
-- ALTER DATABASE REGISTER LOGFILE '/u01/oracle/product/10g/dbs/arch1_1_797883992.dbf';
-- Recovery is required if any of the datafiles are restored backups,
-- or if the last shutdown was not normal or immediate.
RECOVER DATABASE USING BACKUP CONTROLFILE
-- Database can now be opened zeroing the online logs.
ALTER DATABASE OPEN RESETLOGS;
-- Commands to add tempfiles to temporary tablespaces.
-- Online tempfiles have complete space information.
-- Other tempfiles may require adjustment.
ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/ordata/orcl/temp01.dbf'
     SIZE 20971520  REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;
-- End of tempfile additions.


你可能感兴趣的:(记录oracle 10g 手工创建数据库)