Oracle 9i for linux as4 命令行建立数据库
=========================================
■系统及软件环境
◇Red Hat Enterprise Linux AS release 4(2.6.9-11.ELsmp)
◇Oracle 902000400
■复制初始化参数文件
cd $ORACLE_HOME/dbs
cp init.ora inityhj.ora
◇修改db_name值
◇需要重新指定控制文件的位置
◇参数comatibility 需要改成 '9.2.0',否则可能会在建库时出现下面错误(详细错误信息见日志"$ORACLE_HOME/rdbms/log/alert_yhj.log")
→ 建库时错误信息:
create database yhj
*
error at line 1
ORA-01092: ORACLE instance terminated. Disconnection forced.
→ alert_yhj.log里的错误信息:
ORA-01501: CREATE DATABASE failed
ORA-00406: COMPATIBLE parameter needs to be 9.2.0.0.0 or greater
Wed Dec 13 08:56:14 2006
Error 406 happened during db open, shutting down database
USER: terminating instance due to error 406
Instance terminated by USER, pid = 543
ORA-1092 signalled during: create database yhj
user sys identified by
user s...
■初始化实例名称
export ORACLE_SID=yhj
■启动数据库到NOMOUNT状态,并指定新的初始化文件
SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup nomount pfile='/opt/oracle/product/9.2/dbs/inityhj.ora'
ORACLE instance started.
Total System Global Area 42742804 bytes
Fixed Size 451604 bytes
Variable Size 41943040 bytes
Database Buffers 204800 bytes
Redo Buffers 143360 bytes
■创建数据库(可以先写在文本文件里,然后再调用)
SQL> get /tmp/yuhj/create_db.txt
1 create database yhj
2 user sys identified by oracle
3 user system identified by oracle
4 logfile group 1 ('/opt/oracle/oradata/yhj/redo01.log') size 100M,
5 group 2 ('/opt/oracle/oradata/yhj/redo02.log') size 100M,
6 group 3 ('/opt/oracle/oradata/yhj/redo03.log') size 100M
7 maxlogfiles 5
8 maxlogmembers 5
9 maxloghistory 1
10 maxdatafiles 100
11 maxinstances 1
12 character set us7ascii
13 national character set al16utf16
14 datafile '/opt/oracle/oradata/yhj/sys01.dbf' size 325M reuse
15 extent management local
16 default temporary tablespace tempts1
17* tempfile '/opt/oracle/oradata/yhj/temp01.dbf' size 20M reuse
SQL> /
Database created.
SQL>
■建立数据字典的文件
SQL> @$ORACLE_HOME/rdbms/admin/catalog.sql
SQL> @$ORACLE_HOME/rdbms/admin/catproc.sql
SQL> @$ORACLE_HOME/rdbms/admin/catexp.sql
■建立其它的表空间
SQL> get /tmp/yuhj/create_tablespace.txt
1 create tablespace users
2 datafile '/opt/oracle/oradata/yhj/user01.dbf' size 25m reuse
3 autoextend on next 1024k maxsize unlimited
4* extent management local uniform size 500k
SQL> /
Tablespace created.
■建立spfile
SQL> create spfile='$ORACLE_HOME/dbs/spfileinter_yhj.ora' from pfile='inityhj.ora';
File created.
■测试新建立的数据库
SQL> show parameter instance_name
NAME TYPE VALUE
------------------------------------ ----------- ----------
instance_name string yhj
SQL> show parameter db_name
NAME TYPE VALUE
------------------------------------ ----------- -----------
db_name string yhj
SQL> set wra off
SQL> set pagesize 30 linesize 120
SQL> select * from v$logfile;
GROUP# STATUS TYPE MEMBER
---------- ------- ------- ----------------------------------------
1 ONLINE /opt/oracle/oradata/yhj/redo01.log
2 ONLINE /opt/oracle/oradata/yhj/redo02.log
3 ONLINE /opt/oracle/oradata/yhj/redo03.log
SQL> select name from v$datafile;
NAME
---------------------------------------------------------------------
/opt/oracle/oradata/yhj/sys01.dbf
/opt/oracle/oradata/yhj/user01.dbf
SQL>
■以上!
评论