`
javajeye
  • 浏览: 62452 次
  • 性别: Icon_minigender_2
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论
  • docong: 这根本不是lazy initial 的问题,而是你没有覆盖Th ...
    ThreadLocal

在LINUX平台上手动创建数据库oracle9i

阅读更多
http://hi.baidu.com/oracle_10g/blog/item/56773b7a04a317ef2e73b3ee.html

系统环境:
1、操作系统:Linux
2、数据库: Oracle9I Release 9.2.0.3.0
学习一下oracle建库方法,虽然成功了,但是在客户端打开没有OLAP、JVM、工作空间这三个项,不知道为什么?有兴趣的朋友交流一下。
在linux操作系统上,以oracle用户名登录
1、停止linux上运行的数据库实例
2、更改linux上ORACLE_SID环境参数
ORACLE_SID=mydb
export ORACLE_SID
3、手动添加文件目录
mkdir -p $ORACLE_BASE/oracle/admin/study/bdump
mkdir -p $ORACLE_BASE/oracle/admin/study/cdump
mkdir -p $ORACLE_BASE/oracle/admin/study/udump
mkdir -p $ORACLE_BASE/oracle/admin/study/pfile (这个目录为个人爱好,不是必须)
mkdir $ORACLE_BASE/oracle/oradata/study
4、创建参数文件init(sid).ora
Create pfile from spfile;
这样就可以在dbs目录下自动创建一个init(sid).ora文件.然后根据这个文件,略作修改,可以创建initmydb.ora参数文件,然后放到 /opt/oracle/admin/study/pfile目录一个,在放到/opt/oracle/product/9.2.0/dbs一个就ok 了.
我是使用原有的.ora,在其基础上修改的,只需修改db_name和instance_name两项。注意db_name要和建库脚本的数据库名字一致,instance_name环境变量sid一致。
其他还有些地方用的是db_name和instance_name,最好是参照系统安装时建立的数据库进行设置,以免出错
5.创建密码文件orapw(sid)
[oracle@test oracle]$ orapwd file=/opt/oracle/product/9.2.0/dbs/orapwmydb password=bscy entries=5
这样就创建了一个针对mydb实例的密码文件.默认放到/opt/oracle/product/9.2.0/dbs目录下.此密码是sys用户的,并且在建库脚本了就不能指定sys的密码,会有冲突。
6、以nomount状态启动oracle实例
sqlplus /nolog
SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup nomount
ORACLE instance started.
SQL>start 创建数据库的sql语句文件的路径
以下是创建数据库的标准SQL语句:
CREATE DATABASE study
   LOGFILE GROUP 1 ('/u01/app/oracle/oradata/study/redo01.log') SIZE 100M,
           GROUP 2 ('/u01/app/oracle/oradata/study/redo02.log') SIZE 100M,
           GROUP 3 ('/u01/app/oracle/oradata/study/redo03.log') SIZE 100M
   MAXLOGFILES 5
   MAXLOGMEMBERS 5
   MAXLOGHISTORY 1
   MAXDATAFILES 100
   MAXINSTANCES 1
   CHARACTER SET US7ASCII
   NATIONAL CHARACTER SET AL16UTF16
   DATAFILE '/u01/app/oracle/oradata/study/system01.dbf' SIZE 325M REUSE
   EXTENT MANAGEMENT LOCAL
   DEFAULT TEMPORARY TABLESPACE tempts1
      TEMPFILE '/u01/app/oracle/oradata/study/temp01.dbf'
      SIZE 20M REUSE
   UNDO TABLESPACE undotbs
      DATAFILE '/u01/app/oracle/oradata/study/undotbs01.dbf'
      SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED;
等待大约2分钟后提示Database created. 建库成功.
7:建立数据字典的文件是:
$ORACLE_HOME/rdbms/admin/catalog.sql
$ORACLE_HOME/rdbms/admin/catproc.sql
$ORACLE_HOME/rdbms/admin/catexp.sql

二、心得体会
1、spfile文件不是建库必须,可以待数据库建成后再生成
2、pwd文件不是建库必须,可以待数据库建成后再生成
3、参数文件和建库脚本的相关内容必须匹配,特别是SID,datafile文件的位置和UNDO表空间的名字
4、建库一旦发生错误,所有的错误信息都会记录在/opt/oracle/admin/myocp/bdump目录的alert_myocp.log文件中,准确的定位错误才能修正错误
5、dbca是个好东西,但对它形成依赖后,在实际工作中就得启动X窗口并且必须在服务器上操作,有很大的局限性,所以学习OCP的同仁必须掌握手动建库。
http://www.ixdba.net/article/c7/336.html
http://ministorager.blog.51cto.com/668381/132242
-------------------------------------------------------
http://kingxt.iteye.com/blog/668979
--------------------------------------------------------
在LINUX平台上手动创建数据库(oracle 10g)

1.首先设置要创建的ORACLE的SID,如果在.bash_profile文件里设置里该变量,就不用设置了。
$echo $ORACEL_SID
mdy
如果没有设置,就手动设置,如果一个服务器上要运行多个ORACLE实例,也需要手动设置。
export ORACLE_SID=mydb

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

3. 创建ORACLE的参数文件$ORACLE_HOME/dbs/initmydb.ora 内容如下:

aq_tm_processes=0
audit_file_dest=/oracle/admin/mydb/adump
background_dump_dest=/oracle/admin/mydb/bdump
compatible=10.2.0.1.0
control_files=/oracle/oradata/mydb/control01.ctl, /oracle/oradata/mydb/control02.ctl, /oracle/oradata/mydb/control03.ctl
core_dump_dest=/oracle/admin/mydb/cdump
db_block_size=8192
db_domain=""
db_file_multiblock_read_count=16
db_name=mydb
instance_name=mydb
dispatchers="(PROTOCOL=TCP) (SERVICE=mydbXDB)"
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=/oracle/admin/mydb/udump

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

5.创建oracle的建库脚本 createdb.sql,内容如下:
create database mydb
MAXINSTANCES 1
MAXLOGHISTORY 1
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
DATAFILE
'/oracle/oradata/mydb/system01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited extent management local
sysaux datafile
'/oracle/oradata/mydb/sysaux01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited
default temporary tablespace TEMP tempfile
'/oracle/oradata/mydb/temp01.dbf' size 20m reuse autoextend on next 640k maxsize unlimited
undo tablespace UNDOTBS1 datafile
'/oracle/oradata/mydb/undo01.dbf' size 20m reuse autoextend on next 5M maxsize unlimited
logfile
GROUP 1 ('/oracle/oradata/mydb/redo1.dbf') size 10m,
GROUP 2 ('/oracle/oradata/mydb/redo2.dbf') size 10m,
GROUP 3 ('/oracle/oradata/mydb/redo3.dbf') size 10m
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手动创建过程就完成了

http://zhidao.baidu.com/question/134775907.html?push=ql

--------------------------------------------------------------------------
下面简单描述在linux上为oracle手动建库的过程
        平台:linux 未知,但估计内核应为2.4
        软件:oracle 9201,该版本存在一些bug
步骤如下:
1
确定数据库的SID,例如SID=WFH
2
在$ORACLE_HOME/dbs目录下创建数据库参数文件initwfh.ora,指定各个参数,如数据库名称,实例名,内存,进程数等。保存。
需要说明的是
background_dump_dest=
core_dump_dest=
user_dump_dest=
指定了oracle日志文件的路径,安装过程中如果出现问题,可参考这些目录下的日志的文件。
3
如果在参数文件中指定了使用密码文件,就需要创建密码文件orapwdwfh
命令如:orapwd file=orapwdwfh password=xxxx entries=x
4
为了创建数据库方便,可以先写sql脚本,例如:CreateDB.SQL
create database xxxx                //数据库名称
user sys identified by xxxx         //密码
user system identified by xxxx      //密码
logfile group 1 ('/xxxx/xxxx/wfh/redo01.log') size 100M,
        group 2 ('/xxxx/xxxx/wfh/redo02.log') size 100M,
        group 3 ('/xxxx/xxxx/wfh/redo03.log') size 100M
maxlogfiles x                       //数目
maxlogmembers x                     //数目
maxloghistory x                     //数目
maxdatafiles x                      //数目
maxinstances x                      //数目
character set zhs16gbk
national character set al16utf16
datafile '/xxxx/xxxx/wfh/system01.dbf' size 540M reuse
default temporary tablespace temptbs1
tempfile '/xxxx/xxxx/wfh/temptbs01.dbf' size 300M
保存
对于上面的语句,我有的明白什么意思,有的不明白,还需查看资料
5
启动oracle实例,例如wfh
首先set oracle_sid=wfh
其次运行sqlplus
connect /as sysdba
startup nomount
@CreateDB.SQL
...
正常情况下,等一段时间,会显示数据库创建成功,如果出现问题,请查看错误日志
6
运行系统自带的脚本,创建动态视图和一些pl/sql包,这些脚本位于
$oracle_home/rdbms/admin/目录下
例如:
catalog.sql
catproc.sql等
7
启动数据库
connect /as sysdba
startup mount
如果以上几步出现问题,请上网查阅相关资料
8
如果要在客户端连接数据库,还需要做一下配置
修改/oracle/network/admin/目录下的两个文件
listener.ora
tnsnames.ora
在listener.ora中增加以下语句
( sid_desc=
        (global_dbname=wfh)
        (oracle_home=/opt/oracle)
        (sid_name=wfh)
)
在tnsnames.ora中增加以下语句
wfh=
( description=
        (address_list=
                (address=(protocol=tcp)(host=oracle_slave)(port=1521))
        )
        (connect_data=
                (server=dedicated)
                (service_name=wfh)
        )
)
然后将lsnrctl重新启动即可

9总结

实践是检验真理的唯一标准
http://blog.csdn.net/w_fenghui/archive/2006/01/04/570035.aspx
http://blog.chinaunix.net/u3/100649/showart_1991429.html


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics