您的位置:首页 > 数据库 > Oracle

oracle10g 手动创建数据详解(linux)下

2013-02-21 09:43 375 查看
  本文紧跟上篇内容。

  《oracle10g 手动创建数据详解(linux)上》

http://www.cnblogs.com/fnng/archive/2012/07/19/2600167.html

  考虑篇幅过长不易于阅读,所以分个上下两节来进行。这一节中重点解决上一节中第四步与第九步的难题。


设置参数文件与创建数据库命令

  如何获得一个的参数文件pfile 呢?
1、问oracle高手,这显然不现实,如果有高手在你身边,你就没必要看本文了,
2、从别处数据库拷贝一份过来,这显然也不太现实。
3、从自己本机的其它数据库拷贝,所以,你在做手动创建之前,先通过向导的方式创建一个数据库。

我本机的只有一个spfile文件(以前自动创建数据库时生成的)。

[ora10@localhost dbs]$ pwd
/ora10/product/10.2.0/db_1/dbs
[ora10@localhost dbs]$ ll
-rwxr--r-- 1 ora10 dba 88 07-18 00:11 chongshi.env
-rw-r----- 1 ora10 dba 3584 07-17 22:00 spfileora10.ora

.............
通过下面名命令,把我的spfile文件复制重命名一份
[ora10@localhost dbs]$ strings spfileora10.ora > initchongshi.ora
[ora10@localhost dbs]$ vi initchongshi.ora 编辑文件

chongshi.__db_cache_size=125829120

chongshi.__java_pool_size=4194304

chongshi.__large_pool_size=4194304

chongshi.__shared_pool_size=67108864

chongshi.__streams_pool_size=0

*.audit_file_dest='/ora10/product/admin/chongshi/adump'

*.background_dump_dest='/ora10/product/admin/chongshi/bdump'

*.compatible='10.2.0.1.0'

*.control_files='/ora10/product/oradata/chongshi/control01.ctl','/ora10/product/oradata/chongshi/control02.ctl','/ora10/product/oradata/chongshi/control03.ctl'

*.core_dump_dest='/ora10/product/admin/chongshi/cdump'

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_name='ora10'

*.db_recovery_file_dest='/ora10/product/flash_recovery_area'

*.db_recovery_file_dest_size=2147483648

*.dispatchers='(PROTOCOL=TCP) (SERVICE=chongshiXDB)'

*.fast_start_mttr_target=250

*.job_queue_processes=10

*.nls_language='SIMPLIFIED CHINESE'

*.nls_territory='CHINA'

*.open_cursors=300

*.pga_aggregate_target=68157440

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sga_target=205520896

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS1'

*.user_dump_dest='/ora10/product/admin/chongshi/udump'


新手一定稿不懂这些参数,没关系。把ora10 替换成chongshi就行。(命令模式下)
:%s/ora10/chongshi/g

创建目录
我本机存在的一个数据库的存放位置。
[ora10@localhost ora10]$ pwd
/ora10/product/oradata/ora10
因为我们pfile参数文件的配置都参照以前修改的,所以,我们在创建目录结果时,也应该与之前目录结果保持一致。
---------------------创建之后新数据库目录之后的目录--------------------
ora10

  |--product

    |--admin

      |--ora10

        adump bdump cdump dpdump pfile udump

      |--chongshi

        adump bdump cdump dpdump pfile udump ----把这几个目录下的内容清空

    |--oradate

      |--ora10

  |--chongshi ----这个目录下的内容也要清空

    |--10.2.0

      |--db_1

        |--dbs

           spfileora10.ora  init.ora  orapwora10 .....

--------------------------------------------------------------------------------
[ora10@localhost oradata]$ pwd
/ora10/product/oradata

[ora10@localhost oradata]$ mkdir chongshi 创建数据库文件夹
[ora10@localhost oradata]$ ls

chongshi ora10


[ora10@localhost admin]$ pwd
/ora10/product/admin
[ora10@localhost admin]$ cp -R ora10/ chongshi 拷贝ora10目录重命名chongshi
[ora10@localhost chongshi]$ cd chognshi 进入目录
[ora10@localhost chongshi]$ ls
adump bdump cdump dpdump pfile udump
进入上面几个目录,把这些目录下的所有文件都删除。rm -f * 命令 清空目录下的所有文件。现在我们已经在admin 和oradata两个目录下分别创建好了目录。

