• 手动创建数据库实例全攻略1:创建mydb


    一、准备相关文件

    1、准备参数文件。

    在DBCA创建数据库的时候都会创建一份默认init.ora文件,同时在创建数据库过程中会在/opt/oracle/admin/ocm/pfile下存在init.ora加序列号文件如下

    [oracle@ocmserver pfile]$ ls -lh 
    total 12K
    -rw-r----- 1 oracle oinstall 2.4K Jun 24 18:29 init.ora.5242013183739
    -rw-r----- 1 oracle oinstall 2.4K Jun 25 18:43 init.ora.525201318482
    [oracle@ocmserver pfile]$

    不管怎样,自己要拿到一份模板参数文件。内容大体如下:

    [oracle@ocmserver pfile]$ more initmydb.ora
    ##############################################################################
    # Copyright (c) 1991, 2001, 2002 by Oracle Corporation
    ##############################################################################
     
    ###########################################
    # Cache and I/O
    ###########################################
    db_block_size=8192
    db_file_multiblock_read_count=16
     
    ###########################################
    # Cursors and Library Cache
    ###########################################
    open_cursors=300
     
    ###########################################
    # Database Identification
    ###########################################
    db_domain=""
    db_name=mydb
     
    ###########################################
    # Diagnostics and Statistics
    ###########################################
    background_dump_dest=/opt/oracle/admin/mydb/bdump
    core_dump_dest=/opt/oracle/admin/mydb/cdump
    user_dump_dest=/opt/oracle/admin/mydb/udump
     
    ###########################################
    # File Configuration
    ###########################################
    control_files=("/opt/oracle/oradata/mydb/control01.ctl", "/opt/oracle/oradata/mydb/control02.ctl", "/opt/oracle/oradata/mydb/control03.ctl")
    db_recovery_file_dest=/opt/oracle/flash_recovery_area
    db_recovery_file_dest_size=2147483648
     
    ###########################################
    # Job Queues
    ###########################################
    job_queue_processes=10
     
    ###########################################
    # Miscellaneous
    ###########################################
    compatible=10.2.0.1.0
     
    ###########################################
    # Processes and Sessions
    ###########################################
    processes=150
     
    ###########################################
    # SGA Memory
    ###########################################
    sga_target=216006656
     
    ###########################################
    # Security and Auditing
    ###########################################
    audit_file_dest=/opt/oracle/admin/mydb/adump
    remote_login_passwordfile=EXCLUSIVE
     
    ###########################################
    # Shared Server
    ###########################################
    dispatchers="(PROTOCOL=TCP) (SERVICE=mydbXDB)"
     
    ###########################################
    # Sort, Hash Joins, Bitmap Indexes
    ###########################################
    pga_aggregate_target=71303168
     
    ###########################################
    # System Managed Undo and Rollback Segments
    ###########################################
    undo_management=AUTO
    undo_tablespace=UNDOTBS1
     
    [oracle@ocmserver pfile]$

    2、准备建库脚本文件

    [oracle@ocmserver jack]$ more createdb.sql 
    CREATE DATABASE "mydb"
    MAXINSTANCES 8
    MAXLOGHISTORY 1
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    DATAFILE '/opt/oracle/oradata/mydb/system01.dbf' SIZE 500M REUSE
    SYSAUX DATAFILE '/opt/oracle/oradata/mydb/sysaux01.dbf' SIZE 120M REUSE
    DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/opt/oracle/oradata/mydb/temp01.dbf' SIZE 200M REUSE
    UNDO TABLESPACE "UNDOTBS1" DATAFILE '/opt/oracle/oradata/mydb/undotbs01.dbf' SIZE 300M REUSE
    CHARACTER SET ZHS16GBK
    NATIONAL CHARACTER SET AL16UTF16
    LOGFILE GROUP 1 ('/opt/oracle/oradata/mydb/redo01.log') SIZE 512000K,
    GROUP 2 ('/opt/oracle/oradata/mydb/redo02.log') SIZE 512000K,
    GROUP 3 ('/opt/oracle/oradata/mydb/redo03.log') SIZE 512000K
    ;
    [oracle@ocmserver jack]$

    3、准备相关目录

    mkdir -p /opt/oracle/admin/mydb/adump
    mkdir -p /opt/oracle/admin/mydb/bdump
    mkdir -p /opt/oracle/admin/mydb/cdump
    mkdir -p /opt/oracle/admin/mydb/dpdump
    mkdir -p /opt/oracle/admin/mydb/udump
    mkdir -p /opt/oracle/admin/mydb/pfile
    mkdir -p /opt/oracle/oradata/mydb
    或者
    cd /opt/oracle/admin/mydb
    mkdir {a,b,c,d,u}dump
    mkdir pfile

    4、声明变量

    export ORACLE_SID=mydb
    echo $ORACLE_SID

    5、创建密码文件

    orapwd file=/opt/oracle/product/dbs/orapwmydb password=abc123

    6、登陆并启动数据库到nomount状态

    [oracle@ocmserver ~]$ export ORACLE_SID=mydb
    [oracle@ocmserver ~]$ sqlplus /nolog
    
    SQL*Plus: Release 10.2.0.1.0 - Production on Sun Jun 30 15:40:46 2013
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    SQL> conn /  as sysdba
    Connected to an idle instance.
    SQL> startup nomount pfile=/opt/oracle/admin/ocm/pfile/initmydb.ora
    
    ORACLE instance started.
    Total System Global Area  218103808 bytes
    Fixed Size            1218604 bytes
    Variable Size           71305172 bytes
    Database Buffers      142606336 bytes
    Redo Buffers            2973696 bytes
    SQL> 

    二、实验操作创建mydb

    1、调用建库脚本

    SQL> @ /opt/oracle/jack/createdb.sql
    
    Database created.
    
    SQL> 

    2、调用各种脚本创建视图等

    @/opt/oracle/product/rdbms/admin/catalog.sql;
    @/opt/oracle/product/rdbms/admin/catblock.sql;
    @/opt/oracle/product/rdbms/admin/catproc.sql;
    @/opt/oracle/product/rdbms/admin/catoctk.sql;
    @/opt/oracle/product/rdbms/admin/owminst.plb;
    @/opt/oracle/product/rdbms/admin/catclust.sql;

    3、执行pupbld.sql

    下面的脚本以system的身份登陆执行
    @?/sqlplus/admin/pupbld.sql;

    4、开启监听

    netca比较简单,不再复述。手动编辑需要找到模板文件为在/opt/oracle/product/network/admin/samples下

    [oracle@ocmserver samples]$ pwd
    /opt/oracle/product/network/admin/samples
    [oracle@ocmserver samples]$ ls -lh 
    total 40K
    -rw-r----- 1 oracle oinstall 3.8K Sep  9  1997 listener.ora
    -rw-r----- 1 oracle oinstall  31K Sep  9  2003 sqlnet.ora
    -rw-r----- 1 oracle oinstall 2.9K May 16  2000 tnsnames.ora
    [oracle@ocmserver samples]$ 

    其中,listener.ora文件内容如下:

    [oracle@ocmserver samples]$ more listener.ora 
    # copyright (c) 1997 by the Oracle Corporation
    # 
    # NAME
    #   listener.ora
    # FUNCTION
    #   Network Listener startup parameter file example
    # NOTES
    #   This file contains all the parameters for listener.ora,
    #   and could be used to configure the listener by uncommenting
    #   and changing values.  Multiple listeners can be configured
    #   in one listener.ora, so listener.ora parameters take the form
    #   of SID_LIST_<lsnr>, where <lsnr> is the name of the listener
    #   this parameter refers to.  All parameters and values are
    #   case-insensitive.
    
    # <lsnr>
    #   This parameter specifies both the name of the listener, and
    #   it listening address(es). Other parameters for this listener
    #   us this name in place of <lsnr>.  When not specified,
    #   the name for <lsnr> defaults to "LISTENER", with the default
    #   address value as shown below.
    #
    # LISTENER =
    #  (ADDRESS_LIST=
    #    (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))
    #    (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)))    
    
    # SID_LIST_<lsnr>
    #   List of services the listener knows about and can connect 
    #   clients to.  There is no default.  See the Net8 Administrator's
    #   Guide for more information.
    #
    # SID_LIST_LISTENER=
    #   (SID_LIST=
    #    (SID_DESC=
    #            #BEQUEATH CONFIG
    #          (GLOBAL_DBNAME=salesdb.mycompany)
    #          (SID_NAME=sid1)            
    #          (ORACLE_HOME=/private/app/oracle/product/8.0.3)
    #            #PRESPAWN CONFIG
    #         (PRESPAWN_MAX=20)
    #      (PRESPAWN_LIST=
    #           (PRESPAWN_DESC=(PROTOCOL=tcp)(POOL_SIZE=2)(TIMEOUT=1))
    #         )
    #        )
    #       )
        
    # PASSWORDS_<lsnr>
    #   Specifies a password to authenticate stopping the listener.
    #   Both encrypted and plain-text values can be set.  Encrypted passwords
    #   can be set and stored using lsnrctl.  
    #     LSNRCTL> change_password
    #       Will prompt for old and new passwords, and use encryption both
    #       to match the old password and to set the new one.
    #     LSNRCTL> set password
    #    Will prompt for the new password, for authentication with 
    #       the listener. The password must be set before running the next
    #       command.
    #     LSNRCTL> save_config
    #       Will save the changed password to listener.ora. These last two
    #       steps are not necessary if SAVE_CONFIG_ON_STOP_<lsnr> is ON.
    #       See below.
    #
    # Default: NONE
    #
    # PASSWORDS_LISTENER = 20A22647832FB454      # "foobar"
    
    # SAVE_CONFIG_ON_STOP_<lsnr>
    #   Tells the listener to save configuration changes to listener.ora when
    #   it shuts down.  Changed parameter values will be written to the file,
    #   while preserving formatting and comments.
    # Default: OFF
    # Values: ON/OFF
    #
    # SAVE_CONFIG_ON_STOP_LISTENER = ON
    
    # USE_PLUG_AND_PLAY_<lsnr>
    #   Tells the listener to contact an Onames server and register itself
    #   and its services with Onames.
    # Values: ON/OFF
    # Default: OFF
    #
    # USE_PLUG_AND_PLAY_LISTENER = ON
    
    # LOG_FILE_<lsnr>
    #   Sets the name of the listener's log file.  The .log extension
    #   is added automatically.
    # Default=<lsnr>
    #
    # LOG_FILE_LISTENER = lsnr
    
    # LOG_DIRECTORY_<lsnr>
    #   Sets the directory for the listener's log file.
    # Default: <oracle_home>/network/log
    #
    # LOG_DIRECTORY_LISTENER = /private/app/oracle/product/8.0.3/network/log
    
    # TRACE_LEVEL_<lsnr>
    #   Specifies desired tracing level.
    # Default: OFF
    # Values: OFF/USER/ADMIN/SUPPORT/0-16
    #
    # TRACE_LEVEL_LISTENER = SUPPORT
    
    # TRACE_FILE_<lsnr>
    #   Sets the name of the listener's trace file. The .trc extension
    #   is added automatically.
    # Default: <lsnr>
    #
    # TRACE_FILE_LISTENER = lsnr
    
    # TRACE_DIRECTORY_<lsnr>
    #   Sets the directory for the listener's trace file.
    # Default: <oracle_home>/network/trace
    #
    # TRACE_DIRECTORY_LISTENER=/private/app/oracle/product/8.0.3/network/trace
    # CONNECT_TIMEOUT_<lsnr>
    #   Sets the number of seconds that the listener waits to get a 
    #   valid database query after it has been started.
    # Default: 10
    #
    # CONNECT_TIMEOUT_LISTENER=10
    
    [oracle@ocmserver samples]$ 

    其中sqlnet.ora文件

    [oracle@ocmserver samples]$ more sqlnet.ora
    # Copyright (c) 1996, 2003, Oracle Corporation.  All rights reserved.  
    # 
    # NAME
    #   sqlnet.ora
    # FUNCTION
    #   Oracle Network Client startup parameter file example
    # NOTES
    #   This file contains examples and instructions for defining all
    #   Oracle Network Client parameters. It should be possible to read
    #   this file and setup a Client by uncommenting parameter definitions
    #   and substituting values. The comments should provide enough
    #   explanation to enable a reasonable user to manage his TNS connections
    #   without having to resort to 'real' documentation.
    # SECTIONS
    #   ONames Client
    #   Namesctl
    #   Native Naming Adpaters
    #   ...
    # MODIFIED
    #    ajacobs    09/09/03 - Fix wallet_location parameter 
    #    ajacobs    01/20/03 - CyberSafe desupport
    #    ajacobs    09/17/02 - remove crypto_seed
    #    cozhang    03/07/02 - Change connect_time to inbound_connect_time.
    #    mhho       01/15/02 - update sample with new parameter changes
    #    cozhang    12/04/01 - Add params for DoS timout handling
    #    ajacobs    10/23/00 - Remove identix, securid
    #    ajacobs    09/07/00 - Update for Oracle Advanced Security encryption/integ
    #    tclarke    05/26/00 - bug 515765
    #    jtran      03/24/98 - add radius configuration
    #    skanjila   06/06/97 - Correct default for Automatic_IPC
    #    eminer     05/15/97 - Add the relevant onrsd parameters.
    #    asriniva   04/23/97 - Merge with version from doc
    #    ggilchri   03/31/97 - mods
    #    bvasudev   02/07/97 - Change sqlnet.authentication_services documentation
    #    bvasudev   11/25/96 - Merge sqlnet.ora transport related parameters
    #    asriniva   11/12/96 - Revise with new OSS parameters.
    #    asriniva   11/05/96 - Add ANO parameters.
    # ____________________________________________________________________
    
    # - ONames Client ----------------------------------------------------
    #
    #names.default_domain = world
    #
    #Syntax:  domain-name
    #Default: NULL
    #
    # Indicates the domain from which the client most often requests names. When
    # this parameter is set the default domain name (for example, US.ACME), the
    # domain name will be automatically appended to any unqualified name in an
    # ONAmes request (query, register, deregister, etc). Any name which contains
    # an unescaped dot ('.') will not have the default domain appended. Simple
    # names may be qualified with a trailing dot (for example 'rootserver.').
    #
    #
    #names.initial_retry_timeout = 30
    #
    #Syntax:  1-600 seconds
    #Default: 15 (OSD)
    #
    # Determines how long a client will wait for a response from a Names Server
    # before reiterating the request to the next server in the preferred_servers
    # list.
    #
    #
    #names.max_open_connections = 3
    #
    #Syntax:  3-64
    #Default: ADDRS in preferred_servers
    #
    # Determines how many connections an ONames client may have open at one time.
    # Clients will ordinarily keep connections to servers open once they are
    # established until the operation (or session in namesctl) is complete. A
    # connection will be opened whenever needed, and if the maximum would be 
    # exceeded the least recently used connection will be closed.
    #
    #
    #names.message_pool_start_size = 10
    #
    #Syntax:  3-256
    #Default: 10
    #
    # Determines the initial number of messages allocated in the client's message
    # pool. This pool provides the client with pre-allocated messages to be used
    # for requests to ONames servers. Messages which are in the pool and unused
    # may be reused. If a message is needed and no free messages are available in
    # the pool more will be allocated.
    #
    #
    #names.preferred_servers = (address_list =
    #  (address=(protocol=ipc)(key=n23))
    #  (address=(protocol=tcp)(host=nineva)(port=1383))
    #  (address=(protocol=tcp)(host=cicada)(port=1575))
    # )
    #
    #Syntax:  ADDR_LIST
    #Default: Well-Known (OSD)
    #
    # Specifies a list of ONames servers in the client's region; requests will be
    # sent to each ADDRESS in the list until a response is recieved, or the list
    # (and number of retries) is exhausted.
    #
    # Addresses of the following form specify that messages to the ONames server
    # should use Oracle Remote Operations (RPC):
    #
    #     (description = 
    #       (address=(protocol=tcp)(host=nineva)(port=1383))
    #       (connect_data=(rpc=on))
    #     )
    #
    #
    #
    #names.request_retries = 2
    #
    #Syntax:  1-5
    #Default: 1
    #
    # Specifies the number of times the client should try each server in the list
    # of preferred_servers before allowing the operation to fail.
    #
    #
    #names.directory_path
    #
    #Syntax:  <adapter-name>
    #Default: TNSNAMES,ONAMES,HOSTNAME
    #
    # Sets the (ordered) list of naming adaptors to use in resolving a name.
    # The default is as shown for 3.0.2 of sqlnet onwards. The default was
    # (TNSNAMES, ONAMES) before that. The value can be presented without
    # parentheses if only a single entry is being specified. The parameter is
    # recognized from version 2.3.2 of sqlnet onward. Acceptable values include: 
    #  TNSNAMES -- tnsnames.ora lookup
    #  ONAMES   -- Oracle Names
    #  HOSTNAME -- use the hostname (or an alias of the hostname)
    #  NIS      -- NIS (also known as "yp")
    #  CDS      -- OSF DCE's Cell Directory Service
    #  NDS      -- Novell's Netware Directory Service
    #
    # - Client Cache (ONRSD) ---------------------------------------------
    #names.addresses = (ADDRESS=(PROTOCOL=IPC)(KEY=ONAMES))
    #
    #Syntax:  ADDR
    #Default: (ADDRESS=(PROTOCOL=IPC)(KEY=ONAMES))
    #
    # Address on which the client cache listens (is available to clients).
    # Any valid TNS address is allowed. The default should be used if at
    # all possible; clients have this entry hardwired as the first line
    # of their server-list file (sdns.ora). If the address is set to a
    # non-default value the client's preferred_servers parameter should
    # be set to include the client-cache address first.
    #
    #
    #names.authority_required = False
    #
    #Syntax:  T/F
    #Default: False
    #
    # Determines whether system querys (for the root etc) require Authoritative
    # answers. 
    #
    #
    #names.auto_refresh_expire = 259200
    #
    #Syntax:  Number of seconds, 60-1209600
    #Default: 259200
    #
    # This is the amount of time (in seconds) the server will cache the addresses
    # of servers listed in server-list file (sdns.ora). When this time expires the
    # server will issue another query to the servers in those regions to refresh
    # the data.
    #
    #
    #names.auto_refresh_retry = 180
    #
    #Syntax:  Number of seconds, 60-3600
    #Default: sec.    180
    #
    # This set how often the server will retry when the auto_refresh query fails.
    #
    #
    #names.cache_checkpoint_file = cache.ckp
    #
    #Syntax:  filename
    #Default: $ORACLE_HOME/network/names/ckpcch.ora
    #
    # Specifies the name of the operating system file to which the Names Server
    # writes its foreign data cache.
    #
    #
    #names.cache_checkpoint_interval = 7200
    #
    #Syntax:  Number of seconds, 10-259200
    #Default: 0 (off)
    #
    # Indicates the interval at which a Names Server writes a checkpoint of its
    # data cache to the checkpoint file. 
    #
    #
    #names.default_forwarders=
    # (FORWARDER_LIST=
    #    (FORWARDER=
    #       (NAME= rootserv1.world)
    #       (ADDRESS=(PROTOCOL=tcp)(PORT=42100)(HOST=roothost))))
    #
    #Syntax:  Name-Value/address_list
    #Default: NULL
    #
    # A list (in NV form) of the addresses of other servers which should be used to 
    # forward querys while in default_forwarder (slave) mode. NAME is the global
    # names for the server to which forwards whould be directed, and ADDRESS is its
    # address.
    #
    #
    #names.default_forwarders_only = True
    #
    #Syntax:  T/F
    #Default: False
    #
    # When set to true this server will use the servers listed in default_forwarders
    # to forward all operations which involve data in foreign regions. Otherwise it
    # will use the servers defined in the server-list file (sdns.ora) in addition
    # to any defined in the default_forwarders parameter.
    #
    #
    #names.log_directory = /oracle/network/log
    #
    #Syntax:  directory
    #Default: $ORACLE_HOME/network/log
    #
    # Indicates the name of the directory where the log file for Names Server
    # operational events are written.
    #
    #
    #names.log_file = names.log
    #
    #Syntax:  filename
    #Default: names.log
    #
    # The name of the output file to which Names Server operational events are
    # written.
    #
    #names.log_stats_interval = 3600
    #
    #Syntax:  Number of seconds, 10-ub4max
    #Default: sec.    0 (off)
    #
    #Specifies the number of seconds between statistical entries in log file. 
    #
    #names.log_unique = False
    #
    #Syntax:  T/F
    #Default: False
    #
    # If set to true the server will guarantee that the log file will have a unique
    # name which will not overwrite any existing files (note that log files are
    # appended to, so log information will not be lost if log_unique is not true).
    #
    #names.max_open_connections = 10
    #
    #Syntax:  3-64
    #Default: 10
    #
    # Specifies the number of connections that the Names Server can have open at any
    # given time. The value is generated as the value 10 or the sum of one
    # connection for listening, five for clients, plus one for each foreign domain
    # defined in the local administrative region, whichever is greater. Any
    # operation which requires the server to open a network connection will use
    # an already open connection if it is available, or will open a connection
    # if not. Higher settings will save time and cost network resources; lower
    # settings save network resources, cost time.
    #
    #
    #names.max_reforwards = 2
    #
    #Syntax:  1-15
    #Default: 2
    #
    # The maximum number of times the server will attempt to forward a certain
    # operation.
    #
    #
    #names.message_pool_start_size = 24
    #
    #Syntax:  3-256
    #Default: 10
    #
    # Determines the initial number of messages allocated in the server's message
    # pool. This pool provides the server with pre-allocated messages to be used
    # for incoming or outgoing messages (forwards). Messages which are in the pool
    # and unused may be reused. If a message is needed and no free messages are
    # available in the pool more will be allocated.
    #
    #
    #names.no_modify_requests = False
    #
    #Syntax:  T/F
    #Default: False
    #
    # If set to true, the server will refuse any operations which modify the
    # data in its region (it will still save foreign info in the cache which is 
    # returned from foreign querys).
    #
    #
    #names.password = 625926683431AA55
    #
    #Syntax:  encrypted string
    #Default: NULL
    #
    # If set the server will require that the user provide a password in his
    # namesctl session (either with sqlnet.ora:namesctl.server_password or 'set
    # password') in order to do 'sensitive' operations, like stop, restart, reload.
    # This parameter is generally set in encrypted form, so it can not be set
    # manually.
    #
    #names.reset_stats_interval = 3600
    #
    #Syntax:  10-ub4max
    #Default: 0 (off)
    #
    # Specifies the number of seconds during which the statistics collected by the
    # Names Servers should accumulate. At the frequency specified, they are reset
    # to zero. The default value of 0 means never reset statistics. 
    #
    #
    #names.trace_directory = /oracle/network/trace
    #
    #Syntax:  directory
    #Default: $ORACLE_HOME/network/trace
    #
    # Indicates the name of the directory to which trace files from a Names Server
    # trace session are written. 
    #
    #
    #names.trace_file = names.trc
    #
    #Syntax:  filename
    #Default: names.trc
    #
    # Indicates the name of the output file from a Names Server trace session.
    #
    #
    #names.trace_func # NA
    #
    #Syntax:  T/F
    #Default: False
    #
    # Internal mechanism to control tracing by function name.
    #
    #
    #names.trace_level = ADMIN
    #
    #Syntax:  T/F
    #Default: False
    #
    #Syntax:  {OFF,USER,ADMIN,0-16}
    #Default: OFF (0)
    #
    # Indicates the level at which the Names Server is to be traced.
    # Available Values:
    #    0 or OFF - No trace output
    #    4 or USER - User trace information
    #    10 or ADMIN - Administration trace information
    #    16 or SUPPORT - WorldWide Customer Support trace information
    #
    #
    #names.trace_mask = (200,201,202,203,205,206,207)
    #
    #Syntax:  list of numbers
    #Default: NULL
    #
    # Internal mechanism to control trace behavior. 
    #
    #
    #names.trace_unique = True
    #
    #Syntax:  T/F
    #Default: False
    #
    # Indicates whether each trace file has a unique name, allowing multiple trace
    # files to coexist. If the value is set to ON, a process identifier is appended
    # to the name of each trace file generated. 
    #
    #
    # - Namesctl ---------------------------------------------------------
    #
    #namesctl.trace_directory = /oracle/network/trace
    #
    #Syntax:  directory
    #Default: $ON/trace
    #
    # Indicates the name of the directory to which trace files from a namesctl
    # trace session are written. 
    #
    #
    #namesctl.trace_file = namesctl.trc
    #
    #Syntax:  filename
    #Default: namesctl.trc
    #
    # Indicates the name of the output file from a namesctl trace session.
    #
    #
    #namesctl.trace_func # NA
    #
    #Syntax:  word list
    #Default: NULL
    #
    # Internal mechanism to control tracing by function name.
    #
    #
    #namesctl.trace_level = ADMIN
    #
    #Syntax:  {OFF,USER,ADMIN,0-16}
    #Default: OFF (0)
    #
    # Indicates the level at which the namesctl is to be traced.
    # Available Values:
    #    0 or OFF - No trace output
    #    4 or USER - User trace information
    #    10 or ADMIN - Administration trace information
    #    16 or SUPPORT - WorldWide Customer Support trace information
    #
    #
    #namesctl.trace_mask # NA
    #
    #Syntax:  number list
    #Default: NULL
    #
    # Internal mechanism to control trace behavior. 
    #
    #
    #namesctl.trace_unique = True
    #
    #Syntax:  T/F
    #Default: False
    #
    # Indicates whether each trace file has a unique name, allowing multiple trace
    # files to coexist. If the value is set to ON, a process identifier is appended
    # to the name of each trace file generated. 
    # 
    #
    #namesctl.no_initial_server = False
    #
    #Syntax:  T/F
    #Default: False
    #
    # If set to TRUE namesctl will suppress any error messages when namesctl is
    # unable to connect to a default names server.
    #
    #
    #namesctl.internal_use = True
    #
    #Syntax:  T/F
    #Default: False
    #
    # If set to true namesctl will enable a set of internal undocumented commands.
    # All internal commands are preceded by an underscore ('_') in order to
    # distinguish them as internal. Without going into details, the commands
    # enabled are:
    #
    #     _add_data              _create_name           _delete_name           
    #     _full_status           _ireplace_data         _newttl_name           
    #     _pause                 _remove_data           _rename_name           
    #     _replace_data          _start                 _walk*                 
    #
    # There are also a set of names server variables which may be set when
    # namesctl is in internal mode:
    #
    #     _authority_required             _auto_refresh*                  
    #     _cache_checkpoint_interval      _cache_dump                     
    #     _default_autorefresh_expire     _default_autorefresh_retry      
    #     _default_forwarders_only        _forwarding_desired             
    #     _max_reforwards                 _modify_ops_enabled             
    #     _next_cache_checkpoint          _next_cache_flush               
    #     _next_stat_log                  _next_stat_reset                
    #     _reload                         _request_delay                  
    #     _restart                        _shutdown                       
    #
    #
    #namesctl.noconfirm = True
    #
    #Syntax:  T/F
    #Default: False
    #
    # When set to TRUE namesctl will suppress the confirmation prompt when 
    # sensitive operations (stop, restart, reload) are requested. This is
    # quite helpful when using namesctl scripts.
    #
    #
    #namesctl.server_password = mangler
    #
    #Syntax:  string
    #Default: NULL
    #
    # Automatically sets the password for the names server in order to perform
    # sensitive operations (stop, restart, reload). The password may also be
    # set manually during a namesctl session using 'set password'.
    #
    #
    #namesctl.internal_encrypt_password = False
    #
    #Syntax:  T/F
    #Default: True
    #
    # When set to TRUE namesctl will not encrypt the password when it is sent to
    # the names server. This would enable an unencrypted password to be set in
    # names.ora:names.server_password
    #
    # - Native Naming Adpaters -------------------------------------------
    #
    #names.dce.prefix = /.:/subsys/oracle/names
    #
    #Syntax:  DCE cell name
    #Default: /.:/subsys/oracle/names
    #
    #Specifies the DCE cell (prefix) to use for name lookup.
    #
    #
    #names.nds.name_context = personnel.acme
    #
    #Syntax:  NDS name
    #Default: (OSD?)
    #
    # Specifies the default NDS name context in which to look for the name to
    # be resolved.
    #
    #
    #names.nis.meta_map # NA
    #
    # Syntax:  filename
    # Default: sqlnet.maps
    #
    # Specifies the file to be used to map NIS attributes to an NIS mapname.
    # Currently unused.
    
    # - Oracle Advanced Security Authentication Adapters ----------------
    
    #sqlnet.authentication_services
    #
    # Syntax: A single value or a list from {beq, none, all, kerberos5,
    #      radius, nts}
    # Default: NONE
    #
    # Enables one or more authentication services.  If
    # Oracle Advanced Security has been installed with Kerberos5
    # support, using (beq, kerberos5) would enable authentication via
    # Kerberos.
    #
    #sqlnet.authentication_services=(beq, kerberos5)
     
    ##
    ## Parmeters used with Kerberos adapter.
    ##
    
    #sqlnet.kerberos5_cc_name
    #
    # Syntax: Any valid pathname.
    # Default: /tmp/krb5cc_<uid>
    #
    # The Kerberos credential cache pathname.
    #
    #sqlnet.kerberos5_cc_name=/tmp/mycc
    
    #sqlnet.kerberos5_clockskew
    #
    # Syntax: Any positive integer.
    # Default: 300
    #
    # The acceptable difference in the number of seconds between when a
    # credential was sent and when it was received.
    #
    #sqlnet.kerberos5_clockskew=600
    
    #sqlnet.kerberos5_conf
    #
    # Syntax: Any valid pathname.
    # Default: /krb5/krb.conf
    #
    # The Kerberos configuration pathname.
    #
    #sqlnet.kerberos5_conf=/tmp/mykrb.conf
    
    #sqlnet.kerberos5_realms
    #
    # Syntax: Any valid pathname
    # Default: /krb5/krb.realms
    #
    # The Kerberos host name to realm translation file.
    #
    #sqlnet.kerberos5_realms=/tmp/mykrb.realms
    
    #sqlnet.kerberos5_keytab
    #
    # Syntax: Any valid pathname.
    # Default: /etc/v5srvtab
    #
    # The Kerberos secret key file.
    #
    #sqlnet.kerberos5_keytab=/tmp/myv5srvtab
    
    #sqlnet.authentication_kerberos5_service
    #
    # Syntax: Any string.
    # Default: A default is not provided.
    #
    # The Kerberos service name.
    #
    #sqlnet.authentication_kerberos5_service=acme
    
    ##
    ## Parameters used with Radius adapter
    ##
     
    # Need to specify the location of the Radius server
    #sqlnet.radius_authentication = localhost
    
    # Need to specify the port address of the Radius server
    #sqlnet.radius_authentication_port = 1654
    
    # If your radius server support accounting, you can enable it
    #sqlnet.radius_accounting = off
    
    # Turn on/off challenge response
    #sqlnet.radius_challenge_response = off
    
    # Keyword to request a challenge from Radius server.  
    # If you use activcard, enter activcard
    
    # If you use something else, enter challenge
    #sqlnet.radius_challenge_keyword = challenge
    
    # Enter the name of the client interface you want to use for challenge response
    #sqlnet.radius_authentication_interface = DefaultRadiusInterface
    
    # Where is the secret file locate
    #sqlnet.radius_secret = $ORACLE_HOME/security/radius.key
     
    
    # - Oracle Advanced Security Network Security -------------------------
    
    #sqlnet.crypto_checksum_client 
    #sqlnet.crypto_checksum_server 
    #sqlnet.encryption_client 
    #sqlnet.encryption_server 
    #
    # These four parameters are used to specify whether a service (e.g. 
    # crypto-checksumming or encryption) should be active: 
    #
    # Each of the above parameters defaults to ACCEPTED.
    #
    # Each of the above parameters can have one of four possible values: 
    # 
    # value        meaning 
    #
    # ACCEPTED    The service will be active if the other side of the 
    #        connection specifies "REQUESTED" or REQUIRED" and 
    #        there is a compatible algorithm available on the other 
    #        side; it will be inactive otherwise. 
    #
    # REJECTED    The service must not be active, and the connection 
    #        will fail if the other side specifies "REQUIRED". 
    #
    # REQUESTED    The service will be active if the other side specifies 
    #        "ACCEPTED", "REQUESTED", or "REQUIRED" and there is a 
    #        compatible algorithm available on the other side; it 
    #        will be inactive otherwise. 
    #
    # REQUIRED    The service must be active, and the connection will 
    #        fail if the other side specifies "REJECTED" or if there 
    #        is no compatible algorithm on the other side. 
    #
    #sqlnet.crypto_checksum_types_client 
    #sqlnet.crypto_checksum_types_server 
    #sqlnet.encryption_types_client 
    #sqlnet.encryption_types_server 
    #
    # These parameters control which algorithms will be made available for 
    # each service on each end of a connection: 
    #
    # The value of each of these parameters can be either a parenthesized 
    # list of algorithm names separated by commas or a single algorithm 
    # name.
    #
    # Encryption types can be: AES256, RC4_256, AES192, 3DES168, AES128,
    #                          RC4_128,3DES112, RC4_56, DES, RC4_40, DES40
    #
    # Encryption defaults to all the algorithms.
    #
    # Crypto checksum types can be: SHA1, MD5
    #
    # Crypto checksum defaults to all the algorithms.
    #
    #sqlnet.crypto_checksum_server = required 
    #sqlnet.encryption_server = required
    #
    #
    #ssl_server_dn_match
    #
    # Systax: ON/OFF
    # Default: OFF
    #
    # The ssl_server_dn_match parameter determines SSL behavior when the
    # server's distinguished name does not match the service name. When
    # set to ON, the names must match for a connection to be established.
    # Leaving the parameter on OFF allows connection to servers where
    # the names do not match. However, this may potentially allow servers
    # to fake their identity.
    #
    #
    #ssl_client_authentication
    #
    # Syntax: TRUE/FALSE
    # Default: TRUE
    #
    # The ssl_client_authentication parameter controls whether the client 
    # is authenticated using SSL. This parameter should be set to FALSE if
    # using a cipher suite that contains Diffie-Hellman anonymous 
    # authentication (DH_anon) or if using other non-SSL authentication
    # methods.
    #
    #ssl_cipher_suites
    #
    # Syntax: (SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_RC4_128_SHA,
    #          SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_DES_CBC_SHA,
    #          SSL_DH_anon_WITH_3DES_EDE_CBC_SHA, SSL_DH_anon_WITH_RC4_128_MD5,
    #          SSL_DH_anon_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5,
    #          SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, 
    #          SSL_DH_anon_EXPORT_WITH_RC4_40_MD5, 
    #          SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA)
    # Default: All cipher suites enabled
    #
    # ssl_cipher_suites defines a list of cipher suites used to negotiate
    # an SSL connection in order of priority. The cipher suites selected for 
    # a server must be compatible with those required by the client.
    #
    #ssl_version
    #
    # Syntax: 0/2.0/3.0
    # Default: 0 (impiles 3.0)
    #
    # The ssl_version parameter defines the version of SSL that must
    # run on the systems with which the client communicates.
    #
    # - SSL ---------------------------------------------------------------------
    
    #my_wallet
    #
    # Syntax: A properly formatted NLNV list.
    # Default: Platform specific.  Unix: $HOME/oracle/oss
    #
    # The method for retrieving and storing my identity.  
    #
    #my_wallet
    #   =(source
    #       =(method=file)
    #        (method_data=/dve/asriniva/oss/wallet)
    #     ) 
    
    # - Sqlnet(v2.x) and Net3.0 Client ------------------------------------------
    
    #
    # In the following descriptions, the term "client program" could mean 
    # either sqlplus, svrmgrl or any other OCI programs written by users
    # 
    ###########################
    #trace_level_client = ADMIN
    ###########################
    #
    #Possible values: {OFF,USER,ADMIN,0-16}
    #Default:         OFF (0)
    #
    #Purpose: Indicates the level at which the client program 
    #         is to be traced. 
    # Available Values:
    #       0 or OFF - No Trace output
    #    4 or USER - User trace information
    #     10 or ADMIN - Administration trace information
    #    16 or SUPPORT - Worldwide Customer Support trace information
    #
    #Supported since:  v2.0
    #
    ###############################################
    #trace_directory_client = /oracle/network/trace
    ###############################################
    #
    #Possible values: Any valid directory path with write permission
    #Default: $ORACLE_HOME/network/trace  ($ORACLE_HOME=/oracle at customer 
    #         site)
    #
    #Purpose: Indicates the name of the directory to which trace files from 
    #         the client execution are written.
    #
    #Supported since: v2.0
    #
    ###################################################
    #trace_file_client =  /oracle/network/trace/cli.trc
    ###################################################
    #
    #Possible values: Any valid file name 
    #Default:      $ORACLE_HOME/network/trace/cli.trc ($ORACLE_HOME = 
    #          /oracle at customer site)
    #
    #Purpose: Indicates the name of the file to which the execution trace 
    #         of the client is written to. 
    #
    #Supported since: v2.0
    #
    ###########################
    #trace_unique_client = ON
    ###########################
    #
    #Possible values: {ON, OFF}
    #Default: OFF
    #
    #Purpose: Used to make each client trace file have a unique name to 
    #      prevent each trace file from being overwritten by successive 
    #      runs of the client program
    #
    #Supported since: v2.0
    #
    ###########################################
    #log_directory_client = /oracle/network/log
    ###########################################
    #
    #Possible values: Any valid directory pathname
    #Default: $ORACLE_HOME/network/log  ($ORACLE_HOME = /oracle at customer
    #      site)
    #
    #Purpose: Indicates the name of the directory to which the client log file
    #      is written to.
    #
    #
    #Supported since: v2.0
    #
    ################
    #log_file_client = /oracle/network/log/sqlnet.log
    ################
    #
    #Possible values: This is a default value, u cannot change this
    #Default: $ORACLE_HOME/network/log/sqlnet.log  ($ORACLE_HOME=/oracle in 
    #         customer site)
    #
    #Purpose: Indicates the name of the log file from a client program
    #
    #Supported since: v2.0
    #
    #############################################
    #log_directory_server = /oracle/network/trace
    #############################################
    #
    #Possible values: Any valid diretcory path with write permission
    #Default: $ORACLE_HOME/network/trace ( $ORACLE_HOME=/oracle at customer 
    #      site)
    #
    #Purpose: Indicates the name of the directory to which log files from the 
    #       server are written
    #
    #Supported since:  v2.0
    #
    ###############################################
    #trace_directory_server = /oracle/network/trace
    ###############################################
    #
    #Possible values: Any valid directory path with write permission
    #Default: $ORACLE_HOME/network_trace ( $ORACLE_HOME=/oracle at customer 
    #      site)
    #
    #Purpose: Indicates the name of the directory to which trace files from 
    #         the server are written 
    #
    #Supported since:  v2.0
    #
    #######################################################
    #trace_file_server = /orace/network/trace/svr_<pid>.trc
    #######################################################
    #
    #Possible values: Any valid filename
    #Default: $ORACLE_HOME/network/trace/svr_<pid>.trc where <pid? stands for 
    #         the process id of the server on UNIX systems 
    #
    #Purpose: Indicates the name of the file to which the execution trace of 
    #         the server program is written to. 
    #
    #Supported since: v2.0
    #
    ###########################
    #trace_level_server = ADMIN
    ###########################
    #
    #Possible values: {OFF,USER,ADMIN,0-16}
    #Default:         OFF (0)
    #
    #Purpose: Indicates the level at which the server program
    #         is to be traced.
    # Available Values:
    #       0 or OFF - No Trace output
    #       4 or USER - User trace information
    #       10 or ADMIN - Administration trace information
    #       16 or SUPPORT - Worldwide Customer Support trace information
    #
    #Supported since: v2.0
    #
    ##########################
    #use_dedicated_server = ON
    ##########################
    #
    #Possible values: {OFF,ON}
    #Default:       OFF
    #
    #Purpose: Forces the listener to spawn a dedicated server process for 
    #      sessions from this client program. 
    #
    #Supported since: v2.0
    #
    ################
    #use_cman = TRUE
    ################
    #
    #Possible values: {TRUE, FALSE}
    #Default:      FALSE
    #
    #Purpose: 
    #
    #Supported since: v3.0
    #
    ################################################
    #tnsping.trace_directory = /oracle/network/trace
    ################################################
    #
    #Possible values: Any valid directory pathname
    #Default: $ORACLE_HOME/network/trace ($ORACLE_HOME=/oracle at customer 
    #      site)
    #
    #Purpose: Indicates the directory to which the execution trace from
    #      the tnsping program is to be written to.
    #
    #Supported since: v2.0
    #
    ############################
    #tnsping.trace_level = ADMIN    
    ############################
    #
    #Possible values: {OFF,USER,ADMIN,0-16}
    #Default:         OFF (0)
    #
    #Purpose: Indicates the level at which the server program
    #         is to be traced.
    # Available Values:
    #       0 or OFF - No Trace output
    #       4 or USER - User trace information
    #       10 or ADMIN - Administration trace information
    #       16 or SUPPORT - Worldwide Customer Support trace information
    #
    #
    #Supported since: v2.0
    #
    ########################
    #sqlnet.expire_time = 10
    ########################
    #
    #Possible values: 0-any valid positive integer! (in minutes)
    #Default: 0 minutes 
    #Recommended value: 10 minutes
    #
    #Purpose: Indicates the time interval to send a probe to verify the 
    #      client session is alive (this is used to reclaim watseful 
    #      resources on a dead client)
    #
    #Supported since: v2.1
    #
    #######################################
    #sqlnet.client_registration = <unique_id>
    #######################################
    #
    #Possible values: 
    #Default:     OFF 
    #
    #Purpose: Sets a unique identifier for the client machine. This 
    #      identifier is then passed to the listener with any connection 
    #      request and will be included in the Audit Trail. The identifier 
    #      can be any alphanumeric string up to 128 characters long.
    #
    #Supported since: v2.3.2
    #
    ######################
    #bequeath_detach = YES
    ######################
    #
    #Possible values: {YES,NO}
    #Default:         NO
    #
    #Purpose: Turns off signal handling on UNIX systems. If signal handling 
    #      were not turned off and if client programs written by users make 
    #      use of signal handling they could interfere with Sqlnet/Net3. 
    #
    #Supported since: v2.3.3 
    #
    ####################
    #automatic_ipc = OFF
    ####################
    #
    #Possible values: {ON,OFF}
    #Default: OFF
    #
    #Purpose: Force a session to use or not to use IPC addresses on the 
    #      client's node. 
    #
    #Supported since: v2.0
    #
    ####################
    #disable_oob = ON
    ####################
    #
    #Possible values: {ON,OFF}
    #Default: OFF
    #
    #Purpose: If the underlying transport protocol (TCP, DECnet,...) does
    #         not support Out-of-band breaks, then disable out-of-band
    #      breaks
    #
    #Supported since: v2.0
    #
    ####################
    #sqlnet.inbound_connect_timeout = 3
    ########################
    #
    #Possible values: 0-any valid positive integer (in seconds)
    #Default: 0
    #Recommended value: 3 seconds (note: this is highly application dependent)
    #
    #Purpose: Indicates the time interval within which database authentication
    #         for a client must be completed. If the client fails to complete
    #         authentication within the given time period, then the database
    #         server will drop the client connection. This can be used to
    #         counter Denial of Service attacks in which malicious clients may
    #         cause numerous servers to be spawn without fully establishing DB
    #         sessions.
    #
    #         A value of 0 turns off the timeout feature. If a spurious
    #         timeout error occurs (e.g. due to a slow network/system),
    #         reconfigure this parameter to a larger value.
    #
    #Supported since: v9.2
    #

    其中tnsnames.ora

    [oracle@ocmserver samples]$ more tnsnames.ora 
    # This file contains the syntax information for 
    # the entries to be put in any tnsnames.ora file
    # The entries in this file are need based. 
    # There are no defaults for entries in this file
    # that Sqlnet/Net3 use that need to be overridden 
    #
    # Typically you could have two tnsnames.ora files
    # in the system, one that is set for the entire system
    # and is called the system tnsnames.ora file, and a
    # second file that is used by each user locally so that
    # he can override the definitions dictated by the system
    # tnsnames.ora file.
    
    # The entries in tnsnames.ora are an alternative to using
    # the names server with the onames adapter.
    # They are a collection of aliases for the addresses that 
    # the listener(s) is(are) listening for a database or 
    # several databases.
    
    # The following is the general syntax for any entry in 
    # a tnsnames.ora file. There could be several such entries 
    # tailored to the user's needs.
    
    <alias>= [ (DESCRIPTION_LIST =  # Optional depending on whether u have 
                    # one or more descriptions
                    # If there is just one description, unnecessary ]
          (DESCRIPTION=
            [ (SDU=2048) ]    # Optional, defaults to 2048
                    # Can take values between 512 and 32K
            [ (ADDRESS_LIST=    # Optional depending on whether u have
                    # one or more addresses
                    # If there is just one address, unnecessary ]
              (ADDRESS=
            [ (COMMUNITY=<community_name>) ] 
            (PROTOCOL=tcp)
            (HOST=<hostname>)
            (PORT=<portnumber (1521 is a standard port used)>)
              )
              [ (ADDRESS=
              (PROTOCOL=ipc)
              (KEY=<ipckey (PNPKEY is a standard key used)>)    
            )
              ]
              [ (ADDRESS=
              [ (COMMUNITY=<community_name>) ]
              (PROTOCOL=decnet)
              (NODE=<nodename>)
              (OBJECT=<objectname>)
            )
              ]
                  ... # More addresses
            [ ) ] # Optional depending on whether ADDRESS_LIST is used or not 
            [ (CONNECT_DATA=
            (SID=<oracle_sid>)
            [ (GLOBAL_NAME=<global_database_name>) ]
              )
            ]
            [ (SOURCE_ROUTE=yes) ]  
          )
          (DESCRIPTION=     
            [ (SDU=2048) ]    # Optional, defaults to 2048
                    # Can take values between 512 and 32K
            [ (ADDRESS_LIST= ]    # Optional depending on whether u have more
                    # than one address or not
                    # If there is just one address, unnecessary
              (ADDRESS
            [ (COMMUNITY=<community_name>) ]
            (PROTOCOL=tcp)
            (HOST=<hostname>)
            (PORT=<portnumber (1521 is a standard port used)>)
              )
              [ (ADDRESS=
              (PROTOCOL=ipc)
              (KEY=<ipckey (PNPKEY is a standard key used)>)
                 )
              ]
              ...         # More addresses
            [ ) ]         # Optional depending on whether ADDRESS_LIST  
                    # is being used
            [ (CONNECT_DATA=
            (SID=<oracle_sid>)
            [ (GLOBAL_NAME=<global_database_name>) ]
              )
            ]
            [ (SOURCE_ROUTE=yes) ]
          )
          [ (CONNECT_DATA=
              (SID=<oracle_sid>)
              [ (GLOBAL_NAME=<global_database_name>) ]
            )
          ]
          ...   # More descriptions 
        [ ) ]    # Optional depending on whether DESCRIPTION_LIST is used or not
    [oracle@ocmserver samples]$

    5、建立spfile参数文件

    SQL> select status from v$instance;
    STATUS
    ------------
    OPEN
    
    SQL> show parameter spfile;
    NAME                     TYPE     VALUE
    ------------------------------------ ----------- ------------------------------
    spfile                     string
    
    SQL> create spfile from pfile='/opt/oracle/admin/ocm/pfile/initmydb.ora';
    File created.
    SQL> 

    三、小结

    手动建库看起来比较麻烦,但其实步骤理解情况了还是比较简单的。大体步骤有如下需要准备和理解:

    1. 确定新建数据库名称和实例名称;
    2. 确定数据库管理员的认证方式;
    3. 创建初始化参数文件;
    4. 创建实例;
    5. 连接并启动实例;
    6. 使用create database语句创建数据库;
    7. 创建附加的表空间;
    8. 运行脚本创建数据字典视图;
    9. 创建spfile
    10. 备份控制文件,参数文件等

    理解好相关concept后,再来慢慢做实验,就比较易于理解了。

  • 相关阅读:
    【题解】Luogu P4391 [BOI2009]Radio Transmission 无线传输
    kmp匹配详解
    点分治详解
    【题解】Luogu P3871 [TJOI2010]中位数
    树链剖分详解
    【题解】Luogu P3901 数列找不同
    【题解】Luogu P1503 鬼子进村
    【题解】 P2234 [HNOI2002]营业额统计
    Splay详解
    JSOI2020备考知识点复习
  • 原文地址:https://www.cnblogs.com/alexy/p/createdb1.html
Copyright © 2020-2023  润新知