linux创建mysql数据库实例_oracle数据库实例的创建[linux]

设置环境变量

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值