【Step By Step】Oracle 11gR2 RAC to RAC ADG安裝


0.Summary

1. 配置DG專用網(wǎng)絡(luò)
.   1.1 Primary添加網(wǎng)絡(luò)和監(jiān)聽
.   1.2 Standby添加網(wǎng)絡(luò)和監(jiān)聽
2. 主庫準(zhǔn)備
3. 備庫配置tnsnames.ora和監(jiān)聽
4. 主庫創(chuàng)建pfile
5. 修改備庫pfile
6. 主庫修改參數(shù)
7. 主庫添加standby日志
8. 同步數(shù)據(jù)
9. 注冊O(shè)CR并打開備庫
10. 備庫應(yīng)用日志
11. 檢查角色和保護(hù)等級
12. 處理遺留問題

1. 配置DG專用網(wǎng)絡(luò)

1.1 Primary添加網(wǎng)絡(luò)和監(jiān)聽

cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.27    oratest1
192.168.1.28    oratest2
192.168.2.27    oratest1-priv
192.168.2.28    oratest2-priv
192.168.1.29    oratest1-vip
192.168.1.30    oratest2-vip
192.168.1.26    oradb-scan

192.168.4.27    oratest1-dg
192.168.4.28    oratest2-dg
192.168.4.29    oratest1-dg-vip
192.168.4.30    oratest2-dg-vip

192.168.4.53    oradg1-dg-vip
192.168.4.54    oradg2-dg-vip

# srvctl add network -k 2 -S 192.168.4.0/255.255.255.0/eth6 -w static -v
# crsctl stat res -t | grep network 
ora.net1.network
ora.net2.network
# crsctl start res ora.net2.network
# srvctl add vip -n oratest1 -A 192.168.4.29/255.255.255.0 -k 2
# srvctl add vip -n oratest2 -A 192.168.4.30/255.255.255.0 -k 2

$ netca

Oracle Net Services Configuration:
Oracle Net Configuration Assistant is launched from Grid Infrastructure home. Network configuration will be clusterwide.
Configuring Listener:LISTENER_DG
oratest1...
oratest2...
Listener configuration complete.
Oracle Net Listener Startup:
    Listener started successfully.
Oracle Net Services configuration successful. The exit code is 0

將數(shù)據(jù)庫實(shí)例注冊到新建的監(jiān)聽地址中

alter system set local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.29)(PORT = 1521))','(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.29)(PORT = 1555))' scope=both sid='oradb1';
alter system set local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.30)(PORT = 1521))','(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.30)(PORT = 1555))' scope=both sid='oradb2';

1.2 Standby添加網(wǎng)絡(luò)和監(jiān)聽

cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.51    oradg1
192.168.1.52    oradg2
192.168.2.51    oradg1-priv
192.168.2.52    oradg2-priv
192.168.1.53    oradg1-vip
192.168.1.54    oradg2-vip
192.168.1.50    oradg-scan

192.168.4.51    oradg1-dg
192.168.4.52    oradg2-dg
192.168.4.53    oradg1-dg-vip
192.168.4.54    oradg2-dg-vip

192.168.4.29    oratest1-dg-vip
192.168.4.30    oratest2-dg-vip

# srvctl add network -k 2 -S 192.168.4.0/255.255.255.0/eth3 -w static -v
# crsctl stat res -t | grep network
ora.net1.network
ora.net2.network
# crsctl start res ora.net2.network
# srvctl add vip -n oradg1 -A 192.168.4.53/255.255.255.0 -k 2
# srvctl add vip -n oradg2 -A 192.168.4.54/255.255.255.0 -k 2

$ netca 

Oracle Net Services Configuration:
Oracle Net Configuration Assistant is launched from Grid Infrastructure home. Network configuration will be clusterwide.
Configuring Listener:LISTENER_DG
oradg1...
oradg2...
Listener configuration complete.
Oracle Net Listener Startup:
    Listener started successfully.
