oracle创建实例
Posted wjt-super
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle创建实例相关的知识,希望对你有一定的参考价值。
设置环境变量
ORACLE_HOME=/oracle/11g
ORACLE_BASE=/oracle
DB_HOME=/oracle/11g/oradata
ORACLE_SID=nopaper // 这是安装oracle 数据库之后默认的一个数据库实例
安装过程中最好是切换到oracle用户 su oracle
2. 创建pfile文件
cd $ORACLE_HOME/dbs
strings spfileorcl.ora >initnopaper.ora
完成之后需要把initnopaper.ora中的所有orcl 改成nopaper
3. 生成密码文件
sudo cp $ORACLE_HOME/bin/orapwd /usr/local/bin/
orapwd file=orapwmytest password=mytest //目录是$ORACLE_HOME/dbs,前面已经有了
4. 创建数据库相关的目录
mkdir $ORACLE_BASE/admin/nopaper
cd $ORACLE_BASE/admin/mytest
mkdir adump bdump cdump dpdump pfile udump
mkdir $DB_HOME/nopaper //这一步不要忘了,容易看错
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=paperless
7.创建数据库
//1,sqlplus登录
sqlplus / as sysdba
//2,启动不加载实例
SQL> startup nomount
//3,从create开始到最后的冒号,直接copy进去执行就行了, 最好是把$DB_HOME替换成绝对路径
SQL> create database nopaper
LOGFILE
GROUP 1 (‘/u01/app/oracle/oradata/nopaper/redo01.log‘,‘/u01/app/oracle/oradata/nopaper/redo01_1.log‘) size 100m reuse,
GROUP 2 (‘/u01/app/oracle/oradata/nopaper/redo02.log‘,‘/u01/app/oracle/oradata/nopaper/redo02_1.log‘) size 100m reuse,
GROUP 3 (‘/u01/app/oracle/oradata/nopaper/redo03.log‘,‘/u01/app/oracle/oradata/nopaper/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 ‘/u01/app/oracle/oradata/nopaper/system01.dbf‘ SIZE 1000M EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE ‘/u01/app/oracle/oradata/nopaper/sysaux01.dbf‘ SIZE 1000M
UNDO TABLESPACE UNDOTBS1 DATAFILE ‘/u01/app/oracle/oradata/nopaper/undo.dbf‘ SIZE 500M
DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE ‘/u01/app/oracle/oradata/nopaper/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 paperlessuser identified by nopaper; // 这里也可以创建你自己的用户
SQL> grant connect,resource,DBA to paperlessuser; // 授权 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
linux下创建oracle用户表空间
就是在已有的数据库实例上创建一个新的帐号,访问一些新的表
操作步骤如下:
(1)登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户)
(2)以sysdba方式来打开sqlplus,命令如下: sqlplus "/as sysdba"
(3)查看我们常规将用户表空间放置位置:执行如下sql:
select name from v$datafile
(4)创建用户表空间:
CREATE TABLESPACE NOPAPERDB DATAFILE ‘/u01/app/oracle/oradata/nopaper/nopaperdb.dbf‘ SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
(5)创建用户,指定密码和上边创建的用户表空间
CREATE USER paperlessuser IDENTIFIED BY paperlesspassword DEFAULT TABLESPACE NOPAPERDB;
以上是关于oracle创建实例的主要内容,如果未能解决你的问题,请参考以下文章