创建数据库命令文件
  创建数据库命令很复杂,写的时候容易写错。我们先把它写到一个文件里,然后进行调用。
[ora10@localhost dbs]$ pwd
/ora10/product/10.2.0/db_1/dbs
[ora10@localhost dbs]$ touch crdb01.sql
[ora10@localhost dbs]$ vi crdb01.sql


spool dbcreate.log;

CREATE DATABASE "chongshi"
        MAXDATAFILES  500
        MAXINSTANCES  8
        MAXLOGFILES   32
        CHARACTER SET "UTF8"
        NATIONAL  CHARACTER SET AL16UTF16
        ARCHIVELOG
        DATAFILE
          '/ora10/product/oradata/chongshi/system01.dbf'  SIZE  300M
        SYSAUX DATAFILE
          '/ora10/product/oradata/chongshi/sysaux01.dbf'  SIZE  120M
        EXTENT MANAGEMENT LOCAL
        DEFAULT TEMPORARY TABLESPACE temp TEMPFILE '/ora10/product/oradata/chongshi/tempts01.dbf' SIZE 100M  EXTENT MANAGEMENT LOCAL
        UNDO TABLESPACE "UNDOTBS1"
        DATAFILE '/ora10/product/oradata/chongshi/undotbs01.dbf' SIZE 200M
        LOGFILE
     GROUP 1(
        '/ora10/product/oradata/chongshi/redo01a.rdo',
        '/ora10/product/oradata/chongshi/redo01b.rdo'
        ) SIZE  100M,

    GROUP 2(
      '/ora10/product/oradata/chongshi/redo02a.rdo',
      '/ora10/product/oradata/chongshi/redo02b.rdo'
    ) SIZE 100M,
    GROUP 3(
    '/ora10/product/oradata/chongshi/redo03a.rdo',
    '/ora10/product/oradata/chongshi/redo03b.rdo'
    ) SIZE 100M
;

spool off


上面内容不算复杂,我通过vi手动将上面内容输入,确实是个很痛苦的过程。在写入的时候一定要注意是否与你本机与建的目录保持一致。以免脚本运行不成功。



手动创建一个的数据库



  现在,我们已经把前期工作准备好。下面就来创建一个比较像样的数据库。
再把上面的步骤来个遍,这个步骤也就是我上一节中,第一步到第九步的过程。前期工作做好过,你会发现这个过程是如此的简单。呵呵

[ora10@localhost dbs]$ . ./chongshi.env 修改环境变量
[ora10@localhost dbs]$ env | grep ORA 查看本机环境
ORACLE_SID=chongshi
ORACLE_BASE=/ora10/product
ORACLE_HOME=/ora10/product/10.2.0/db_1
[ora10@localhost dbs]$ sqlplus /nolog 无用户进入数据库
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jul 19 20:52:59 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL> conn /as sysdba 连接数据库
Connected to an idle instance.

SQL> create spfile from pfile; 通过pfile文件生成spfile文件
File created.
SQL> startup nomount; 启动数据库
ORACLE instance started.

Total System Global Area 205520896 bytes
Fixed Size 1218532 bytes
Variable Size 75499548 bytes
Database Buffers 125829120 bytes
Redo Buffers 2973696 bytes

SQL> @/ora10/product/10.2.0/db_1/dbs/crdb01.sql; 调用创建数据库命令文件

Database created. ----经过等待后数据库创建成功!


没完,还有两步呢!

第十步,创建用户文件

SQL> create tablespace mytbs datafile '/ora10/product/oradata/chongshi/chongshimytbs01.dbf' SIZE 100M extent management local;

Tablespace created.



第十一步,创建数据字典

SQL> /ora10/product/10.2.0/db_1/rdbms/admin/catalog.sql;

SQL> /ora10/product/10.2.0/db_1/rdbms/admin/catproc.sql;

SQL> /ora10/product/10.2.0/db_1/rdbms/admin/pupbld.sql;
这三个sql文件是必须执行。也有可先项catblock.sql;catoctk.sql;owminst.plb;catclust.sql;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: