动用的死灰复燃措施

set rowcount 20000
delete from UFSystem..ua_log
set rowcount 0

一、sybase创建用户数据库的剧本。

原文地址:truncate 表之后,选拔的上升措施作者:ban仙

原文地址:truncate 表之后,拔取的东山再起措施作者:ban仙

truncate table ua_log_bak20111201

$ isql -Usa -P111111 -SASE1
1> use master
2> go
制造数量设备
1> disk init
2> name=’dbname_data1′,
3> physname= ‘/opt/sybase/data/dbname_data1.dat’,
4> size=’300M’,
5> dsync=true
6> go
开创日志设备
1> disk init
2> name=’dbname_log’,
3> physname=’/opt/sybase/data/dbname_log.dat’,
4> size=’300M’,
5> dsync=true
6> go
创制数据库
1> create database dbname on dbname_data1=’300M’ log on
dbname_log=’300M’
2> go
增产用户
1> sp_addlogin ’shen’,’shen’,’dbname’
2> go
将用户增进到新建数据库
1> use dbname
2> go
1> sp_adduser ’shenbao’
2> go
1> grant create table, create view, create procedure to shenbao
2> go
扩充临时数据库空间
1> use master
2> go
1> disk init
2> name=’tempdb1′,
3> physname=’/opt/sybase/data/tempdb1.dat’,
4> size=’300M’,
5> dsync=true
6> go
1> alter database tempdb on tempdb1=’300M’
2> go
设置数据库选项
1> use master
2> go
1> sp_dboption dbname, ‘ddl in tran’,true
2> go
1> use dbname
2> go
1> checkpoint
2> go

一 模拟条件

一 模拟条件

truncate table ua_动用的死灰复燃措施。log

二、启动和倒闭数据库,查看表结构
1.看有着的库
sp_helpdb
go
2.应用一个库
use 库名(注意分寸写)
go
select name from sysobjects where type = ‘U’
go
3.翻看用户下所有表名
select name from sysobjects where type=’U’

sp_tables
go
4.查看表结构
sp_help 表名(注意分寸写)
go
5.出示结果只显示一行
set rowcount 1
go
输入你想查询的sql语句,记得最终要
set rowcount 0
go
6.发轫数据库
$ startserver -f $SYBASE/$SYBASE_ASE/install/RUN_ASE1
$ startserver -f $SYBASE/$SYBASE_ASE/install/RUN_ASE1_BS
7.关闭数据库
先要看启动了怎么着服务
1> select srvname from sysservers
2> go
srvname                        
—————————— 
SYB_BACKUP                     
loopback                       
rosanljw_BS                    
rosantech                      
(4 rows affected)
关门备份服务
1> shutdown SYB_BACKUP
2> go
关闭
1> shutdown 
2> go
若是关不上
1> sp_lock
2> go
The class column will display the cursor name for locks associated with
a cursor
for the current user and the cursor id for other users.
fid    spid   loid        locktype                     table_id   
page       
         row    dbname          class                         
         context                      

   1.Create environment

   1.Create environment

数据库 属性  选项 模型 改成 简单 然后确定
再进行数据库减弱


      sqlplus / as sysdba

      sqlplus / as sysdba


      sql> create tablespace myexample

      sql> create tablespace myexample

         —— ————— ——————————
         —————————- 
      0     57         114 Sh_intent                      
32000114           0
              0 master          Non Cursor Lock               
(1 row affected)
(return status = 0)
1> kill 57(spid只好杀除自己对话以外的对话)
杀掉再shutdown就好了 
!!!假若关不动,可以用以下命令,慎用
shutdown with nowait
三、dml和ddl
1.建表
use test
go
create table table1
(test varchar(10))
go
–仿照table1建立table2
select * from table1 into table2

      sql> conn tiger/tiger
      sql> create table mysales
tablespace myexample   as select * from dba_tables;
      sql> select count(*) from mysales;

      sql> conn tiger/tiger
      sql> create table mysales
tablespace myexample   as select * from dba_tables;
      sql> select count(*) from mysales;

go

–要是不可以模仿要求修改部分参数
sp_helpdb db_name    –查看SELECT into选项是不是打开,没开需求手动开启
go
use master
go
sp_dboption test,’select into’,true        –(test为db_name)
go
checkpoint
go
use test
go
select * from table1 into table2
go
四、用户管理
1.开立登陆用户(login)
1> sp_addlogin loginname,password,defualt_database
2> go
Password correctly set.
Account unlocked.
New login created.
(return status = 0)
2.刨除登陆用户(login)
1> sp_droplogin loginname
2> go
3.创设数据库用户(user)
1> sp_adduser username
2> go
New user added.
(return status = 0)
4.刨除数据库用户(user)
1> sp_dropuser username
2> go

sybase数据库的用户,包罗多个范畴:一个是登陆号,另一个是有血有肉DB的用户,大家登陆时,使用的是登录号,可是那些登录号可以操作哪些DB及操作权限则取决于数据库用户。一般情况下,我们可以使用相同的名字来代表登录号和数据库用户。

首先创设一个登陆号:
sp_addlogin loginame, passwd 
loginame 登录名
passwd 密码
整套语法(一般不要到)为:
sp_addlogin loginame, passwd [, defdb][, deflanguage ] [, fullname
] [, passwdexp ][, minpwdlen ] [, maxfailedlogins ]

接下来创造用户:

sp_adduser loginame
那样创立当前数据库的用户,且用户名和登陆名是平等的。
全方位语法为:
[dbname..]sp_adduser loginame [, username[, grpname]]

最后分配权限:
grant all | select,insert,delete,update on table_name | view_name |
stored_procedure_name to username

grant all | create database,create default,create procedure,create
rule,create table,create view,set proxy,set session authorizationto
username

例,如若当前DB为:DB001:
sp_addlogin ‘test001′,’password001’
go
sp_adduser ‘test001’, ‘user001’
go
grant create table to user001
go

始建了一个test001的登录名,之后为之创制一个脚下数据库的用户,使这么些登录名可以操作当前数据库。之后分配了创立表的权柄给user001。

以此时候你就可以利用用户名’test001’和密码’password001’登陆了,并且可以在DB001中开创表了。同时由于sp_adduser
的时候从不点名grpname参数,那么默许是public用户组,这几个组里的用户默许即开展了select/delete/update/insert的权力。

若是您期望去掉一部分权力,请使用revoke命令,其语法了grant完全相同,你只须求将grant换成revoke即可,例:
revoke select on address to user001
禁止user001查看address表。

五、sybase ASE参数配置
(1)服务器级配置
运用存储进程sp_configure配置ASE (和oracle的show parameter很像)

  1. 语法
    sp_configure [configname[, configvalue] | group_name |
    non_unique_parameter_fragment]
  2. 作用
    查询服务器运行的近日值
    安装服务器运行参数
    用 “sp_configure mem” 可以查阅带有mem关键字的参数的切实可行布署,然后用
    “sp_configure 参数, 值” 来配置新
    例1. 配备内存
    1)数据库使用内存
    指定ASE拥有的总的共享内存大小
    sp_configure“max memory”,nnn(单位为2K)(
    HP平台推荐物理内存的75%,其余平台80%)
    sp_configure‘allocate max shared
    mem’,1(数据库服务启动时就分配内存)(推荐为1)
    2)配置缺省数码缓存的大小和分区
    sp_cacheconfig‘default data cache’,’xxxM’
    sp_cacheconfig‘default data cache’,’cache_partition=n’
    (按照CPU个数以及内存大小确定,需为2的N次方)
    3)配置存储进程的缓存大小
    sp_configure“procedure cache size”,nnn(单位为2K)
    例2. 配置CPU
    sp_configure‘max online engines’,n(cpu个数> 2时推荐CPU数目减1)
    sp_configure‘number of engines at startup’,n
  3. 其他
    1). number of devices (用户自己确定)
    指定ASE的可创建和开辟的数据库设备的最中号数
    2). number of locks (用户自己确定)
    指定ASE可同时开辟的锁的最大数额
    3). number of open objects (推荐8000-20000)
    ASE的目的描述的缓存数
    997755.com澳门葡京 ,4)number of open indexes (推荐2000-5000)
    ASE的目录描述的缓存数
    5) stack size (如若有超长SQL和多层嵌套,推荐*2)
    数据库堆栈的轻重
    6). default character set id(推荐应用cp936 –id 171)
    数据库服务器使用的字符集
    7). allow updates to system tables
    点名系统管理员是不是足以改变系统表中的数目
    8)row lock promotion HWM,row lock promotion LWM
    行锁升级为表锁的阀值
    9)page lock promotion HWM,page lock promotion LWM
    页锁升级为表锁的阀值
    10) lock scheme
    缺省的对表加的锁类型(缺省为页锁)
    (2)数据库级配置
    利用存储进程sp_dboption更改数据库的数据库选项
  4. 语法sp_dboption[dbname, optname, {true | false}]
  5. 作用
    位列出具有的数据库选项
    更改某个数据库的数据库选项
  6. 科普的数据库选项
    trunclog on chkpt自动清日志(不可以再做增量备份)
    select into/bulkcopy允许快速BCP,selectinto
    ddlin tran允许工作中创造对象
    修改落成之后可以经过sp_helpdb查看到
    例子:
    1> use master
    2> go
    1> sp_dboptionuserdb, “trunclog on chkpt”, true
    2> go
    数据库‘userdb’的数据库选项’trunclog on chkpt’被打开。
    在被改成数据库中运作CHECKPOINT命令。
    (return status = 0)
    1> use userdb
    2> go
    1> checkpoint
    2> go
    六、修改字符集为华语
    1.先进入到粤语字符集的目录,把汉语加载一下
    [sybase@rosan128main cp936]$ pwd
    /opt/sybase/charsets/cp936
    [sybase@rosan128main cp936]$ charset -Usa binary.srt cp936
    Please enter sa’s Password: 
    Loading file ‘binary.srt’.
    Found a [sortorder] section.
    This is Class-1 sort order.
    Finished loading the Character Set Definition.
    Finished loading file ‘binary.srt’.
    1 sort order loaded successfully
  7. 修改默许字符集为华语
    率先查一下默许的国语字符集的id
    1> select name ,id from syscharsets where name=’cp936′
    2> go
    name                           id

cp936                          171
得知id为171,最终修改字符集
1> sp_configure “default character set id”,171
2> go
In changing the default sort order, you have also reconfigured SQL
Server’s
default character set.
Parameter Name                 Default     Memory Used Config Value
         Run Value   Unit                 Type


         ———– ——————– ———-
default character set id                 1           0         171
                   1 id                   static
(1 row affected)
Configuration option changed. Since the option is static, Adaptive
Server must
be rebooted in order for the change to take effect.
Changing the value of ‘default character set id’ to ‘171’ increases the
amount
of memory ASE uses by 4 K.
(return status = 0)
末尾重启数据库使参数生效
七、查看数据库新闻
sp_helpdb        –(查看所有数据库音信)
go
use test
go
sp_helpdbtest         –(查看test数据库详细音信)
go
八、查看ASE的长距离服务器
sp_helpserver
go
九、查看数据库对象的音信
sp_help            –数据库对象名字
sp_helpdevice        –设备名字
sp_helpdb
sp_helptext        –存储进程名字
sp_spaceused         –查看一个当下库(须要use
数据库)或表占所占据的上空
sp_recompile (+usertable)   
–重新编译存储进度和触发器。与该表相关联的仓储进度和触发器在首回运行时,自动重新编译
十、常用dbcc命令
dbcctraceon(3604)                     –(随后的dbcc命令结果输出到屏幕)
dbcctraceon(3605)                    
–(随后的dbcc命令结果输出到错误日志文件)
dbcccheckalloc[ (database_name[, fix | nofix] ) ]    
–(检查分配页)
dbcccheckcatalog[ (database_name) ]             –(检查系统表)
dbcccheckdb[ (database_name[, skip_ncindex] ) ]    
–(检查数据库)
dbccchecktable( { table_name| table_id}         –(检查表)
[, skip_ncindex] )
dbcctablealloc( { table_name| table_id}         –(检查表分配页)
[, { full | optimized | fast | null }
[, fix | nofix] ] ) |
十一、常用系统表
sysdatabases        –记录所有数据库基本音信
sysusages        –数据库空间分配情形
sysdevices        –数据库设备新闻
syslogins        –数据库服务器登录音信
sysusers        –数据库用户音讯
sysobjects        –数据库对象表(U 用户表,P 存储进度)
sysprocesses        –进程表
十二、平常正规维护(质量优化)
1.更新总结音信
update statistics (+usertable)   
–不会对表上锁,不影响工作,但相比耗资源 (optdiag)
2.整理数据库垃圾空间
重建表的聚簇索引
对行锁表执行reorg
什么加速上述操作 (配置I/O,并行)
只顾:以上操作对表上锁,其它,必须有充裕的空中来推行(剩余空间必须为最大表的1.2倍左右)
(sp_spaceusedusertable)
3.再度编译存储进程和触发器
sp_recompile (+usertable)   
–与该表相关联的储存进度和触发器在首先次运行时,自动重新编译
十三、备份和死灰复燃
系统管理员每一日必须作数据库的备份
备份的吩咐
1.全库备份
dump database userdb to stripe_device1 
stripe on stripe_device2
2.增量备份并删除日志
dump transaction userdb to stripe_device
3.仅删除日志(没有备份)
dump transaction userdb with truncate_only
4、日志满且truncate_only不可能删除日志时
dump transaction userdb with no_log(慎用)
还原的命令

  1. load database database_name from stripe_device
    平复整个数据库
  2. load transaction database_name from stripe_device
    过来日志
    十四、多少个常用的积存进程和指令
    sp_who            (查看用户进度)
    sp_lock            (查看数据库锁境况)
    sp_help            (查看对象新闻)
    sp_helpdb        (查看数据库音讯)
    sp_helpdevice        (查看设备新闻)
    sp_spaceused        (查看表占用的长空尺寸)
    select @@version    (查看版本号)
    dbcc sqltext(@spid)    (查看@spid执行的sql语句)

    sp_showplan @spid,null,null,null        (查看@spid的举办安排)

    ************************************************************************************************

    修改server启动地址及端口:dscp
    $dscp
    >> open
    ok
    Session 1 InterfacesDriver>> add test
    Service: [ASE]
    Transport Type: [tcp]
    Transport Address: 158.77.123.200 5000  
    –注意端口号和ip地址之间用空格分开
    Transport Type: [tcp]
    Transport Address:
    Security Mechanism [] :
    HA Failoverserver:
    Retry Count:
    Retry Delay:
    Added test
    >> exit
    脱离后翻看 $SYBASE/interfaces 能看到添加到音信
    dscp一些基本操作命令
    help    查看帮忙
    list    突显所有的服务名
    read    看现实配置
    add    加一个新的
    del    删除已有的
    mod    修改已有些
    一、SQL Advantage使用
    先点击server,里面点击connect连接受sybase服务端,开一个新窗口,写一些sql执行即可(ctrl+e)

   2 备份

   2 备份

     [oracle@paynode2 new]$ rman
