http://www.oracle.com/technology/global/cn/pub/articles/smiley_10gdb_install.html
例:创建cms53的表空间,用户名,密码都是cms53
create tablespace bnucms61
datafile 'E:/app/Administrator/oradata/orcl/bnucms61.dbf' size 100M
autoextend on
maxsize unlimited
default storage (initial 1024K
Next 1024K
minextents 1
maxextents unlimited
pctincrease 0);
linux下:
create tablespace ncepucms
datafile '/oracle/oradata/orcl/ncepucms.dbf' size 100M
autoextend on
maxsize unlimited
default storage (initial 1024K
Next 1024K
minextents 1
maxextents unlimited
pctincrease 0);
create user ncepucms identified by ncepucms default tablespace ncepucms;
grant connect,resource,dba to ncepucms;
删除用户:
drop user cms61 cascade;
drop tablespace cms61;
drop tablespace cms61 including contents;
数据导出与导入
导出:
exp 用户名/密码@orclshop
导出文件:>e:/123.dmp
要导出的用户:>用户名
导入:
imp 用户名/密码@orclshop
导入文件:>e:/123.dmp
则imp 会提示用户需要输入下一个需要导入的文件名.交互式导入时大多数参数都有缺省值.假如选用缺省值,直接回车即可.
Enter insert buffer size (minimum is 8192) 30720>
--此处需要输入buffer值,此处通常选择缺省值,直接回车.
Export file created by EXPORT:V08.01.07 via conventional path
import done in ZHS16CGB231280 character set and ZHS16CGB231280 NCHAR
character set
IMP-00046: using FILESIZE value from export file of 1073741824
List contents of import file only (yes/no): no >
--假如选择yes则imp 会显示出导入文件的数据,并且这些数据这不会被导入数据库中.假如事先不知道导入文件中有哪些数据,可以利用此参数查看文件内容.此处直接回车.
Ignore create error due to object existence (yes/no): no > --是否忽略对象已经存在的错误,假如选择yes 则出现对象已经存在的错误时,不显示错误信息.
Import grants (yes/no): yes > --是否导入授权通常选择yes
Import table data (yes/no): yes > --是否导入表中数据假如选择no,则只导入表的结构通常选择yes
Import entire export file (yes/no): no > --是否导入整个文件假如选择yes,则imp 导入整个文件的数据.假如选择no,则下面会提示需要导入的用户名以及表名
Username: camsii --需要导入的用户名
Enter table(T) or partition(T:P) names. Null list means all tables for
user
Enter table(T) or partition(T:P) name or . if done: . –需要导入的表名或表的分区名假如输入表名则只导入该用户模式下的表的数据假如输入回车或
.
则表示要导出该用户的所有数据此处输入
imp omgap/omgap@sinosoft file='E:\dbasebk\20080408.dmp' log='E:\dbasebk\20080408.log' full=y
imp cms61/cms61@orcl ignore=y full=y rows=y file=/oracle/wzh0706.dmp
linux下:
设置数据库地址
export ORACLE_HOME=/home/oracle/oracle/product/10.2.0/db_2
ls
cd
ls
cd /home/oracle/install
export ORACLE_HOME=/home/oracle/oracle/product/10.2.0/db_2
cd
cd $ORAL*
ls
ls
cd bin
ls
./sqlplus jlyt4/jlyt4@orcl2
看oracle安装路径
su - oracle
echo $ORACLE_HOME
2,启动TNS监听器
$ORACLE_HOME/bin/lsnrctl start
3,用sqlplus启动数据库
$ORACLE_HOME/bin/sqlplus /nolog /oracle/OraHome1/bin/sqlplus /nolog
SQL> connect system/change_on_install as sysdba
SQL> startup
4,用sqlplus停止数据库
$ORACLE_HOME/bin/sqlplus /nolog
SQL> connect system/change_on_install as sysdba
SQL> shutdown
3.启动ORACLE
在oracle目录下. .bash_profile
在bin目录下sqlplus "/as SYSDBA"
SQL>startup
----------------------------------------------------------------------------
2.su - oracle
3.export ORACLE_HOME=/oracle/OraHome1/
4.. .bash_profile
5.cd /OraHome1/bin
6.lsnrctl start
7.sqlplus "/as SYSDBA"
8.startup
------------------------------------------------------------------------------
数据库启动:
如果采用STARTUP NOMOUNT或者是STARTUP MOUNT的数据库打开命令方式,必须采用ALTER DATABASE命令来执行打开数据库的操作。例如,如果你以STARTUP NOMOUNT方式打开数据库,也就是说实例已经创建,但是数据库没有安装和打开。这是必须运行下面的两条命令,数据库才能正确启动。
ALTER DATABASE MOUNT;
ALTER DATABASE OPEN;
而如果以STARTUP MOUNT方式启动数据库,只需要运行下面一条命令即可以打开数据库:
ALTER DATABASE OPEN.
数据库配置文件:
F:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora
F:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora
alter database backup controlfile to trace;
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "BITWWW" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/data/oracle/app/oradata/BITWWW/redo01.log' SIZE 50M,
GROUP 2 '/data/oracle/app/oradata/BITWWW/redo02.log' SIZE 50M,
GROUP 3 '/data/oracle/app/oradata/BITWWW/redo03.log' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'/data/oracle/app/oradata/BITWWW/system01.dbf',
'/data/oracle/app/oradata/BITWWW/undotbs01.dbf',
'/data/oracle/app/oradata/BITWWW/sysaux01.dbf',
'/data/oracle/app/oradata/BITWWW/users01.dbf',
'/data/oracle/app/oradata/BITWWW/cms61.dbf'
CHARACTER SET AL32UTF8
;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
select tablespace_name from dba_tablespaces where contents='TEMPORARY';
alter tablespace temp add tempfile '/data/oracle/app/oradata/BITWWW/cms61.dbf';
alter database tempfile '/data/oracle/app/oradata/BITWWW/temp01.dbf' resize 5000m;
alter tablespace temp add tempfile '/data/oracle/app/oradata/BITWWW/temp01.dbf' size 500M;
select * from v$session where username is not null
select username,count(username) from v$session where username is not null group by username; #查看不同用户的连接数
SQL> select count(*) from v$session; #连接数
SQL> select count(*) from v$session where status='ACTIVE'; #并发连接数
SQL> show parameter processes; #最大连接
SQL> alter system set processes = value scope = spfile;重启数据库 #修改连接
select username from dba_users; 查看数据库中的用户
select instance_name from v$instance;查看SID
alter table accounts add constraint pk_accounts primary key(ID);
show parameter sessions;
_____________________________________________________________________________________________
如下所示,执行cateexp.sql后,再试着导出数据,真的就可以成功导出了。
F:Oracle>sqlplus /nolog
SQL*Plus: Release 9.2.0.4.0 - Production on 星期六 3月 5 22:28:37 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> connect /as sysdba
已连接。
SQL> @rdbms/admin/catexp.sql
desc CMS_CHANNEL_VISITLOG;
alter table CMS_CHANNEL_VISITLOG modify system varchar2(255);
alter table CMS_ARTICLE_VISITLOG modify system varchar2(255);
SQL> startup
ORA-27154: post/wait create failed
ORA-27300: OS system dependent operation:semget failed with status: 28
ORA-27301: OS failure message: No space left on device
ORA-27302: failure occurred at: sskgpsemsper
echo "110 10000 110 128" > /proc/sys/kernel/sem
alter table CMS_CONTENTPROPERTY add(xstringValue varchar2(4000));
update CMS_CONTENTPROPERTY set xstringValue = stringValue;
update CMS_CONTENTPROPERTY set stringValue = null;
alter table CMS_CONTENTPROPERTY modify stringValue long;
update CMS_CONTENTPROPERTY set stringValue = xstringValue;
alter table CMS_CONTENTPROPERTY drop COLUMN xstringValue;
查看数据库字段类型
1. 创建新表
根据当前表结构创建新表,修改新表字段,将原数据灌进来,删除旧表,将新表rename为旧表名
create table new as select * from foo where 1=2;
alter table new modify (col_name number(5));
insert into new select * from foo;
drop table foo;
rename new to foo;
如果原表有索引,触发器、外键等需要新建。
创建临时字段替换
新建一个临时字段,把要修改的字段的内容备份到临时字段后清空原字段,然后再修改类型,之后再把临时字段的内容复制到修改后的字段,最后删除临时字段
alter table foo add(tmp_col number(5));
update foo set tmp_col = to_number(col_name);
update foo set col_name = null; --此处要小心啊,原数据全没了,一定要保证上一步正确执行
alter table foo modify (col_name number(5));
update foo set col_name = tmp_col;
alter table foo drop column tmp_col;
oracle相关
========================================
Written on
2021-02-03
.
Categories:
实施工程
Previous:
mysql数据库自动备份