Oracle常⽤操作经验总结
⼀:数据库启动的步骤:
ORACLE数据库分为数据库实例和数据库⽂件两部分,实例是⼀块内存区域,加些后台进程,内存区域就是平时说的数据缓存,共享池等,后台进程就是如checkpoint,log writer,dbwriter等,数据⽂件和SQL SERVER的在概念上没啥两样,这样数据⽂件,内存,进程就构成了⼀个数据库.
1:⾸先检测参数⽂件init(sid).ora,就是初始化参数⽂件,从参数⽂件获取内存配置参数,数据库名称等信息,进⾏实例启动,这样内存就开辟了,进程也⾃⼰启动了,这个状态是nomount.其中Oracle数据库在启动时,⾸先查的是orapw的⼝令⽂件,如果该⽂件不存在,则开始查,orapw的⼝令⽂件。
2:根据上步的参数⽂件信息,从参数⽂件获取控制⽂件的地址,加载他,获取数据库的物理⽂件的信息,但不会检查数据⽂件是否存在,这个称为mount,
3:读取数据⽂件,打开数据库,执⾏些恢复检查点.这个状态就是open.
⼆:更改实例名步骤:
1:更改原来实例参数⽂件init(sid).ora,更改参数配置中实例名为新的实例名
*.instance_name='gaogao1'
2:更改原来参数⽂件为新的含有新的实例名的参数⽂件:
如a
2:建⽴新的关于新的实例的密码⽂件:
orapwd file=orapw(sid) password=密码entries=5
三:关于数据库启动中参数⽂件的问题.
1:⼀般数据库在打开实例的时候,oracle读取参数⽂件的过程是:数据库⾸先会SPFILE(sid).ora,如果不到,才去
INIT(sid).ora,在上⾯都不到才会去a.
2:⼀般在在创建数据库完成以后系统会⽣成spfile(sid).ora这个⽂件。如果你想改变SGA的⼤⼩。那就要⼿动建⽴PFILE才可以对SGA调整。因为spfile(sid).ora是⼆进值⽂件。⽆法⽤⽂本编辑器。
3:CREATE PFILE FROM SPFILE;这样就可以在dbs⽬录下⾃动创建⼀个init(sid).ora⽂件. 4:如果你
想⽤PFILE⽂件启动,你可以在启动时指定⽂件的路径,或把spfile(sid).ora改名字,就可以了.
四:把⽤户对象从⼀个表空间gaojf导⼊到另外⼀个表空间gaojf1步骤:
1:REVOKE UNLIMITED TABLESPACE FROM "GAOJF1";#在gaojf1的系统权限中取消掉unlimited tablespace
2:ALTER USER "GAOJF1" QUOTA 20 M ON CICRO1; 给⽤户gaojf1资源限额20m
或者是
ALTER USER "GAOJF1" QUOTA UNLIMITED ON CICRO1;给⽤户gaojf1资源限额为⽆限制使⽤.(⾮⽆)
3:然后⽤导出语句:
imp gaojf1/gaojf1 file=cicrotablestest.dmp fromuser=gaojf touser=gaojf1 ignore=y tablespaces=cicro1;
或者
imp gaojf1/gaojf1 file=cicrotablestest.dmp full=y,ignore=y;
ok了,看看吧!
五:关于表空间的使⽤
alter user hr quota 200m on test1; 指定hr⽤户在表空间test1的使⽤限额时200兆.
alter user hr quota 0 on example;指定hr在表空间example的使⽤限额为0,即没有指定限额(⽆).
alter user hr quota unlimited on test1; 指定hr在表空间test1的使⽤限额为⽆限制(⾮⽆,是⽆限制使⽤).
Only one mode (TABLES, FROMUSER, or FULL) can be specified #即为在导⼊的时候,只能从tables,fromuser,full中指定⼀种模式.
imp sales/sales@test1 fromuser=zjj touser=sales rows=n ignore=n commit=y TABLESPACES=test file=D:\exp\zjj.dmp
log=d:\exp\zjjimp01.log #倒⼊数据的格式
imp hr/hr file=e:\hr.dmp log=e:\hrimp.log fromuser=hr touser=test1
alter table (tablename) move tablespace 表空间名#把某个表移动到另外⼀个表空间.
查看导⼊后表的表空间
select * from user_all_tables where table_name='表名'
查看表空间的使⽤情况
select sum(bytes)/(1024*1024) as free_space,tablespace_name from dba_free_space group by tablespace_name;
六:更改sys和sysem的密码
Alter user sys identified by 新的密码
如何连接oracle数据库Alter user system identified by 新的密码
www.doczj/doc/8ef39083ec3a87c24128c400.html技术社区
七:更改数据库为归档模式:
通过v$database,查看数据库是否在Archive模式下:
SQL> select log_mode from v$database;
或者通过
SQL> archive log list;
如果不是Archive模式,则设定数据库运⾏于归档模式下:
⼀:数据库⽤pfile⽂件时的修改⽅法。
(1):SQL>shutdown immediate
SQL>startup mount
SQL> alter database archivelog;
SQL> alter database open;
如果Automaticarchival显⽰为“Enabled”,则数据库归档⽅式为⾃动归档。否则需要⼿⼯归档,或者将归档⽅式修改为⾃动归档,如:正常shutdown数据库,在参数⽂件中
init(sid).ora中加⼊如下参数
SQL>shutdown immediate
修改init(sid).ora:
LOG_ARCHIVE_START=TRUE
log_archive_dest = /opt/oracle/product/9.2.0/dbs/archgaogao (归档⽇值存放位置可以⾃⼰定义)
log_archive_format = "T%TS%S.ARC" (存档⽇志⽂件的⽂件名格式)
⼆:数据库⽤的时⼆进制spfile时的修改⽅法,即以命令⽅式操作。
(1):SQL> alter database archivelog; (设置为归档模式)
设置成⾃动归档:(重新启动数据库⽣效)
(2):SQL> alter system set log_archive_start = true scope=spfile;
设置归档路径:(重新启动数据库⽣效)
(3):SQL>alter system set log_archive_dest ='/opt/oracle/product/9.2.0/dbs/archexitgogo' scope=spfile;
重新启动数据库:
SQL>startup force
然后,重新启动数据库,此时Oracle数据库将以⾃动归档的⽅式⼯作在Archive模式下。其中参数LOG_ARCHIVE_DEST是指定的归档⽇志⽂件的路径,建议与Oracle数据库⽂件存在不同的硬盘,⼀⽅⾯减少磁盘I/O竞争,另外⼀⽅⾯也可以避免数据库⽂件所在硬盘毁坏之后的⽂件丢失。归档路径也可以直接指定为磁带等其它物理存储设备,但可能要考虑读写速度、可写条件和性能等因素。
如果数据库正在运⾏中,不能即刻重起,要设置其为⾃动归档模式,则做如下操作:
SVRMGRL> ALTER SYSTEM ARCHIVE LOG START;
如要设置其为⾮⾃动归档模式(取消⾃动归档),则:
SVRMGRL> ALTER SYSTEM ARCHIVE LOG STOP;
但如果数据库重起后,该语句修改的结果就失效了,⾃动归档的设置还是按照系统参数⽂件中的LOG_ARCHIVE_START的值来设置。
⼿动归档:ALTER SYSTEM ARCHIVE LOG ALL;
将这个时间点的redo logs归档
SVRMGRL> archive log all;
注意:当数据库处在ARCHIVE模式下时,⼀定要保证指定的归档路径可写,否则数据库就会挂起,直到能够归档所有归档信息后才可以使⽤.
⼋:如何通过控制⽂件查看数据⽂件,⽇值⽂件所在的位置
看⼀下controlfile不就知道了
[oracle@localhost cicro]$ l
]\[Z
CICRO
cicro
cicro
"aoE
"aoE
/opt/oracle/oradata/cicro/redo03.log
/opt/oracle/oradata/cicro/redo02.log
/opt/oracle/oradata/cicro/redo01.log
/opt/oracle/oradata/cicro/xdb01.dbf
/opt/oracle/oradata/cicro/users01.dbf
/opt/oracle/oradata/cicro/undotbs01.dbf /opt/oracle/oradata/cicro/tools01.dbf
/opt/oracle/oradata/cicro/system01.dbf /opt/oracle/oradata/cicro/odm01.dbf
/opt/oracle/oradata/cicro/indx01.dbf
/opt/oracle/oradata/cicro/example01.dbf /opt/oracle/oradata/cicro/drsys01.dbf /opt/oracle/oradata/cicro/cwmlite01.dbf /opt/oracle/oradata/cicro/temp01.dbf /opt/oracle/oradata/cicro/sxzjdb.dbf
/opt/oracle/oradata/cicro/redo03.log
/opt/oracle/oradata/cicro/redo02.log
/opt/oracle/oradata/cicro/redo01.log
/opt/oracle/oradata/cicro/xdb01.dbf
/opt/oracle/oradata/cicro/users01.dbf
/opt/oracle/oradata/cicro/undotbs01.dbf /opt/oracle/oradata/cicro/tools01.dbf /opt/oracle/oradata/cicro/system01.dbf /opt/oracle/oradata/cicro/odm01.dbf /opt/oracle/oradata/cicro/indx01.dbf
/opt/oracle/oradata/cicro/example01.dbf /opt/oracle/oradata/cicro/drsys01.dbf /opt/oracle/oradata/cicro/cwmlite01.dbf /opt/oracle/oradata/cicro/temp01.dbf /opt/oracle/oradata/cicro/sxzjdb.dbf CWMLITE
DRSYS
EXAMPLE
INDX
SYSTEM
TOOLS
UNDOTBS1
USERS
TEMP
CWMLITE
DRSYS
EXAMPLE
INDX
SYSTEM
TOOLS
UNDOTBS1
USERS
TEMP
SXZJ
………………………….
九、数据库的扩充
1、增加⼀个表空间
当我们要开发某个⼤型的应⽤程序时,最好建⽴⼀个相应的表空间。命令⽰例:
SVRMGR>create tablespace application datafile
‘/usr/oracle/dbs/application.dbf’ size 3M
针对具体情况增加回滚和临时表空间
命令⽰例:
SVRMGR>create rollback tablespace rbs8 datafile
‘/usr/oracle/dbs/rbs8.dbf’ size 4M
SVRMGR>create tablespace tmp8 datafile
‘/usr/oracle/dbs/tmp8.dbf’ size 550K
回滚和临时表空间⽤完后,可删除或使它offline
SVRMGR>drop tablespace rbs8;
SVRMGR>drop tablespace tmp8;
SVRMGR>alter tablespace rbs offline;
SVRMGR>alter tablespace tmp8 offline;
建⽴回滚段举例:
SVRMGR>create rollback segment rs11 tablespace tmp8 ; SVRMGR>alter rollback segment rs11 online; SVRMGR>alter rollback segment rs11 offline;
2、增加某个表空间的⼤⼩
当⼀个表空间的⼤⼩不能满⾜⼯作需要时,应该扩充表空间。
举例:
SVRMGR>alter tablespace system
add datafile ‘/usr/oracle/dbs/sys338.dbf’ size 3M;
⼗、增加oracle的⽤户,并给⽤户授权
1、增加oracle的⽤户, 并给⽤户授权
举例:
SVRMGR>create user newuser identified by userpasswd default tablespace application temporary tablespace tmp8; SVRMGR>grant connect to newuser;
SVRMGR>grant resource to newuser;
SVRMGR>grant update on emp to newuser;
2、增加oracle的⾓⾊
oracle的缺省⾓⾊有connect、resource、dba。它是⼀组可以分配给其它role
或⽤户的权限总和,connect 有8个权限,resource 有5个权限,dba有77
个权限。给⼀般连接⽤户赋connect,给⼀般编程⼈员赋connect加resource,
只有数据库管理员才有dba的权限。
①创建⼀个⾓⾊
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论