targetsys@PAYRAC

     [oracle@paynode2 new]$ rman
targetsys@PAYRAC

     RMAN>backup database format ‘+ARCHIVELOG/back/%d_%p_%s.FULL’

     RMAN>backup database format ‘+ARCHIVELOG/back/%d_%p_%s.FULL’

   3.truncate 表

   3.truncate 表

    sqlplus / as sysdba

    sqlplus / as sysdba

    sql > alter system switch
logfile;

    sql > alter system switch
logfile;

    sql > /

    sql > /

    sql >  select current_scn from v$database;

    sql >  select current_scn from v$database;

    sql >  select count(*) from  table tiger. mysales;

    sql >  select count(*) from  table tiger. mysales;

    sql >  set time on

    sql >  set time on

   10:15:41 SQL> select current_scn from v$database;

   10:15:41 SQL> select current_scn from v$database;

              CURRENT_SCN
              ———–
              317123764

              CURRENT_SCN
              ———–
              317123764

  10:15:51 SQL> truncate table tiger. mysales;

  10:15:51 SQL> truncate table tiger. mysales;

 

 

二 利用rman备份和TSPITR 恢复rac
truncate的表数据

二 利用rman备份和TSPITR 恢复rac
truncate的表数据

(1). 建立密码文件

(1). 建立密码文件

  orapwd file=initaux.ora entries=4 password=aux

  orapwd file=initaux.ora entries=4 password=aux

(2).建立参数文件
  
   1.再三再四主库,建立参数文件
   
     sqlplussys/man@payracas sysdba
 
     create
pfile=’/data/app/oracle/product/11.2.0/dbhome_1/dbs/initaux.ora’ from
spfile;
  
   2.编辑 initaux.ora 文件

(2).建立参数文件
  
   1.一而再主库,建立参数文件
   
     sqlplussys/man@payracas sysdba
 
     create
pfile=’/data/app/oracle/product/11.2.0/dbhome_1/dbs/initaux.ora’ from
spfile;
  
   2.编辑 initaux.ora 文件

    修改
    
*.log_file_name_convert=(‘+DATA_FILE’,’/data/aux’,’+ARCHIVELOG’,’/data/aux’)
     *.db_file_name_convert=(‘+DATA_FILE’,’/data/aux’)
     *.control_files=’/data/aux/aux.ctl’
    *.db_unique_name=’aux’

    修改
    
*.log_file_name_convert=(‘+DATA_FILE’,’/data/aux’,’+ARCHIVELOG’,’/data/aux’)
     *.db_file_name_convert=(‘+DATA_FILE’,’/data/aux’)
     *.control_files=’/data/aux/aux.ctl’
    *.db_unique_name=’aux’

    加入

    加入

     *.instance_number=1

     *.instance_number=1

    改小

    改小

      *.memory_target=3488881664

      *.memory_target=3488881664

    删除有关内存分配的参数

    删除有关内存分配的参数

(3).restore 文件

(3).restore 文件

    rman targetsys/man@payrac

    rman targetsys/man@payrac

    rman > list backup of datafile 1,3,4,22;

    rman > list backup of datafile 1,3,4,22;

    1       Full 317120994  21-OCT-11
+DATA_FILE/payrac/datafile/system.259.735856809
    3       Full 317120994  21-OCT-11
+DATA_FILE/payrac/datafile/undotbs1.261.735856815
    4       Full 317120994  21-OCT-11
+DATA_FILE/payrac/datafile/undotbs2.263.735856825
    22      Full 317120994  21-OCT-11
+DATA_FILE/payrac/datafile/myexample.264.764951973

    1       Full 317120994  21-OCT-11
+DATA_FILE/payrac/datafile/system.259.735856809
    3       Full 317120994  21-OCT-11
+DATA_FILE/payrac/datafile/undotbs1.261.735856815
    4       Full 317120994  21-OCT-11
+DATA_FILE/payrac/datafile/undotbs2.263.735856825
    22      Full 317120994  21-OCT-11
+DATA_FILE/payrac/datafile/myexample.264.764951973

    ( 注:另开一个窗口         mkdir -p /data/aux/payrac/datafile)

    ( 注:另开一个窗口         mkdir -p /data/aux/payrac/datafile)

   rman >  restore controlfile to ‘/data/aux/aux.ctl’ from
‘+ARCHIVELOG/back/control.c-1544998241-20111021-00’;

   rman >  restore controlfile to ‘/data/aux/aux.ctl’ from
‘+ARCHIVELOG/back/control.c-1544998241-20111021-00’;

  RMAN> run {
              set newname for datafile 1 to  
‘/data/aux/payrac/datafile/system.259.735856809’;
              set newname for datafile 3 to  
‘/data/aux/payrac/datafile/undotbs1.261.735856815’;
              set newname for datafile 4 to  
‘/data/aux/payrac/datafile/undotbs2.263.735856825’;
              set newname for datafile 22 to 
‘/data/aux/payrac/datafile/myexample.264.764951973’
              restore datafile 1,3,4,22;
              switch datafile all;
             }

  RMAN> run {
              set newname for datafile 1 to  
‘/data/aux/payrac/datafile/system.259.735856809’;
              set newname for datafile 3 to  
‘/data/aux/payrac/datafile/undotbs1.261.735856815’;
              set newname for datafile 4 to  
‘/data/aux/payrac/datafile/undotbs2.263.735856825’;
              set newname for datafile 22 to 
‘/data/aux/payrac/datafile/myexample.264.764951973’
              restore datafile 1,3,4,22;
              switch datafile all;
             }

(4). 启动协助例程aux

(4). 启动匡助例程aux

 export ORACLE_SID=aux
 sqlplus / as sysdba

 export ORACLE_SID=aux
 sqlplus / as sysdba

 sql >  startup nomount
pfile=/data/app/oracle/product/11.2.0/dbhome_1/dbs/initaux.ora

 sql >  startup nomount
pfile=/data/app/oracle/product/11.2.0/dbhome_1/dbs/initaux.ora

 sql >  alter database mount clone database;

 sql >  alter database mount clone database;

 sql > alter database datafile 1 online;
 sql > alter database datafile 3 online;
 sql > alter database datafile 4 online;
 sql > alter database datafile 22 online;

 sql > alter database datafile 1 online;
 sql > alter database datafile 3 online;
 sql > alter database datafile 4 online;
 sql > alter database datafile 22 online;

(5). 修改 log_archive_dest_1之后 做恢复

(5). 修改 log_archive_dest_1之后 做恢复

  sql >  alter system set
log_archive_dest_1=’LOCATION=+ARCHIVELOG/arch’;

  sql >  alter system set
log_archive_dest_1=’LOCATION=+ARCHIVELOG/arch’;

  sql >  recover database until change 317123764 using backup
controlfile;

  sql >  recover database until change 317123764 using backup
controlfile;

(6).  打开数据库

(6).  打开数据库

   sql > alter database open read only;

   sql > alter database open read only;

(7). 导出表数据,并在规范库上导入

(7). 导出表数据,并在正儿八经库上导入

    exp system/oracle   tablespace=MYEXAMPLE file=use01.dmp

    exp system/oracle   tablespace=MYEXAMPLE file=use01.dmp

   或者

   或者

    exp system/oracle   tables=tiger.mysales  file=use02.dmp

    exp system/oracle   tables=tiger.mysales  file=use02.dmp

   或者
       expdp system/oracle

   或者
       expdp system/oracle

   用imp,impdp 导入即可

   用imp,impdp 导入即可

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website