Oracle Net Services configuration successful. The exit code is 0

2. 主庫準(zhǔn)備

alter database force logging;
select log_mode,
       supplemental_log_data_min,
       supplemental_log_data_pk,
       supplemental_log_data_ui,
       force_logging
  from v$database;

LOG_MODE     SUPPLEME SUP SUP FOR
------------ -------- --- --- ---
ARCHIVELOG   NO       NO  NO  YES

Best Practices for Corruption Detection, Prevention, and Automatic Repair - in a Data Guard Configuration (Doc ID 1302539.1)

alter system set db_lost_write_protect=typical scope=both sid='*';
alter system set db_block_checksum=full scope=both sid='*';
alter system set db_block_checking=medium scope=both sid='*';

配置主庫的tnsnames.ora和監(jiān)聽

$ cat tnsnames.ora 
......

ORADB_P =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.29)(PORT = 1555))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.30)(PORT = 1555))
      (LOAD_BALANCE = off)
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORADB)
    )
  )

ORADB_S =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.53)(PORT = 1555))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.54)(PORT = 1555))
      (LOAD_BALANCE = off)
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORADB)
    )
  )

注意使用靜態(tài)監(jiān)聽

$ cat listener.ora
......

SID_LIST_LISTENER_DG =
 (SID_LIST =
   (SID_DESC =
     (GLOBAL_DBNAME = oradb)
     (ORACLE_HOME = /oracle/app/oracle/product/11.2.0/db_1)
     (SID_NAME = oradb1)
    )
  )

$ cat listener.ora
......

SID_LIST_LISTENER_DG =
 (SID_LIST =
   (SID_DESC =
     (GLOBAL_DBNAME = oradb)
     (ORACLE_HOME = /oracle/app/oracle/product/11.2.0/db_1)
     (SID_NAME = oradb2)
    )
  )

重啟監(jiān)聽

$ srvctl stop listener -l listener_dg
$ srvctl start listener -l listener_dg

3. 備庫配置tnsnames.ora和監(jiān)聽

$ cat tnsnames.ora 

ORADB_P =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.29)(PORT = 1555))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.30)(PORT = 1555))
      (LOAD_BALANCE = off)
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORADB)
    )
  )

ORADB_S =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.53)(PORT = 1555))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.54)(PORT = 1555))
      (LOAD_BALANCE = off)
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORADB)
    )
  )

$ cat listener.ora
......

SID_LIST_LISTENER_DG =
 (SID_LIST =
   (SID_DESC =
     (GLOBAL_DBNAME = oradb)
     (ORACLE_HOME = /oracle/app/oracle/product/11.2.0/db_1)
     (SID_NAME = oradb1)
    )
  )

$ cat listener.ora
......

SID_LIST_LISTENER_DG =
 (SID_LIST =
   (SID_DESC =
     (GLOBAL_DBNAME = oradb)
     (ORACLE_HOME = /oracle/app/oracle/product/11.2.0/db_1)
     (SID_NAME = oradb2)
    )
  )

重啟監(jiān)聽

$ srvctl stop listener -l listener_dg
$ srvctl start listener -l listener_dg

備庫創(chuàng)建必要的目錄

cd $ORACLE_BASE
mkdir -p admin/oradb/{adump,dpdump,pfile,hdump}

主庫將pwd文件復(fù)制到備庫

cd $ORACLE_HOME/dbs
scp orapworadb1 oradg1-dg-vip:`pwd`

cd $ORACLE_HOME/dbs
scp orapworadb2 oradg2-dg-vip:`pwd`

4. 主庫創(chuàng)建pfile

create pfile='/home/oracle/init_p.ora' from spfile;

將pfile復(fù)制到備庫

cd /home/oracle
scp init_p.ora oradg1-dg-vip:`pwd`/init_s.ora

5. 修改備庫pfile

oradb1.local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.53)(PORT = 1521))','(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.53)(PORT = 1555))'
oradb2.local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.54)(PORT = 1521))','(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.54)(PORT = 1555))'
*.db_unique_name='oradb_s'
*.log_archive_config='dg_config=(oradb_s,oradb)'
*.log_archive_dest_1='LOCATION=+FRA valid_for=(all_logfiles,all_roles) db_unique_name=oradb_s'
*.log_archive_dest_2='service=oradb_p valid_for=(online_logfiles,primary_role) lgwr async db_unique_name=oradb'
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.standby_file_management='auto'
*.fal_server='oradb'
*.db_file_name_convert='+DATADG/ORADB_S','+DATADG/ORADB'
*.log_file_name_convert='+DATADG/ORADB_S','+DATADG/ORADB'
*.remote_listener='oradg-scan:1521'

ORA-19527 reported in Standby Database when starting Managed Recovery (Doc ID 352879.1)

LOG_FILE_NAME_CONVERT目錄一致主要為了解決主備角色切換時(shí),online redo clear的問題。即使路徑一致的情況,如果不設(shè)置這個(gè)參數(shù),在rman duplicate也會發(fā)生類似告警,不過不影響應(yīng)用啟動(dòng)。

備庫創(chuàng)建spfile

SYS@+ASM1>alter diskgroup datadg add directory '+DATADG/ORADB_S';
SYS@oradb1>create spfile='+DATADG/oradb_s/spfileoradb.ora' from pfile='/home/oracle/init_s.ora';

cd $ORACLE_HOME/dbs
echo "SPFILE='+DATADG/oradb_s/spfileoradb.ora'" > initoradb1.ora
cd $ORACLE_HOME/dbs
echo "SPFILE='+DATADG/oradb_s/spfileoradb.ora'" > initoradb2.ora

備庫啟動(dòng)到nomount狀態(tài)

SYS@oradb1>startup nomount;
ORA-01565: error in identifying file '+DATADG/oradb_s/spfileoradb.ora'
ORA-17503: ksfdopn:2 Failed to open file +DATADG/oradb_s/spfileoradb.ora
ORA-15001: diskgroup "DATADG" does not exist or is not mounted
ORA-15040: diskgroup is incomplete

Converting R12 11g To RAC/ASM using rconfig failed with ORA-19504, ORA-17502, and ORA-15001 errors (Doc ID 1941108.1)

$ ls -ltr $ORACLE_HOME/bin/oracle
-rwsr-s--x 1 oracle oinstall 239839854 Oct  4 13:33 /oracle/app/oracle/product/11.2.0/db_1/bin/oracle
$ /oracle/app/11.2.0/grid/bin/setasmgidwrap o=$ORACLE_HOME/bin/oracle
$ ls -ltr $ORACLE_HOME/bin/oracle                                    
-rwsr-s--x 1 oracle asmadmin 239839854 Oct  4 13:33 /oracle/app/oracle/product/11.2.0/db_1/bin/oracle

SYS@oradb1>startup nomount

6. 主庫修改參數(shù)

主要修改db_unique_name需要重啟,如果不修改主庫的這個(gè)參數(shù),可以不用重啟。ASM情況下最好不要修改,默認(rèn)會減到OMF指定DG下的db_unique_name路徑下,如果修改了那么convert參數(shù)需要注意設(shè)置全至少兩個(gè)轉(zhuǎn)換路徑。

下面這個(gè)例子實(shí)際上db_unique_name沒變

alter system set db_unique_name='oradb' scope=spfile sid='*';
alter system set log_archive_config='dg_config=(oradb,oradb_s)' scope=spfile sid='*';
alter system set log_archive_dest_1='location=+FRA valid_for=(all_logfiles,all_roles) db_unique_name=oradb' scope=spfile sid='*';
alter system set log_archive_dest_2='service=oradb_s valid_for=(online_logfiles,primary_role) lgwr async db_unique_name=oradb_s' scope=spfile sid='*';
alter system set log_archive_dest_state_1=enable scope=spfile sid='*';
alter system set log_archive_dest_state_2=enable scope=spfile sid='*';
alter system set standby_file_management='auto' scope=spfile sid='*';
alter system set fal_server='oradb_s' scope=spfile sid='*';
alter system set db_file_name_convert='+DATADG/ORADB_S','+DATADG/ORADB' scope=spfile sid='*';
alter system set log_file_name_convert='+DATADG/ORADB_S','+DATADG/ORADB' scope=spfile sid='*';

重啟主庫

srvctl stop database -d oradb
srvctl start database -d oradb  

7. 主庫添加standby日志

alter database add standby logfile thread 1 group 7  '+DATADG' size 100M;
alter database add standby logfile thread 1 group 8  '+DATADG' size 100M;
alter database add standby logfile thread 1 group 9  '+DATADG' size 100M;
alter database add standby logfile thread 1 group 10 '+DATADG' size 100M;
alter database add standby logfile thread 2 group 11 '+DATADG' size 100M;
alter database add standby logfile thread 2 group 12 '+DATADG' size 100M;
alter database add standby logfile thread 2 group 13 '+DATADG' size 100M;
alter database add standby logfile thread 2 group 14 '+DATADG' size 100M;

set lines 200 pages 200
col member for a60
select a.group#,b.thread#,a.member, b.status,b.bytes/1024/1024 MB from v$logfile a, v$log b
 where a.group#=b.group#
 union all
select a.group#,b.thread#,a.member, b.status,b.bytes/1024/1024 MB from v$logfile a, v$standby_log b
 where a.group#=b.group#
 order by 2,1,3;

8. 同步數(shù)據(jù)

主庫做全備,并將備份集傳到備庫

cd /home/oracle/backup
scp * oradg1-dg-vip:`pwd`

恢復(fù)數(shù)據(jù)庫

RMAN> restore standby controlfile from '/home/oracle/backup/oradb1_ctl_file_10sgbonq_1_1_20171006';
RMAN> sql 'alter database mount standby database';
RMAN> restore database;
RMAN> recover database;

最后出現(xiàn)的報(bào)錯(cuò)可以忽略,因?yàn)樯俚氖莖nline redo log。

unable to find archived log
archived log thread=1 sequence=125
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 10/06/2017 20:39:23
RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 125 and starting SCN of 5673763

備庫數(shù)據(jù)文件頭

SYS@oradb1>select file#, status, checkpoint_change#, checkpoint_count from v$datafile_header order by 1;

     FILE# STATUS  CHECKPOINT_CHANGE# CHECKPOINT_COUNT
---------- ------- ------------------ ----------------
         1 ONLINE             5673763              137
         2 ONLINE             5673763              137
         3 ONLINE             5673763              137
         4 ONLINE             5673763              136
         5 ONLINE             5673763              136
         6 ONLINE             5673763              105

主庫日志

SYS@oradb1>select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME   NEXT_CHANGE# NEXT_TIME
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ------------ ------------ ------------
         1          1        125  104857600        512          1 NO  CURRENT                5673763 06-OCT-17      2.8147E+14
         2          1        123  104857600        512          1 YES INACTIVE               5671679 06-OCT-17         5671744 06-OCT-17
         3          1        124  104857600        512          1 YES INACTIVE               5671744 06-OCT-17         5673763 06-OCT-17
         4          2         52  104857600        512          1 NO  CURRENT                5673778 06-OCT-17      2.8147E+14
         5          2         50  104857600        512          1 YES INACTIVE               5671725 06-OCT-17         5671860 06-OCT-17
         6          2         51  104857600        512          1 YES INACTIVE               5671860 06-OCT-17         5673778 06-OCT-17

另外這里的例子是ASM,默認(rèn)指定了路徑,如果是恢復(fù)到不同路徑,可以使用set newname,如下:

run{
allocate channel t1 type disk ;
allocate channel t2 type disk ;
set newname for datafile '/oradata/bbed/system01.dbf' to '/oradata/test/system01.dbf';
set newname for datafile '/oradata/bbed/sysaux01.dbf' to '/oradata/test/sysaux01.dbf';
set newname for datafile '/oradata/bbed/undotbs01.dbf' to '/oradata/test/undotbs01.dbf';
set newname for datafile '/oradata/bbed/users01.dbf' to '/oradata/test/users01.dbf';
set newname for datafile '/oradata/bbed/example01.dbf' to '/oradata/test/example01.dbf';
restore database;                                   
switch datafile all;
release channel t1;
release channel t2;
}

9. 注冊O(shè)CR并打開備庫

srvctl add database -d oradb -o $ORACLE_HOME
srvctl add instance -d oradb -i oradb1 -n oradg1
srvctl add instance -d oradb -i oradb2 -n oradg2

SYS@oradb1>shutdown immediate
$ srvctl start database -d oradb -o 'read only'

10. 備庫應(yīng)用日志

SYS@oradb1>alter database recover managed standby database using current logfile disconnect from session;

11. 檢查角色和保護(hù)等級

SYS@oradb1>select protection_mode, protection_level, database_role role, switchover_status from v$database;

PROTECTION_MODE      PROTECTION_LEVEL     ROLE             SWITCHOVER_STATUS
-------------------- -------------------- ---------------- --------------------
MAXIMUM PERFORMANCE  MAXIMUM PERFORMANCE  PRIMARY          TO STANDBY

SYS@oradb1>select protection_mode, protection_level, database_role role, switchover_status from v$database;

PROTECTION_MODE      PROTECTION_LEVEL     ROLE             SWITCHOVER_STATUS
-------------------- -------------------- ---------------- --------------------
MAXIMUM PERFORMANCE  MAXIMUM PERFORMANCE  PHYSICAL STANDBY NOT ALLOWED

12. 處理遺留問題

ASMCMD [+datadg] > cd oradb_s
ASMCMD [+datadg/oradb_s] > ls -l
Type           Redund  Striped  Time             Sys  Name
                                                 Y    CONTROLFILE/
                                                 Y    DATAFILE/
                                                 Y    ONLINELOG/
                                                 Y    TEMPFILE/
                                                 N    spfileoradb.ora => +DATADG/DB_UNKNOWN/PARAMETERFILE/SPFILE.256.956694647

生成PFILE,停日志應(yīng)用

create pfile='/home/oracle/init_s.ora' from spfile;
alter database recover managed standby database cancel;

停庫

srvctl stop database -d oradb

重新創(chuàng)建SPFILE

startup nomount pfile='/home/oracle/init_s.ora';
create spfile='+DATADG/oradb_s/spfileoradb.ora' from pfile='/home/oracle/init_s.ora';
shutdown immediate

srvctl start database -d oradb -o 'read only'

啟用日志應(yīng)用

alter database recover managed standby database using current logfile disconnect from session;

驗(yàn)證

ASMCMD [+datadg/oradb_s] > ls -l
Type           Redund  Striped  Time             Sys  Name
                                                 Y    CONTROLFILE/
                                                 Y    DATAFILE/
                                                 Y    ONLINELOG/
                                                 Y    PARAMETERFILE/
                                                 Y    TEMPFILE/
                                                 N    spfileoradb.ora => +DATADG/ORADB_S/PARAMETERFILE/spfile.256.956699423
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,748評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,165評論 3 414
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,595評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,633評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,435評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,943評論 1 321
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,035評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,175評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,713評論 1 333
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,599評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,788評論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,303評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,034評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,412評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,664評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,408評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,747評論 2 370

推薦閱讀更多精彩內(nèi)容