ผู้ดูแลฐานข้อมูล

ถามตอบสำหรับผู้เชี่ยวชาญด้านฐานข้อมูลที่ต้องการพัฒนาทักษะฐานข้อมูลและเรียนรู้จากผู้อื่นในชุมชน

1
DBA วันแรกในงานใหม่ - ตรวจสอบข้อมูลสำรองและความปลอดภัย - อย่างไร ควรตรวจสอบอะไรอีก
โดยทั่วไปเมื่อฉันเริ่มต้นในสภาพแวดล้อมใหม่ฉันมักจะตรวจสอบที่มีการสำรองข้อมูลเมื่อเต็มล่าสุดถูกนำมาใช้เมื่อมีการคืนค่าครั้งล่าสุดและฉันตรวจสอบความปลอดภัยด้วย วิธีที่ฉันทำคือผ่าน T-SQL ตรวจสอบข้อมูลสำรอง ;with Radhe as ( SELECT @@Servername as [Server_Name], B.name as Database_Name, ISNULL(STR(ABS(DATEDIFF(day, GetDate(), MAX(Backup_finish_date)))), 'NEVER') as DaysSinceLastBackup, ISNULL(Convert(char(11), MAX(backup_finish_date), 113)+ ' ' + CONVERT(VARCHAR(8),MAX(backup_finish_date),108), 'NEVER') as LastBackupDate ,BackupSize_GB=CAST(COALESCE(MAX(A.BACKUP_SIZE),0)/1024.00/1024.00/1024.00 AS NUMERIC(18,2)) ,BackupSize_MB=CAST(COALESCE(MAX(A.BACKUP_SIZE),0)/1024.00/1024.00 AS NUMERIC(18,2)) ,media_set_id = MAX(A.media_set_id) ,[AVG Backup Duration]= AVG(CAST(DATEDIFF(s, A.backup_start_date, A.backup_finish_date) AS int)) ,[Longest Backup …

2
Superuser ไม่ได้รับอนุญาตให้เข้าสู่ระบบ
ฉันสร้างพอร์ทัล superuser ด้วยคำสั่งต่อไปนี้ create role portal with superuser password 'portal' เมื่อฉันพยายามที่จะเข้าสู่ postgres กับผู้ใช้พอร์ทัลฉันได้รับข้อผิดพลาดต่อไปนี้ในทางรถไฟ FATAL: role "portal" is not permitted to log in ฉันไม่สามารถติดตามสิ่งที่เกิดขึ้นได้ แน่นอนฉันสามารถเปลี่ยนผู้ใช้ด้วยคำสั่งเข้าสู่ระบบเพื่อให้ผู้ใช้พอร์ทัลเข้าสู่ระบบ ฉันต้องการที่จะเข้าใจว่าทำไมผู้ใช้ขั้นสูงไม่สามารถเข้าสู่ระบบได้
32 postgresql 


1
ประสิทธิภาพที่แปลกประหลาดมากกับดัชนี XML
คำถามของฉันเป็นไปตามนี้: https://stackoverflow.com/q/35575990/5089204 เพื่อให้คำตอบนั้นฉันได้ทำการทดสอบสถานการณ์ต่อไปนี้ สถานการณ์การทดสอบ ก่อนอื่นฉันจะสร้างตารางทดสอบและเติมเต็ม 100.000 แถว ตัวเลขสุ่ม (0 ถึง 1,000) ควรนำไปสู่ ​​~ 100 แถวสำหรับแต่ละหมายเลขสุ่ม หมายเลขนี้ถูกใส่ในคอลัมน์ varchar และเป็นค่าใน XML ของคุณ จากนั้นฉันจะโทรเช่น OP มีความต้องการด้วย. exist () และ. nodes () โดยมีข้อได้เปรียบเล็กน้อยสำหรับวินาที แต่ทั้งคู่ใช้เวลา 5 ถึง 6 วินาที ในความเป็นจริงฉันทำการโทรสองครั้ง: ครั้งที่สองในลำดับที่สลับกันและเปลี่ยนการค้นหาเล็กน้อยและใช้ "// item" แทนพา ธ เต็มเพื่อหลีกเลี่ยงผลบวกปลอมผ่านผลลัพธ์หรือแผนแคช จากนั้นฉันจะสร้างดัชนี XML และทำการโทรเดียวกัน ตอนนี้ - อะไรทำให้ฉันประหลาดใจจริงๆ! - the .nodeswith …

4
วิธีที่ดีที่สุดในการอัพเกรดอินสแตนซ์ RDS ที่ผลิตคืออะไร
ฉันมีอินสแตนซ์ RDS MySQL ขนาดเล็กซึ่งเป็นส่วนหนึ่งของระบบการผลิตของฉันและฉันต้องการอัพเกรดเป็นอินสแตนซ์ขนาดกลางที่มี IOPS ที่ให้มา ในฐานะ DBA โรงเรียนเก่าฉันทราบเกี่ยวกับวิธี "เพิ่มทาส; เลื่อนระดับเป็นหลัก; เปลี่ยนลูกค้า" แต่ AWS สัญญาว่าจะให้บริการเส้นทางการอัปเกรดด้วยคลิกเดียวเช่น "อัปเกรดอินสแตนซ์" "เพิ่ม IOPS ที่จัดเตรียมไว้" ลองสิ่งนี้กับอินสแตนซ์ทดสอบ RDS การหยุดทำงานนานเกินไป IMHO: ประมาณ 5 นาทีสำหรับการอัพเกรดขนาดเล็ก -> ขนาดกลางและ 30 นาที (!!!) สำหรับการเปลี่ยนเป็น IOPS ที่ให้มา นี่เป็นพฤติกรรมปกติหรือไม่ มีวิธีใดบ้างที่จะเรียกใช้การอัปเกรดจาก RDS ที่ใช้งานจริงซึ่งไม่มีการหยุดทำงานหรือไม่ คุณแนะนำ "หยุดสร้างสแนปชอตคืนค่าจากสแน็ปช็อตไปเป็นอินสแตนซ์ที่ใหญ่กว่า" หรือไม่?
32 mysql  amazon-rds 

3
สามารถตั้งค่า Listen_addresses เป็นรายการได้จริงหรือ
ฉันมี VM ที่มีที่อยู่ IP 192.168.0.192 กำลังเรียกใช้ postgreSQL ถ้าฉันระบุ listen_addresses = '*' จากนั้นฉันสามารถเชื่อมต่อจาก VM อื่นที่ 192.168.0.191 และจาก localhost แต่ฉันไม่สามารถใช้รายการเพื่อบอก postgreSQL ให้ใช้ที่อยู่ทั้งสองนั้นได้ หากฉันเปลี่ยน Listen_addresses เป็นรายการ: listen_addresses = '192.168.0.191, localhost' ฉันจะไม่สามารถเชื่อมต่อจาก 192.168.0.191 อีกต่อไป ฉันสังเกตเห็นว่าตัวอย่างเกือบทั้งหมดใน stackexchange ตั้งค่า Listen_addresses เป็น '*' นี่เป็นเพราะแบบฟอร์มรายการไม่ทำงานหรือไม่
32 postgresql 

2
ตัวเลือกใดมีประสิทธิภาพมากกว่า: เลือกจากเซิร์ฟเวอร์ที่เชื่อมโยงหรือแทรกลงในเซิร์ฟเวอร์ที่เชื่อมโยง
สมมติว่าฉันต้องส่งออกข้อมูลจากเซิร์ฟเวอร์หนึ่งไปยังเซิร์ฟเวอร์อื่น (ผ่านเซิร์ฟเวอร์ที่เชื่อมโยง) ข้อความใดจะมีประสิทธิภาพมากขึ้น การดำเนินการในเซิร์ฟเวอร์ต้นทาง: INSERT INTO [DestinationLinkedServer].[DestinationDB].[dbo].[Table] SELECT a, b, c, ... FROM [dbo].Udf_GetExportData() หรือดำเนินการในเซิร์ฟเวอร์เป้าหมาย: INSERT INTO [dbo].[Table] SELECT a, b, c, ... FROM OPENQUERY([OriginLinkedServer], 'SELECT a, b, c, ... FROM [OriginDB].[dbo].Udf_GetExportData()') อันไหนจะเร็วกว่าและใช้ทรัพยากรน้อยลง (ทั้งเซิร์ฟเวอร์ต้นทางและเซิร์ฟเวอร์เป้าหมาย) เซิร์ฟเวอร์ทั้งสองเป็น SQL Server 2005

3
หน่วยความจำ SQL Server Express และ CPU จำกัด ต่ออินสแตนซ์หรือไม่
ถ้าฉันมี RAM 8GB ในเซิร์ฟเวอร์และฉันเรียกใช้อินสแตนซ์ 4 รายการของ SQL Server Express ขีด จำกัด หน่วยความจำทั้งหมดที่ใช้โดย SQL Server จะเป็น 1GB หรือ 4GB หรือไม่ ขอแนะนำให้เรียกใช้หลาย ๆ กรณีเช่นนี้เพื่อให้แต่ละฐานข้อมูลใช้ทรัพยากรได้ดีขึ้นหรือไม่ (สมมติว่าเซิร์ฟเวอร์มีทรัพยากรมากมาย)

6
ทำไมฐานข้อมูลไม่สร้างดัชนีของตนเองโดยอัตโนมัติ
ฉันคิดว่าฐานข้อมูลจะรู้มากพอเกี่ยวกับสิ่งที่พวกเขาพบบ่อยและสามารถตอบสนองต่อความต้องการที่อยู่ภายใต้การที่พวกเขาสามารถตัดสินใจที่จะเพิ่มดัชนีลงในข้อมูลที่มีการร้องขอสูง
32 index  rdbms 

6
วิธีอัปเดต 10 ล้านแถวใน MySQL ตารางเดียวเร็วที่สุด
ใช้ MySQL 5.6 กับเครื่องมือจัดเก็บข้อมูล InnoDB สำหรับตารางส่วนใหญ่ ขนาดบัฟเฟอร์พูล InnoDB คือ 15 GB และดัชนี Innodb DB + มีขนาดประมาณ 10 GB เซิร์ฟเวอร์มี RAM 32GB และใช้งาน Cent OS 7 x64 ฉันมีตารางใหญ่หนึ่งตารางที่มีเร็กคอร์ดประมาณ 10 ล้านรายการ ฉันได้รับไฟล์ดัมพ์ที่อัปเดตจากเซิร์ฟเวอร์ระยะไกลทุก 24 ชั่วโมง ไฟล์อยู่ในรูปแบบ csv ฉันไม่สามารถควบคุมรูปแบบนั้นได้ ไฟล์นี้มีขนาด ~ 750 MB ฉันพยายามแทรกข้อมูลลงในตาราง MyISAM แบบแถวต่อแถวและใช้เวลา 35 นาที ฉันต้องใช้เพียง 3 ค่าต่อบรรทัดจาก 10-12 จากไฟล์และอัปเดตในฐานข้อมูล อะไรคือวิธีที่ดีที่สุดในการบรรลุสิ่งนี้ …

1
ฉันจะแนบฐานข้อมูลใน SQL Server ได้อย่างไร
คำถามทั่วไปที่เกี่ยวข้องกับการแนบฐานข้อมูลใน SQL Server: การแนบหรือแยกฐานข้อมูลหมายความว่าอย่างไร ฉันจะแยกฐานข้อมูลได้อย่างไร ฉันจะแนบฐานข้อมูลได้อย่างไร การแนบและสร้างบันทึกใหม่หมายความว่าอย่างไร ฉันจะทำอย่างไรใน SQL Server Express ฉันจะพิจารณาถอดและติดตั้งเมื่อใด มีความเสี่ยงหรือคำเตือนหรือไม่? แล้วการเชื่อมต่อระหว่าง SQL Server กับรุ่นต่าง ๆ ล่ะ? (มาตรฐานสู่องค์กร? 2000 ถึง 2008? 2012 ถึง 2008?)
32 sql-server 

5
เทคโนโลยีฐานข้อมูลใดที่เครื่องมือค้นหาขนาดใหญ่ใช้ [ปิด]
ไม่มีใครรู้ว่า Google หรือ Yahoo ทำการค้นหาคำหลักอย่างไรกับข้อมูลจำนวนมหาศาลมาก? พวกเขาใช้ฐานข้อมูลหรือเทคโนโลยีประเภทใด ใช้เวลาไม่กี่มิลลิวินาที แต่มีดัชนีมากกว่าพันล้านหน้า

3
มันเป็นความคิดที่ดี / วิธีการจัดทำดัชนีคอลัมน์ VARCHAR?
เรากำลังใช้ PostgreSQL v8.2.3 มีตารางที่เกี่ยวข้อง: พนักงานและEMAILLIST Table 1: EMPLOYEE (column1, column2, email1, email2, column5, column6) Table 2: EMAILLIST (email) มีการรวม 2 ตารางเข้าด้วยกันซึ่งหาก EMPLOYEE.EMAIL1 หรือ EMPLOYEE.EMAIL2 ไม่ได้เข้าคู่กันแถวเหล่านั้นจะถูกส่งกลับ SELECT employee.email1, employee.email2, e1.email IS NOT NULL AS email1_matched, e2.email IS NOT NULL AS email2_matched FROM employee LEFT JOIN emaillist e1 ON e1.email = employee.email1 …

2
ฉันจะหาแบบฝึกหัดการปรับฐานข้อมูลสำหรับการเรียนรู้ได้ที่ไหน
ในฐานะนักพัฒนาซอฟต์แวร์ DBA มักจะรับผิดชอบในการแก้ไขปัญหาประสิทธิภาพในระดับฐานข้อมูลดังนั้นเราจึงไม่ได้รับประสบการณ์มากนักในการวินิจฉัยปรับจูนสอบถามซ้ำอีกครั้ง ฉันกำลังมองหาฐานข้อมูลที่มีตารางข้อมูลคิวรีทริกเกอร์ SPs และอื่น ๆ ซึ่งมีปัญหาด้านประสิทธิภาพโดยเจตนาและหวังว่าจะมีชุดของแบบฝึกหัดที่คุณพยายามระบุและแก้ไขปัญหา เป็นการดีที่จะอยู่บนเซิร์ฟเวอร์ MS SQL ใครรู้เรื่องนี้บ้าง

2
ในฐานะ DBA ฉันจะเปลี่ยนจาก Oracle เป็น SQL Server ได้อย่างไร
ฉันเป็น Oracle DBA ที่มีประสบการณ์ Sybase ด้วย อะไรคือความแตกต่างทางสถาปัตยกรรมและแนวคิดที่สำคัญระหว่างสองแพลตฟอร์ม RDBMS? คำตอบที่คล้ายกับ SQL Server-> คำถาม Oracle ที่นี่จะใช้งานมากที่สุด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.