oracle数据库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库相关的知识,希望对你有一定的参考价值。
那位高手能指点下咋样在oracle里面建立一个自己命名的数据库,知道指点下,最好事写出步骤。。。先谢谢了
知道的能说详细点吗?
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
2.确认主库处于归档模式
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u02/arch
Oldest online log sequence 154
Next log sequence to archive 156
Current log sequence 156
3.创建备库instance
windows平台利用oradim工具创建一个新的instance,unix/linux平台设置新的ORACLE_SID即可
4.准备好主备库的参数文件
主库:
orcl.__db_cache_size=184549376
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__shared_pool_size=88080384
orcl.__streams_pool_size=0
*.audit_file_dest='/u01/oracle/admin/orcl/adump'
*.background_dump_dest='/u01/oracle/admin/orcl/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u01/oracle/oradata/orcl/control01.ctl','/u01/oracle/oradata/orcl/control02.ctl','/u01/oracle/oradata/orcl/control03.ctl'
*.core_dump_dest='/u01/oracle/admin/orcl/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orcl'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.job_queue_processes=10
*.log_archive_dest_1='LOCATION=/u02/arch'
*.log_archive_format='%t_%s_%r.dbf'
*.nls_language='SIMPLIFIED CHINESE'
*.nls_territory='CHINA'
*.open_cursors=300
*.pga_aggregate_target=94371840
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=285212672
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/oracle/admin/orcl/udump'
#################################
db_unique_name=node1
service_names=orcl
log_archive_config='dg_config=(node1,node2)'
log_archive_dest_2='service=dbstandby valid_for=(online_logfiles,primary_role) db_unique_name=node2'
log_archive_dest_state_1=enable
log_archive_dest_state_2=enable
fal_server=dbstandby
standby_file_management=AUTO
备库:
orcl.__db_cache_size=184549376
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__shared_pool_size=88080384
orcl.__streams_pool_size=0
*.audit_file_dest='/u01/oracle/admin/orcl/adump'
*.background_dump_dest='/u01/oracle/admin/orcl/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u01/oracle/oradata/orcl/control01.ctl','/u01/oracle/oradata/orcl/control02.ctl','/u01/oracle/oradata/orcl/control03.ctl'
*.core_dump_dest='/u01/oracle/admin/orcl/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orcl'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.job_queue_processes=10
*.log_archive_dest_1='LOCATION=/u02/arch'
*.log_archive_format='%t_%s_%r.dbf'
*.nls_language='SIMPLIFIED CHINESE'
*.nls_territory='CHINA'
*.open_cursors=300
*.pga_aggregate_target=94371840
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=285212672
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/oracle/admin/orcl/udump'
#################################
db_unique_name=node2
service_names=orcl
log_archive_config='dg_config=(node1,node2)'
log_archive_dest_2='service=dbprimary valid_for=(online_logfiles,primary_role) db_unique_name=node1'
log_archive_dest_state_1=enable
log_archive_dest_state_2=enable
fal_server=dbprimary
fal_client=dbstandby
standby_file_management=AUTO
5.生成password file
c:/>orapwd file=d:/oracle/ora92/DATABASE/PWDtest.ORA password=pass
或者直接将主库上的密码文件copy一份到备库上
6.配置网络
配置主备库的listener.ora,tnsnames.ora。修改完listener.ora后需要重启监听器。
主库:
listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/oracle/product/10.2.0)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = s1.gti.com)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
tnsnames.ora
dbprimary =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.131)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
dbstandby =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.132)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
备库:
listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = /u01/oracle/product/10.2.0)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.132)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
tnsnames.ora
dbprimary =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.131)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
dbstandby =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.132)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
7.使用rman备份主库
[oracle@s1 ~]$ rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on Thu May 29 19:52:37 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: ORCL (DBID=1171867028)
RMAN> backup full format='/u02/db_%U' database include current controlfile for standby;
...................
8.归档主库当前日志
SQL> alter system archive log current;
System altered.
9.启动备库到nomount
sqlplus "/ as sysdba"
Connected to an idle instance.
SQL> startup nomount
Total System Global Area 285212672 bytes
Fixed Size 1218992 bytes
Variable Size 96470608 bytes
Database Buffers 184549376 bytes
Redo Buffers 2973696 bytes
10.利用rman恢复备库
[oracle@s1 ~]$ rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on Thu May 29 19:53:21 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: ORCL (DBID=1171867028)
RMAN> connect auxiliary sys/a@dbstandby
connected to auxiliary database: ORCL (DBID=1171867028, not mount)
RMAN> duplicate target database for standby nofilenamecheck;
.............................
如果第8步没有归档当前日志,duplicate时可能出现错误:
RMAN-05507: standby controlfile checkpoint (710256) is more recent than duplicat
ion point in time (709530)
至此,备库创建成功。
11.将备库置于自动恢复状态
SQL> conn / as sysdba
Connected.
SQL>alter database recover managed standby database disconnect from session;
Media recovery complete.
12.switchover
物理STANDBY的SWITCHOVER切换会把当前的一个物理STANDBY切换为PRIMARY数据库,而PRIMARY数据库且变成物理STNADBY数据库。
一般SWITCHOVER切换都是计划中的切换,特点是在切换后,不会丢失任何的数据,而且这个过程是可逆的,整个DATA GUARD环境不会被破坏,原来DATA GUARD环境中的所有物理和逻辑STANDBY都可以继续工作。
在进行DATA GUARD的物理STANDBY切换前需要注意:
确认主库和从库间网络连接通畅;
确认没有活动的会话连接在数据库中;
PRIMARY数据库处于打开的状态,STANDBY数据库处于MOUNT状态;
确保STANDBY数据库处于ARCHIVELOG模式;
如果设置了REDO应用的延迟,那么将这个设置去掉;
确保配置了主库和从库的初始化参数,使得切换完成后,DATA GUARD机制可以顺利的运行。
主库:
[oracle@s1 ~]$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on Thu May 29 19:55:02 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> alter database commit to switchover to physical standby;
Database altered.
SQL> shutdown immediate;
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 285212672 bytes
Fixed Size 1218992 bytes
Variable Size 96470608 bytes
Database Buffers 184549376 bytes
Redo Buffers 2973696 bytes
SQL> alter database mount standby database;
Database altered.
SQL> alter database recover managed standby database disconnect from session;
Database altered.
备库:
SQL> alter database commit to switchover to primary;
Database altered.
SQL> shutdown immediate;
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 285212672 bytes
Fixed Size 1218992 bytes
Variable Size 96470608 bytes
Database Buffers 184549376 bytes
Redo Buffers 2973696 bytes
Database mounted.
Database opened.
SQL>
答案来自http://www.baidu.com/s?ie=gb2312&bs=asp.net%C1%AC%BD%D3sql%CA%FD%BE%DD%BF%E2&sr=&z=&cl=3&f=8&tn=baidu&wd=Oracle+create+database&ct=0 参考技术A 1楼没对,说的是怎么建表空间和用户
2楼没对,说的是怎么建dataguard
3楼没对,说的是怎么建表。而且oracle中是有数据库这个概念的。数据库都没有何谈建表?
---------------------------------
OK,我给出你正确的答案。另外请自己买本书有字又有图的好好研究一下。这么基础的问题你问我也得打很多字才能说清楚,而且还有无数人给你错误的答案。并且没有图你也不可能轻易领会。一本教材也就几十块而已。或者干脆去网上下电子文档也比在百度知道强。
如果你是在windows环境,那么开始->运行->cmd,然后输入dbca,就会弹出一个图形化的创建数据库的界面,都有提示,自己看吧。
如果你是在unix环境,输入export DISPLAY=IP:x,IP是有xmanager的机器上。别问我x是什么,懒得答,自己去看说明书。然后输入dbca,自己建就完了。 参考技术B 你的oracle 是哪个版片的如果是10G以后的可以直接以system在网页上登陆数据进行界面型的创建数据库和表空间.如果是用命令创建上面的兄弟已经说出来的.而且你在这里的说法点不准确.在oracle中是没有数据库这个概念的,只有表空间和表,如果你是对应sqlserver来讲的数据库的话在oracle中是一个表而已.
create table(
id number(5),
name varchar2(10)
)
即可 参考技术C 1,以dba身份登陆(sqlplus "/as sysdba"),
2,创建表空间(creat tablespace)
3,创建用户(creat user)
4,给用户授权(grant)本回答被提问者采纳
什么是oracle的实例
oracle的实例指的是什么?什么叫实例?一个oracle数据库能同时拥有多个实例吗?
我看所谓的Oracle数据库里面又包含了好多其他库也,如namdb、fmdb之类的,那你们所谓的一个实例对应一个数据库是指的对应namdb这样的库呢,还是针对Oracle这个总的库哟!!越来越迷糊,总是分不清楚这点哟!而且我看有写实例名时,不就是ORACLE_SID对应的东西吗?我好基本上一个Oracle只对应了一个ORACLE_SID样。
oracle实例就是一些能支撑数据库运行的数据库程序。
它由操作系统的多个后台进程和一个共享的内存池所组成,共享的内存池可以被所有进程访问。
Oracle 用一个个实例来管理数据库访问。用户如果要存取数据库(也就是硬盘上的文件) 里的数据, 必须通过Oracle实例才能实现, 不能直接读取硬盘上的文件。
实际上, Oracle 实例就是平常所说的数据库服务(service) 。
在任何时刻一个实例只能与一个数据库关联,访问一个数据库;而同一个数据库可由多个实例访问(RAC)。
扩展资料
oracle数据库的特点:
1、完整的数据管理功能:
1)数据的大量性
2)数据的保存的持久性
3)数据的共享性
4)数据的可靠性
2、完备关系的产品:
1)信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;
2)保证访问的准则
3)视图更新准则---只要形成视图的表中的数据变化了,相应的视图中的数据同时变化
4)数据物理性和逻辑性独立准则
3、分布式处理功能:
ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的关系型产品构成。
4、用ORACLE能轻松的实现数据仓库的操作。
参考资料来源:百度百科—实例
参考资料来源:百度百科—Oracle数据库
参考技术AOracle 实例就是位于物理内存里的数据结构,它由操作系统的多个后台进程和一个共享的内存池所组成,共享的内存池可以被所有进程访问。
Oracle 用一个个实例来管理数据库访问。用户如果要存取数据库(也就是硬盘上的文件) 里的数据, 必须通过Oracle实例才能实现, 不能直接读取硬盘上的文件。
实际上, Oracle 实例就是平常所说的数据库服务(service) 。
在任何时刻一个实例只能与一个数据库关联,访问一个数据库;而同一个数据库可由多个实例访问(RAC)。
扩展资料:
ORACLE实例和数据库之间的关系可以概括以下几点:
1、临时性和永久性的区别;oracle实例是临时的,而数据库是永久性的。
2、实例可以在没有数据文件的情况下单独启动 startup nomount , 通常没什么意义。
3、一个实例在其生存期内只能装载(alter database mount)和打开(alter database open)一个数据库。
4、一个数据库可被许多实例同时装载和打开(即RAC),RAC环境中实例的作用能够得到充分的体现!
数据库实例是用于和操作系统进行联系的标识,也就是说数据库和操作系统之间的交互使用的是数据库实例。
数据库实例名(instance_name)
实例名也被写入参数文件中,该参数为instance_name,在winnt平台中,实例名同时也被写入注册表。
数据库名和实例名可以相同也可以不同。在一般情况下,数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中,数据库名和实例名是一对多的关系。
如何查看当前数据库实例名呢?方式有三:
·使用SQL语句:select instance_name from v$instance;
·使用show命令:show parameter instance
·查看参数文件:查看init.ora文件
数据库实例名与ORACLE_SID两者都表示oracle实例,但是有区别的。instance_name是oracle数据库参数。而ORACLE_SID是操作系统的环境变量。ORACLD_SID用于与操作系统交互,也就是说,从操作系统的角度访问实例名,必须通过ORACLE_SID。
ORACLE_SID必须与instance_name的值一致。否则,你将会收到一个错误。在unix平台,是“ORACLE not available”,在winnt平台,是“TNS:协议适配器错误”。本回答被提问者采纳 参考技术C 实例是oracle使用到的内存和进程的总称。
一个oracle数据库可以有多个实例,不过这个属于RAC的应用了;单机中是一个实例对应一个数据库的。
oracle的数据库存放在硬盘上的有数据文件、日志文件、控制文件。
你安装oracle时候 如果同时建立一个orcl的数据库的话;那么SID就是orcl,这是一个数据库,有一个实例与它对应;如果你又通过DBCA建立了另外一个db_test,这是就有两个sid;需要两个实例分别打开各自的数据库。 参考技术D 数据库实例(instance_name)是用于和操作系统进行联系的标识,也就是说数据库和操作系统之间的交互使用的是数据库实例。
数据库名和实例名可以相同也可以不同。在一般情况下,数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中,数据库名和实例名是一对多的关系。
用系统sysdba权限登录后:查询oracle实例的方法:
方法一:sql”select instance_name from v$instance“;
方法二:使用show命令”show parameter instance“。
以上是关于oracle数据库的主要内容,如果未能解决你的问题,请参考以下文章
ORACLE 官方只可以下载oracle11g 版本的数据库 没有了ORACLE 10g 是否ORACLE 10g 过期了 不能在官方下载