Oracle 手工建库

为了手工创建数据库,先使用DBCA将之前的数据库删除。

 

 

如果在删除数据库的时候delete  database选项是不可选的说明/etc/oratab是由问题的。

 

[root@localhost lu]# cat /etc/oratab

oradb:/u01/app/oracle/product/11.2.0/db_1:Y

这个文件是在创建数据库实例时建立的,需要用root用户运行root.sh,如果忘记运行在自启动和关闭时会失败,错误信息:"/etc/oratab" is not accessible。

它记录主机中有多少个数据库。

在$ORACLE_HOME/bin目录下的$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut需要调用/etc/oratab文件,如果不存在,dbstart和dbshut将失败。

/etc/oratab 格式为: SID:ORACLE_HOME:AUTO

如果需要自动启动数据库,则将AUTO设为Y,在调用dbstart命令才生效。dbstart根据/etc/oratab中的配置来启动相应的数据库,选项只是能不能用$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut来启动和关闭数据库的开关。

$ORACLE_SID:$ORACLE_HOME:<N|Y>

说明:第一个区域的值是sid,第二个区域的值是数据库主目录,第三个区域的值Y或N指定你是否想要dbstart和dbshut脚本启动并关闭数据库

 

 

手工创建建数据库
Step 1: Specify an Instance Identifier (SID)
export ORACLE_SID=oradb
echo $ORACLE_SID

 

Step 2: Ensure That the Required Environment Variables Are Set
more .bash_profile


Step 3: Choose a Database Administrator Authentication Method创建OEM的密码文件,这步也可以省略,如果只是手工创建数据库

前面两步可以不做,因为在/home/oracle/.bash_profile里面有export ORACLE_SID=oradb的语句了。

 

[oracle@oracle11g ~]$ cd $ORACLE_HOME/dbs

[oracle@oracle11g dbs]$ pwd

/u01/app/oracle/product/11.2.0/db_1/dbs

[oracle@oracle11g dbs]$ orapwd file=orapworasb password=oracle  --创建口令文件

[oracle@oracle11g dbs]$ ll

total 12

-rw-rw---- 1 oracle oinstall 1544 Nov 25 21:52 hc_ordb.dat

-rw-r--r-- 1 oracle oinstall 2851 May 15  2009 init.ora

-rw-r----- 1 oracle oinstall 1536 Nov 25 22:02 orapworasb

 

Step 4: Create the Initialization Par        --这个数据库参数文件很简单,两项,一项是数据库名字和控制文件位置
[oracle@ocp-exam ~]$ vi /home/oracle/initoradb.txt' 
db_name=oradb
control_files='/u01/app/oracle/oradata/oradb/control01.ctl','/u01/app/oracle/oradata/oradb/control02.ctl' 

 

[oracle@oracle11g oracle]$ ls

admin  cfgtoollogs  checkpoints  diag  fast_recovery_area  oradata  product

[oracle@oracle11g oracle]$ cd oradata

[oracle@oracle11g oradata]$ ls

[oracle@oracle11g oradata]$ mkdir oradb控制文件要放在oradata下面,创建一个oradb目录存放控制文件,这个目录是上面参数文件里面控制文件的路径,即initoradb.txt里面的control_files里面内容

 

Step 5: Connect to the
sqlpus / as sysdba 

 

Step 6: Create a Server Parameter File 

SQL> create spfile from pfile='/home/oracle/initoradb.txt' ;

File created.

 

[oracle@localhost db_1]$ pwd

/u01/app/oracle/product/11.2.0/db_1

[oracle@localhost db_1]$ cd dbs

[oracle@localhost dbs]$ ls

hc_oradb.dat  init.ora  lkORADB  orapworasb  spfileoradb.ora(可以看到在dbs目录下面创建了参数文件)

 

Step 7: Start the Instance 

SQL> startup nomount;(由于创建了二进制参数文件,故可以将数据库启动到nomount状态,这个时候数据库软件已经起来了,可以接下来进行建库了)

ORACLE instance started.  --数据库软件启动了

 

Total System Global Area  217157632 bytes

Fixed Size     2251816 bytes

Variable Size   159384536 bytes

Database Buffers    50331648 bytes

Redo Buffers     5189632 bytes

 

Step 8: Issue the CREATE DATABASE Statement 

[oracle@oracle11g oradata]$ cd /home/oracle

[oracle@oracle11g ~]$ vi creatdb.txt  在这个文件里面添加创建数据库的语句,下面这些路径根据自己虚拟机实际路径修改

 

CREATE DATABASE oradb
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/oradb/redo01.log') SIZE 50M,
GROUP 2 ('/u01/app/oracle/oradata/oradb/redo02.log') SIZE 50M,
GROUP 3 ('/u01/app/oracle/oradata/oradb/redo03.log') SIZE 50M
MAXLOGFILES 20
MAXLOGMEMBERS 5
MAXLOGHISTORY 200
MAXDATAFILES 100
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/u01/app/oracle/oradata/oradb/system01.dbf' SIZE 500M REUSE
SYSAUX DATAFILE '/u01/app/oracle/oradata/oradb/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE '/u01/app/oracle/oradata/oradb/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs1
DATAFILE '/u01/app/oracle/oradata/oradb/undotbs01.dbf'
SIZE 200M REUSE; 

 

Step 9: Run Scripts 

SQL> @/home/oracle/creatdb.txt;将第八步创建数据库语句执行

SQL> @?/rdbms/admin/catalog.sql   建立视图(下面几个.sql脚本是数据库自带的)
SQL> @?/rdbms/admin/catproc.sql   存储过程
SQL> @?/sqlplus/admin/pupbld.sql    

 

上面这些步骤创建完毕之后再连接进去,使用下面的语句会发现数据库已经处于open的状态了。

 

SQL> select INSTANCE_NAME,VERSION, STATUS  from v$instance;

 

INSTANCE_NAME    VERSION           STATUS

---------------- ----------------- ------------

ordb             11.2.0.4.0        OPEN

 

 

tailf /u01/app/oracle/diag/rdbms/oradb/ordb/trace/alert_ordb.log 

SQL> show parameter name;

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

cell_offloadgroup_name               string

db_file_name_convert                 string

db_name                              string      oradb

db_unique_name                       string      oradb

global_names                         boolean     FALSE

instance_name                        string      ordb

lock_name_space                      string

log_file_name_convert                string

processor_group_name                 string

service_names                        string      oradb

 

 

上面只是手工建库第一步,创建database请参考我的另外一篇博客:Oracle 手工建库第二步 创建databse

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值