如何手工创建(Create)一个Oracle 10g数据库


使用惯了dbca,差点忘记了如何手工创建数据库,今天被逼无奈,又用命令行创建了一次数据库。

记录一下过程。
1.首先要有一个参数文件,这个我利用了历史的参数文件

[oracle@dbstatsvr dbstat]$ sqlplus "/ as sysdba"

SQL*Plus: Release 10.2.0.2.0 - Production on Thu Sep 17 18:21:20 2009

Copyright (c) 1982, 2005, Oracle.  All Rights Reserved.

Connected to an idle instance.

SQL> startup nomount;
ORACLE instance started.

Total System Global Area 1778384896 bytes
Fixed Size                  1261332 bytes
Variable Size             301990124 bytes
Database Buffers         1459617792 bytes
Redo Buffers               15515648 bytes


2.创建脚本,参考其他数据库,编写一个

SQL> create database dbstat
  2    logfile   group 1 ('/data1/dbstat/redo1.log') size 50M,
  3              group 2 ('/data1/dbstat/redo2.log') size 50M,
  4              group 3 ('/data1/dbstat/redo3.log') size 50M
  5    character set          ZHS16GBK
  6    national character set utf8
  7    datafile '/data1/dbstat/system.dbf'
  8              size 500M  autoextend on  next 10M maxsize unlimited extent management local
 12    sysaux datafile '/data1/dbstat/sysaux.dbf'
 13              size 500M autoextend on  next 10M  maxsize unlimited
 17    undo tablespace undotbs1
 18              datafile '/data1/dbstat/undo.dbf'  size 100M
 20    default temporary tablespace temp
 21              tempfile '/data1/dbstat/temp.dbf' size 100M;

Database created.

3.在后台跑一跑其他脚本:

[oracle@dbstatsvr dbstat]$ nohup sqlplus "/ as sysdba" @?/rdbms/admin/catalog.sql &
[1] 5399
[oracle@dbstatsvr dbstat]$ nohup: appending output to `nohup.out'

[oracle@dbstatsvr dbstat]$

[1]+  Stopped                 nohup sqlplus "/ as sysdba" @?/rdbms/admin/catalog.sql
[oracle@dbstatsvr dbstat]$
[oracle@dbstatsvr dbstat]$ nohup sqlplus "/ as sysdba" @?/rdbms/admin/catproc.sql &
[2] 5402
[oracle@dbstatsvr dbstat]$ nohup: appending output to `nohup.out'


这样就基本上有了一个数据库的雏形了。

4.还有一个脚本要运行
这是数据库用普通用户登录会出现一个错误,提示以SYSTEM运行PUPBLD.SQL脚本:

SQL> connect sms/sms
Error accessing PRODUCT_USER_PROFILE
Warning:  Product user profile information not loaded!
You may need to run PUPBLD.SQL as SYSTEM
Connected.

这个脚本会创建一个表,用于限制用户执行某些特定的SQL*PLUS命令:

SQL> @?/sqlplus/admin/pupbld.sql
DROP SYNONYM PRODUCT_USER_PROFILE
             *
ERROR at line 1:
ORA-01434: private synonym to be dropped does not exist

  DATE_VALUE FROM PRODUCT_USER_PROFILE
                  *
ERROR at line 3:
ORA-00942: table or view does not exist

DROP TABLE PRODUCT_USER_PROFILE
           *
ERROR at line 1:
ORA-00942: table or view does not exist

ALTER TABLE SQLPLUS_PRODUCT_PROFILE ADD (LONG_VALUE LONG)
*
ERROR at line 1:
ORA-00942: table or view does not exist

Table created.

DROP TABLE PRODUCT_PROFILE
           *
ERROR at line 1:
ORA-00942: table or view does not exist

DROP VIEW PRODUCT_PRIVS
*
ERROR at line 1:
ORA-00942: table or view does not exist

View created.

Grant succeeded.

DROP PUBLIC SYNONYM PRODUCT_PROFILE
                    *
ERROR at line 1:
ORA-01432: public synonym to be dropped does not exist

Synonym created.

DROP SYNONYM PRODUCT_USER_PROFILE
             *
ERROR at line 1:
ORA-01434: private synonym to be dropped does not exist

Synonym created.

DROP PUBLIC SYNONYM PRODUCT_USER_PROFILE
                    *
ERROR at line 1:
ORA-01432: public synonym to be dropped does not exist

Synonym created.

SQL> connect sms/sms
Connected.



相关阅读:
用函数简化你的字符串连接语句
模仿OSO的论坛(三)
原创]asp获取URL参数的几种方法分析总结" target="_blank">[原创]asp获取URL参数的几种方法分析总结
将MySQL 移植到Oracle ——第二部分
XHTML教程:针对初学者的XHTML基础
SQL高手篇:精典SQLFAQ收藏
win7下如何删除多余选项的右键新建菜单项
终端下vim汉字显示不正常的解决办法
Firefox 3.0版挑战IE 浏览器大战在即
安全配置IIS防止数据库下载
FreeBSD下也有“看门人”--浅谈tcpwrapper的基本使用方法
EasyTools分页控件详解
html超级链接标记A的TARGET属性详解
javascript innerHTML使用分析
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4