一、数据库的验证方式

wKiom1Qa38TAlU0OAAHONXALkeQ496.jpg

[oracle@localhost~]$ id

uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023


Oracle的认证基于操作系统,因此如果能够以DBA身份合法登录操作系统,就默认具有操作数据库的权限。

 

如果用户不是DBA组的,可以通过口令认证


[oracle@localhostdbs]$ su root

Password:


[root@localhostdbs]# id

uid=0(root) gid=0(root) groups=0(root)context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@localhost dbs]# export ORACLE_HOME=/oracle/11g
[root@localhost dbs]# export ORACLE_SID=orcl

 

[root@localhostdbs]# env | grep ORACL

ORACLE_SID=orcl
ORACLE_BASE=/oracle
ORACLE_HOME=/oracle/11g

[root@localhostdbs]# /oracle/11g/bin/sqlplus /nolog

 
SQL*Plus: Release 11.2.0.1.0 Production on Thu Aug 28 04:27:59 2014
 
Copyright (c) 1982, 2009, Oracle. All rights reserved.

 

SQL> conn / as sysdba

ERROR:
ORA-01031: insufficient privileges
-- 不是以oracle(DBA组)用户登录数据库,则会提示权限不够


 

SQL> conn sys as sysdba

Enter password:
Connected.
-- 必须指明让sys用户以sysdba的身份登录数据库,并输入密码,才能通过验证


 wKioL1Qa3_SQx1sMAAIcHfrnzBk563.png

 

[oracle@localhost~]$ cd /oracle/11g/dbs

[oracle@localhostdbs]$ orapwd file=orapwtes password=123 entries=10

[oracle@localhostdbs]$ ls

hc_orcl.dat  lkORCL           old       
orapwtes
# 新创建的Password File
spfileorcl.ora
init.ora     mickey_orcl.ora  orapworcl peshm_orcl_0

 

[oracle@localhostdbs]$ strings spfileorcl.ora | more

orcl.__db_cache_size=96468992
...
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
# 支持基于口令验证的passwordfile,就需要将这一条加到初始化参数文件中
*.undo_tablespace='UNDOTBS1'


二、创建数据库的准备工作

wKiom1Qa4ATiR9yQAAILSxefVg0009.jpg

 

1.确定数据库的作用。

数据库主要分为两种:

a)OLTP:联机事务处理,大量的并发和短小事物;

b)OLAP:数据仓库,少量并发,但是事物很大

2.确定数据库的类型

3.数据库结构设计(目录结构,文件名规则等)

4.数据库命名

 

wKioL1Qa4C_zlK1OAAI93pTvk_8146.jpg

 

OFA主要有三条规则:

1.建立统一的目录结构,以容纳各种需求的数据库

2.将不同的对象放在不同的表空间中以提高性能

3.将不同的数据库组件放在不同的磁盘块上,并将备份放在不同的磁盘上

建议认真阅读联机文档Install Guide中有关OFA的规范(附录D),这些规范很多都应用于实际生产环境中。

 

 wKiom1Qa4Crh7wL9AAHDK9mw3k0853.jpg

 

[oracle@localhost~]$ env | grep ORACL

ORACLE_SID=orcl
ORACLE_BASE=/oracle
ORACLE_HOME=/oracle/11g

 

[oracle@localhost~]$ cd /oracle

 

[oracle@localhostoracle]$ ll

total 32
drwxr-xr-x. 74 oracle oinstall 4096 Aug  5 18:43 11g
drwxr-x---.  3 oracleoinstall 4096 Aug  5 18:24 admin
drwxr-xr-x.  5 oracleoinstall 4096 Aug  5 18:38 cfgtoollogs
drwxr-xr-x.  2 oracleoinstall 4096 Aug  5 19:26 checkpoints
drwxrwxr-x.  4 oracleoinstall 4096 Aug  5 18:25 diag
drwxr-x---.  4 oracleoinstall 4096 Aug  5 18:28 flash_recovery_area
drwxr-x---.  3 oracleoinstall 4096 Sep  9 07:34 oradata
drwxr-----.  3 oracleoinstall 4096 Aug  6 13:50 oradiag_oracle

 

