oracle数据库实例的创建[linux]
博客专区 > _eric 的博客 > 博客详情
oracle数据库实例的创建[linux]
_eric 发表于2年前
oracle数据库实例的创建[linux]
  • 发表于 2年前
  • 阅读 403
  • 收藏 2
  • 点赞 0
  • 评论 0

腾讯云 学生专属云服务套餐 10元起购>>>   

摘要: 在linux环境下创建的oracle数据库的实例 参照自 http://blog.51yip.com/oracle/1305.html
  1.  设置环境变量

ORACLE_HOME=/oracle/11g 
ORACLE_BASE=/oracle  
DB_HOME=/oracle/11g/oradata  
ORACLE_SID=orcl    //  这是安装oracle 数据库之后默认的一个数据库实例
安装过程中最好是切换到oracle用户   su oracle

   2.    创建pfile文件

cd $ORACLE_HOME/dbs  
strings spfileorcl.ora >initmytest.ora
完成之后需要把initmytest.ora中的所有orcl 改成mytest

 3.  生成密码文件

sudo cp $ORACLE_HOME/bin/orapwd /usr/local/bin/  
orapwd file=orapwmytest password=mytest      //目录是$ORACLE_HOME/dbs,前面已经有了

4. 创建数据库相关的目录

mkdir $ORACLE_BASE/admin/mytest  
cd $ORACLE_BASE/admin/mytest  
mkdir adump bdump cdump dpdump pfile udump  
mkdir $DB_HOME/mytest                      //这一步不要忘了,容易看错

5.修改tnsnames.ora和listener.ora

//这个在tnsnames.ora中加上  
MYTEST =  
 (DESCRIPTION =  
    (ADDRESS = (PROTOCOL = TCP)(HOST = ubuntu)(PORT = 1521))  
    (CONNECT_DATA =  
       (SERVER = DEDICATED)  
       (SERVICE_NAME = mytest)  
    )  
 )  
//这个在lister.ora中加上  
(SID_DESC =  
 (SID_NAME = mytest)  
 (GLOBAL_DBNAME=mytest)  
 (ORACLE_HOME = /opt/ora10)  
 (PROGRAM = extproc)   // 这行可以不写
)  
// 其实就是将各自文件中orcl的部分,拷贝一下,把orcl改成mytest。修改这个为了sqlplus连接实例用的。

6.修改默认实例

export ORACLE_SID=mytest

7.创建数据库

//1,sqlplus登录  
sqlplus / as sysdba         
  
//2,启动不加载实例  
SQL> startup nomount  
  
//3,从create开始到最后的冒号,直接copy进去执行就行了, 最好是把$DB_HOME替换成绝对路径
SQL> create database mytest  
LOGFILE  
GROUP 1 ('$DB_HOME/mytest/redo01.log','$DB_HOME/mytest/redo01_1.log') size 100m reuse,  
GROUP 2 ('$DB_HOME/mytest/redo02.log','$DB_HOME/mytest/redo02_1.log') size 100m reuse,  
GROUP 3 ('$DB_HOME/mytest/redo03.log','$DB_HOME/mytest/redo03_1.log') size 100m reuse  
MAXLOGFILES 50  
MAXLOGMEMBERS 5  
MAXLOGHISTORY 200  
MAXDATAFILES 500  
MAXINSTANCES 5  
ARCHIVELOG  
CHARACTER SET UTF8  
NATIONAL CHARACTER SET UTF8  
DATAFILE '$DB_HOME/mytest/system01.dbf' SIZE 1000M EXTENT MANAGEMENT LOCAL  
SYSAUX DATAFILE '$DB_HOME/mytest/sysaux01.dbf' SIZE 1000M  
UNDO TABLESPACE UNDOTBS1 DATAFILE '$DB_HOME/mytest/undo.dbf' SIZE 500M  
DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '$DB_HOME/mytest/temp.dbf' SIZE 500M;  

// 执行完成之后 应该会出现 Database created 就表示你创建成功了
[1]问题1 : 创建数据库时总是出现无法创建控制文件
解决办法:
将initmytest.ora中
*.control_files='/oracle/oradata/mytest/control01.ctl','/oracle/flash_recovery_area/mytest/control02.ctl'
这里的两个文件目录完全创建,并将其中的文件删除
[ 2 ]问题2 : 如果出现磁盘空间不足
可以将以上的所有文件地址指向到指定的其他的目录(记住一点的是权限一定是oracle权限)

8.创建oracle 数据库字典

SQL> @$ORACLE_HOME/rdbms/admin/catalog.sql;  
SQL> @$ORACLE_HOME/rdbms/admin/catproc.sql;  
// 这个两个sql执行的时间比较长

9. 设置一下权限

SQL> alter user system identified by mytest;   // 这里也可以创建你自己的用户
SQL> grant sysdba to system;    // 授权 grant connect,resource,DBA to UserName; 
SQL> shutdown immediate;         //用shutdown会很慢,加上immediate快很多  
SQL> startup;   // 重新启动数据库

10.查看一下表空间,以及管理

SQL> select tablespace_name,extent_management from dba_tablespaces;  
  
TABLESPACE_NAME            EXTENT_MAN  
------------------------------ ----------  
SYSTEM                   LOCAL  
UNDOTBS1               LOCAL  
SYSAUX                   LOCAL  
TEMP                   LOCAL


共有 人打赏支持
粉丝 0
博文 12
码字总数 28092
×
_eric
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: