前提
* 确定数据库的目的 (OLTP, OLT)
* 确定DB的Type (OLTP/OLP)
* 需要outline DB的架构, 文档存储路径
* 确定DB name
可以参见Oracle的规范 OFA ( Optional Flexible Architecture), 参见文档 Installation Guide for Linux 中的 OFA, 生产系统安装前去阅读文档, 3 rules
$ORACLE_HOME: 安装Oracle软件的目录
$ORACLE_BASE: Oracle配置信息的目录
* 确定一套可以再人和磁盘上存储的任意的database file
* 不同behavior的object放在不同的tablespace中.
* 将DB组件存档在不同的磁盘上, 以确保最优性能和可用性.
合法用户, 有2种认证方式, 1. OS中存在且具备oracle dba组的用户; 2. 通过password file
创建password file
1. $ cd $ORACLE_HOME/dbs
$ orapwd file=orapwtest password=oracle entries=10 创建名为orapwtest的文件, 密码为oracle, 允许10个用户
2. SPFILE 中启用 remote_login_passwordfile='EXCLUSIVE' 默认是启用了的
可以使用DMA ( Data migration Assistant ) 做数据库迁移或者升级
使用DBCA可以生成script
手工创建数据库(重点)
1. 指定SID $ORACLE_SID, 通常和DB名字相同 ( 由于DB name不超过8, 所以sid一般不超过8), 不超过12个字符, 只能是字符和数字, 大小写敏感
2. 确定环境变量设置 $ORACLE_HOME, $ORACLE_BASE, $ORACLE_SID
$ORA_NLS33=$ORACLE_HOME/common/nls/admin/data
$PATH=$ORACLE_HOME/bin:$PATH
$LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
3. 选择DB admin的认证方式, Unix下需要在dba group里面, Windows会自动加在group中
4. 创建PFILE: 最简单的参数模式只设置db_name=$ORACLE_SID, 可以从dbca生成的pfile拷贝过来, 然后替换sid和*. 并且手工创建相应的目录
5. 创建实例( Windows)
6. 连接到Instance:
$ sqlpluc /nolog
SQL> conn / as sysdba;
7. 创建SPFILE SQL> create spfile from pfile; (从默认的路径和默认的pfile文件名创建)
8. 启动Instance至nomount SQL>startup nomount
9. 准备创建DB语句 ( 重要 ), 具体语句可以在文档中的 SQL references;
* 可能需要创建口令文件, 参见上面.
10. 创建附加的tablespaces ( 差文档, 重要 ),数据表空间应该和默认的系统表空间区分开来
create tablespace temptbs datafile 'dbfFine' size 100m extent management local;
11. 运行脚本构建数据字典,视图等 ( 查文档,重要 )
spool log1.log --每运行一下脚本, 都需要将信息记录到log文件中, 在dbs目录下
@?/rdbms/admin/catalog.sql; -- 创建view, synonym
@?/rdbms/admin/catproc.sql; -- 支持PL/SQL
@?/sqlplus/admin/pupbld.sql; -- 支持SQL Plus
12. 运行脚本安装附加选项 ( Optional, 参见文档 References )
13. 备份DB
14. 启动自动实例化设置 ( Optional)
OMF( Oracle Management File): 简化对文件的管理, 该文档里面定义了一些文件路径
------------------------Command------------------------------------------------
用户登录
conn username/password as sysdba
conn username as sysdba (recommended)
删除DB
使用dbca删除, 删除 $ORACLE_BASE/admin/$ORACLE_SID 和 $ORACLE_BASE/oradata/$ORACLE_SID 和 $ORACLE_HOME/dbs 相关文件
使环境变量生效
$ . ./filename
将二进制文件转化为txt文件
$ strings sourceFile >> tartgetFile
vi命令
%s/scott2/scott1/g 将文档中所有的scott2替换为scott1
执行sql文件
SQL> @filename;