[oracle@localhostoracle]$ cd oradata

# 进入数据文件目录


[oracle@localhostoradata]$ ll

total 4
drwxr-x---. 2 oracle oinstall 4096 Aug  5 18:29 orcl

 

[oracle@localhostoradata]$ cd orcl/


[oracle@localhostorcl]$ ll

total 1591348
-rw-r-----. 1 oracle oinstall   9748480 Sep 9 08:51 control01.ctl
# control file
-rw-r-----. 1 oracle oinstall 104865792 Sep  9 08:51 example01.dbf
-rw-r-----. 1 oracle oinstall  52429312 Sep 9 08:51 redo01.log
-rw-r-----. 1 oracle oinstall  52429312 Sep 9 07:46 redo02.log
-rw-r-----. 1 oracle oinstall  52429312 Sep 9 08:24 redo03.log
# redo log file
-rw-r-----. 1 oracle oinstall 576724992 Sep  9 08:51 sysaux01.dbf
-rw-r-----. 1 oracle oinstall 713039872 Sep  9 08:51 system01.dbf
-rw-r-----. 1 oracle oinstall  20979712 Sep 9 06:38 temp01.dbf
-rw-r-----. 1 oracle oinstall  57679872 Sep 9 08:51 undotbs01.dbf
-rw-r-----. 1 oracle oinstall   5251072 Sep 9 08:51 users01.dbf

 

wKioL1Qa4FehjJrsAAGWlZoAnvA034.jpg

 

安装数据库需要有一个账号,这个账号要么是操作系统的账号,要么是Oracle的账号,如SYSSYSTEM等。

  

wKiom1Qa4FOilmSIAAGpxGHs6hM103.jpg

 

1.OUI ——通过调用DBCA,进行傻瓜式创建

2.通过在sql*plus执行CREATE DATABASE的命令来创建数据库

 

wKiom1Qa4HDyBvs0AAD7LkRhXRg933.jpg

创建数据库之前需要设置一些环境变量,其中ORACLE_SIDORACLE_HOME是必须设置的

ORA_NLS33是字符集,如果不设置,它会使用默认值:$ORACLE_HOME/nls/data

设置PATH可以将Oracle的工具配置到环境变量中,使用工具时就不需要在输入路径了。

LD_LIBRARY_PATH可设可不设,它主要是为一些如C语言编写的程序提供库。

 

[oracle@localhost ~]$ vim .bash_profile

 

# .bash_profile
 
# Get the aliases andfunctions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi
 
# User specificenvironment and startup programs
         
PATH=$PATH:$HOME/bin
         
export PATH
       
ORACLE_BASE=/oracle
ORACLE_HOME=$ORACLE_BASE/11g
ORACLE_SID=orcl
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASEORACLE_HOME ORACLE_SID PATH
 
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
# 配置LD_LIBRARY_PATH
# 注意,这里采用的是将$LD_LIBRARY_PATH加入到$ORACLE_HOME/lib路径下
# 而不是将原来的路径覆盖掉,因为很多程序都共用lib目录下的库
export LD_LIBRARY_PATH
~

          

 

[oracle@localhost lib]$ cd /oracle/11g/lib

[oracle@localhost lib]$ ll

total 513240
-rw-r--r--. 1 oracleoinstall     45386 Oct 23  2001 activation.jar
-rw-r--r--. 1 oracleoinstall     60054 Jun 13  2009 asmcmdambr.pm
-rw-r--r--. 1 oracleoinstall     21659 Jun 13  2009 asmcmdattr.pm
-rw-r--r--. 1 oracleoinstall    179311 Jul  1  2009asmcmdbase.pm      
...
-rw-r--r--. 1 oracleoinstall    133936 Aug  1  2009xschema.jar
-rw-r--r--. 1 oracleoinstall      3568 Aug  1  2009xsqlserializers.jar
-rw-r--r--. 1 oracleoinstall    189179 Aug  1  2009xsu12.jar