新建用户表空间等
# groupadd dba
# groupadd oper
# useradd -g dba -G oper oracle
# passwd oracle
这篇博文是建立在已经安装oracle数据的基础上而且linux已经groupadd useradd之后 也就是linux已经有了oracle用户了,数据库中已经新建实例。
step1:首先用su - oracle切换oracle用户状态。
step2:到home/oracle下面 vim .bash_profile文件添加内容如下:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/10.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export PATH=$ORACLE_HOME/bin:$PATH
~
~
SID也就是用户实例 程序中链接数据库用的:
step3:然后到oracle的监听配置文件中修改监听的ip以及端口等
/opt/oracle/product/10.2.0/db_1/network/admin
vim listener.ora
其中的内容如下:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /opt/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = ecmc65b)(PORT = 1521))
这里的host不是ip 是因为它在hosts文件中映射了;
step4:
sqlplus / as sysdba;
>sql
然后输入sql语句
DROP TABLESPACE WCM INCLUDING CONTENTS AND DATAFILES;
CREATE TABLESPACE WCM DATAFILE
'/opt/oracle/oradata/orcl/wcmdb.dbf' SIZE 1024M AUTOEXTEND ON NEXT 512M MAXSIZE UNLIMITED
LOGGING
ONLINE
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;
AUTOEXTEND表明是否自动扩展. OFF | ON 表示自动扩展是否被关闭.NEXT 表示数据文件满了以后,扩展的大小.
maxsize_clause表示数据文件的最大大小.形如MAXSIZE { UNLIMITED | integer [ K | M ] }.UNLIMITED 表示无限的表空间.integer是数据文件的最大大小.
改变表空间的状态。online使表空间创建后立即有效.这是缺省值.offline使表空间创建后无效.这个值,可以从dba_tablespace中得到。
logging clause这个子句声明这个表空间上所有的用户对象的日志属性(缺省是logging)
如果没有设置extent_management_clause,oracle会给他设置一个默认值。如果初始化参数compatible小于9.0.0,那么系统创建字典管理表空间。如果大于9.0.0,那么按照如下设置:
如果没有指定default storage_clause,oracle创建一个自动分配的本地管理表空间。
否则,如果指定了mininum extent,那么oracle判断mininum extent 、initial、next是否相等,以及pctincrease是否=0.如果满足以上的条件,oracle创建一个本地管理表空间,extent size是initial.如果不满足以上条件,那么oracle将创建一个自动分配的本地管理表空间。
如果没有指定mininum extent。initial、那么oracle判断next是否相等,以及pctincrease是否=0。如果满足oracle创建一个本地管理表空间并指定uniform。否则oracle将创建一个自动分配的本地管理表空间。
注意:本地管理表空间只能存储永久对象。如果你声明了local,将不能声明default storage_clause,mininum extent、temporary.
BLOCKSIZE integer [k]
这个参数可以设定一个不标准的块的大小。如果要设置这个参数,必须设置db_block_size,至少一个db_nk_block_size,并且声明的integer的值必须等于db_nk_block_size.
注意:在临时表空间不能设置这个参数。
step5:
创建对应的用户:
DROP USER WCM CASCADE;
CREATE USER WCM
IDENTIFIED BY wcm
DEFAULT TABLESPACE WCM
TEMPORARY TABLESPACE TEMP
PROFILE DEFAULT
ACCOUNT UNLOCK;
-- 2 Roles for WCM
GRANT CONNECT TO WCM;
GRANT DBA TO WCM;
ALTER USER WCM DEFAULT ROLE ALL;
-- 1 System Privilege for WCM
GRANT UNLIMITED TABLESPACE TO WCM;
这时候就直接可以用 sqlplus wcm/wcm来登陆进去操作数据库了