一、数据库的验证方式
[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的身份登录数据库,并输入密码,才能通过验证
[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'
二、创建数据库的准备工作
1.确定数据库的作用。
数据库主要分为两种:
a)OLTP:联机事务处理,大量的并发和短小事物;
b)OLAP:数据仓库,少量并发,但是事物很大
2.确定数据库的类型
3.数据库结构设计(目录结构,文件名规则等)
4.数据库命名
OFA主要有三条规则:
1.建立统一的目录结构,以容纳各种需求的数据库
2.将不同的对象放在不同的表空间中以提高性能
3.将不同的数据库组件放在不同的磁盘块上,并将备份放在不同的磁盘上
建议认真阅读联机文档Install Guide中有关OFA的规范(附录D),这些规范很多都应用于实际生产环境中。
[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
安装数据库需要有一个账号,这个账号要么是操作系统的账号,要么是Oracle的账号,如SYS或SYSTEM等。
1.OUI ——通过调用DBCA,进行傻瓜式创建
2.通过在sql*plus执行CREATE DATABASE的命令来创建数据库
创建数据库之前需要设置一些环境变量,其中ORACLE_SID和ORACLE_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